KR100728745B1 - A pos system using unification meddle ware based on peer to peer - Google Patents

A pos system using unification meddle ware based on peer to peer Download PDF

Info

Publication number
KR100728745B1
KR100728745B1 KR1020050028439A KR20050028439A KR100728745B1 KR 100728745 B1 KR100728745 B1 KR 100728745B1 KR 1020050028439 A KR1020050028439 A KR 1020050028439A KR 20050028439 A KR20050028439 A KR 20050028439A KR 100728745 B1 KR100728745 B1 KR 100728745B1
Authority
KR
South Korea
Prior art keywords
peer
terminal
server
talk
pos
Prior art date
Application number
KR1020050028439A
Other languages
Korean (ko)
Other versions
KR20060107012A (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 KR1020050028439A priority Critical patent/KR100728745B1/en
Publication of KR20060107012A publication Critical patent/KR20060107012A/en
Application granted granted Critical
Publication of KR100728745B1 publication Critical patent/KR100728745B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Abstract

본 발명은 피어 투 피어 기반의 통합 미들웨어를 이용한 포스(POS, Point of Sale) 시스템에 관한 것으로서, 포스 시스템을 구성하는 모든 단말기를 동일한 피어로 간주하고 각 피어들의 통신이 피어 투 피어(Peer to Peer) 기반하에서 이루어지도록 하는 한편, 각 피어 마다 서버 영역과 클라이언트 영역을 갖도록 함으로써 피어들로의 자원의 분산 및 분산된 자원의 이용, 자유로운 이벤트/메시지 송수신, 원격 모니터링 및 업데이트, 데이터베이스 핸들링 등의 다양한 기능을 일원화하여, 유연하게 발주/재고/주문을 관리하는 유통 시스템에 관한 것이다.The present invention relates to a point-of-sale (POS) system using peer-to-peer-based integrated middleware, wherein all terminals constituting the POS system are regarded as the same peer, and communication of each peer is peer-to-peer. On the other hand, each peer has a server area and a client area, so that various functions such as the distribution of resources to and use of distributed resources, free event / message transmission, remote monitoring and updating, and database handling are available. It is related to a distribution system for unified management of orders, inventory, and order flexibly.

포스 시스템(POS SYSTEM), P2P, 통합 미들웨어, 컴포넌트, 어플리케이션, 데이터베이스 핸들링, 업데이트, 원격, 모바일 디바이스 POS SYSTEM, P2P, Integrated Middleware, Components, Applications, Database Handling, Updates, Remote, Mobile Devices

Description

피어 투 피어 기반의 통합 미들웨어를 이용한 포스 시스템{A POS SYSTEM USING UNIFICATION MEDDLE WARE BASED ON PEER TO PEER}POS system using integrated middleware based on peer-to-peer {A POS SYSTEM USING UNIFICATION MEDDLE WARE BASED ON PEER TO PEER}

도 1은 본 발명의 X-Talk 프로토콜 기반의 데이터 패킷 포맷의 기본적인 구성을 나타내는 도면이다. 1 is a diagram showing the basic configuration of a data packet format based on the X-Talk protocol of the present invention.

도 2는 본 발명의 X-Talk 클라이언트(X-Talk 컴포넌트를 내장한 어플리케이션) 간에 이루어지는 통신의 패킷 구조를 개략적으로 나타낸 도면이다.2 is a diagram schematically showing a packet structure of communication between X-Talk clients (applications with X-Talk components embedded) of the present invention.

도 3은 본 발명의 X-Talk Peer ID와 피어 Code의 매핑에 대한 개략적인 구성을 나타낸 도면이다.3 is a diagram illustrating a schematic configuration for mapping an X-Talk Peer ID and a peer code of the present invention.

도 4는 본 발명의 Peer ID Code의 비트구성을 개략적으로 나타낸 도면이다. 4 is a diagram schematically showing a bit structure of a Peer ID code of the present invention.

도 5는 본 발명의 X-Talk 컴포넌트의 개략적인 구성도이다.5 is a schematic structural diagram of an X-Talk component of the present invention.

도 6은 본 발명의 인터페이스 구조를 개략적으로 나타낸 도면이다.6 is a view schematically showing the interface structure of the present invention.

도 7은 본 발명의 일 실시예로서 X-Talk에서의 기본 Service Request and Reply 프로세스를 나타낸 플로우도이다.7 is a flowchart illustrating a basic Service Request and Reply process in X-Talk as an embodiment of the present invention.

도 8은 본 발명의 실시예에 따라 목적지 피어 B로부터 출발지 피어 A에게로 Return Event/Return Data를 전송하는 프로세스에 대한 개략적인 플로우도이다.8 is a schematic flow diagram of a process for transmitting Return Event / Return Data from a destination peer B to a source peer A in accordance with an embodiment of the present invention.

도 9는 출발지 피어 A의 어플리케이션에서 목적지 피어 B의 어플리케이션으로 Event/Message를 전송할 때의 개략적인 과정에 대한 플로우도이다.FIG. 9 is a flowchart illustrating a schematic process of transmitting an Event / Message from an application of a source peer A to an application of a destination peer B. Referring to FIG.

도 10은 세 개의 피어가 있는 경우의 본 발명에 따른 파일 전송의 개략적인 의미를 나타낸 도면이다.FIG. 10 is a diagram illustrating a schematic meaning of file transfer according to the present invention when there are three peers.

도 11은 위 도 10의 다른 실시형태를 나타낸 도면이다.FIG. 11 is a diagram showing another embodiment of FIG. 10.

도 12는 위 도 10의 피어 A에서 피어 B에 명령하여 피어 B의 file을 피어 C에 전송하고자 할 때의 개략적인 전체 프로세스를 나타낸 플로우도이다.FIG. 12 is a flowchart illustrating the overall overall process when the peer A of FIG. 10 wants to instruct the peer B to transfer the file of the peer B to the peer C.

도 13은 피어 상호 간에 자유로운 Database 핸들링에 관한 개략적인 프로세스를 나타낸 플로우도이다13 is a flow diagram illustrating a schematic process for free database handling between peers.

도 14는 본 발명의 B-Server의 개략적인 구성을 나타낸 구성도이다.14 is a configuration diagram showing a schematic configuration of a B-Server of the present invention.

도 15는 본 발명을 B-Server의 관점에서 바라본 개략적인 시스템 구성도이다.15 is a schematic system configuration view of the present invention from the perspective of a B-Server.

도 16은 본 발명에 따른 X-Talk 컴포넌트가 내장된 포스 단말기로 이루어진 포스 시스템의 개략적인 구성을 나타낸 도면이다.16 is a view showing a schematic configuration of a force system consisting of a force terminal with a built-in X-Talk component according to the present invention.

도 17은 위 도 16을 포스 단말의 관점에서 바라본 실시형태를 나타낸 도면이다.FIG. 17 is a diagram illustrating an embodiment of FIG. 16 viewed from the perspective of a force terminal.

도 18은 확장된 포스 시스템의 개념을 나타낸 도면이다.18 is a diagram illustrating the concept of an extended force system.

도 19는 확장된 포스 시스템의 또 다른 실시형태를 나타낸 도면이다.19 shows another embodiment of an extended force system.

본 발명은 피어 투 피어 기반의 통합 미들웨어를 이용한 판매시점 관리 시스 템, 즉 포스(POS, Point of Sale) 시스템에 관한 것으로서, 보다 구체적으로는 포스 시스템을 구성하는 모든 단말기를 동일한 피어로 간주하고 각 피어들의 통신이 피어 투 피어(Peer to Peer) 기반하에서 이루어지도록 하는 한편, 각 피어 마다 서버 영역과 클라이언트 영역을 갖도록 함으로써 피어들로의 자원의 분산 및 분산된 자원의 이용, 자유로운 이벤트/메시지 송수신, 원격 모니터링 및 업데이트, 데이터베이스 핸들링 등의 다양한 기능을 일원화하여, 유연하게 발주/재고/주문을 관리하는 유통 시스템에 관한 것이다.The present invention relates to a point-of-sale management system using a peer-to-peer based integrated middleware, that is, a point of sale (POS) system. More specifically, all terminals constituting the POS system are regarded as the same peer. Allow peers to communicate on a peer-to-peer basis, while each peer has a server domain and a client domain, so that resources can be distributed to and used by peers, free event / message transmission, The present invention relates to a distribution system that flexibly manages orders, inventory, and orders by unifying various functions such as remote monitoring and updating and database handling.

본 발명의 기술사상을 더욱 잘 이해하기 위해서, 기초적인 네트워크 구성에 관한 일반적인 접근 및 그에 대한 고찰이 필요하다.In order to better understand the technical idea of the present invention, a general approach to basic network configuration and a consideration thereof are required.

일반적으로 네트워크들은 클라이언트-서버(C/S) 구조나 피어-투-피어(P2P) 구조를 갖는 것으로 분류될 수 있다. P2P 기반의 네트워크에서, 하나의 디바이스 또는 네트워크 노드(node)는 피어(peer)로 간주되며, 각 피어들은 서로 직접 통신할 수도 있어 중앙 네트워크 구조가 요구되지 않으며, 이들 피어들은 또한 서로 협조하여 서비스와 자원을 서로 공유하므로, 소위 말하는 피어-그룹을 형성한다. 또한, 피어들은 어느 때나 네트워크에 연결될 수 있거나 네트워크로부터 분리될 수 있으며, 그 시스템에 임의로 결합하기도 하고 탈퇴하기도 하며, 또는 피어-그룹들은 분리되거나 합쳐지는 특성을 갖기 때문에 다이내믹한 네트워크를 형성할 수 있다. 반면에 클라이언트-서버의 네트워크 구조는 네트워크를 통합적으로 관리, 조정할 수 있는 장점이 있으며, 이러한 장점은 기술적인 면 뿐만 아니라 비즈니스 관점에서는 유용하게 활용된다.In general, networks may be classified as having a client-server (C / S) structure or a peer-to-peer (P2P) structure. In a P2P-based network, one device or network node is considered a peer, and each peer may communicate directly with each other, requiring no central network structure, and these peers also cooperate with each other to provide services and services. Since resources are shared with each other, so-called peer-groups are formed. In addition, peers can be connected to or disconnected from the network at any time, can arbitrarily join and leave the system, or can form a dynamic network because peer-groups have the property of being separated or merged. . On the other hand, the network structure of the client-server has the advantage of managing and coordinating the network in an integrated manner, which is useful not only in terms of technology but also in terms of business.

그런데 이러한 네트워크들의 구성에 있어서, 각 서버와 클라이언트들이 다른 통신체계를 갖고 있다거나 서로 다른 이기종 디바이스인 경우에는 통일된 통신 체계를 만들기 위한 솔루션이 필요하다는 문제점이 있으며, 특히 어플리케이션의 복잡성과 다양성을 갖고 있는 모바일 디바이스의 경우에는 통합 미들웨어를 설계하여 정교한 네트워크를 구성하는 데 어려움이 있다.However, in the configuration of these networks, if each server and client has a different communication system or different heterogeneous devices, there is a problem in that a solution for creating a unified communication system is needed. In the case of mobile devices, it is difficult to design integrated middleware to form a sophisticated network.

POS 시스템은 판매시점의 관리 및 재고관리를 수행하는 시스템으로 이해되기도 하며, 유통과 관련된 모든 정보를 컴퓨터를 이용하여 관리, 계획함으로써 제품의 구매와 재고에 대한 손실을 최소화시키고 유통을 원활하게 하며 시간과 비용을 절감하는 시스템이다.POS system can be understood as a system that manages point of sale and inventory management, and manages and plans all information related to distribution by computer, minimizing the purchase of products and loss of stock, smoothing distribution and time. And cost-saving system.

그런데 이러한 POS 시스템 자체는 다이내믹한 네트워크로서 유연성과 확장성이 매우 중요하게 고려되어야 함에도 불구하고, 종래의 시스템은 중앙 관리 시스템과 POS 단말 간의 클라이언트-서버 네트워크로서, 각 점포의 데이터베이스는 중앙 서버를 통해 제어되며, 중앙 서버가 각 점포의 클라이언트를 효율적으로 관리하는데에는 장점은 있으나, 각 점포의 클라이언트들이 자율적으로 능동적으로 작업을 수행하는데 있어서는 기술적으로 비효율적인 면이 있었다. 나아가 오늘날 유통망이 단일 품목군으로 한정되지 않고 취급하는 품목이 다변화되고 있는 상황에서 서로 다른 네트워크로서 독립적으로 구성되었던 A 품목에 관한 A 유통망과 B 품목에 관한 B 유통망이 급변하는 시장의 변화에 따라 단일한 네트워크로 확장될 필요성이 대두하고 있으나 종래의 시스템은 이러한 환경변화에 저렴한 비용으로 신속하게 어플리케이션을 구현하여 대응하기 어려웠다.However, although such a POS system itself is a dynamic network, flexibility and scalability must be considered very important, the conventional system is a client-server network between the central management system and the POS terminal, the database of each store through a central server Although it is controlled and the central server manages the clients of each store efficiently, there is a technical inefficiency in managing the clients of each store autonomously and actively. Furthermore, in today's world, the distribution network is not limited to a single item group, but the items handled are diversified. Although there is a need to expand to a network, conventional systems have been difficult to respond to such environmental changes by quickly implementing applications at low cost.

한편, 본 발명가는 POS 시스템 구축에 있어서, 보다 효율적인 네트워크 구성을 위하여 클라이언트/서버 네트워크 모델과 피어 투 피어 모델을 결부시키고자 하였으며, 이를 위해서는 각각의 클라이언트/서버 어플리케이션의 언어를 고려해야 함과 아울러 기존의 클라이언트/서버 어플리케이션과 피어 투 피어 어플리케이션의 정보교환 프로그래밍 또는 솔루션이 필요하다는 점을 확인하였는바, 이때 각 포스 시스템의 운영목적 및 성격에 맞게 필요한 서비스에 최적화된 솔루션을 다시 개발하여야 하는 문제점이 대두하였다.In the meantime, the present inventors have attempted to associate a client / server network model and a peer-to-peer model for a more efficient network configuration in a POS system construction. It was confirmed that the information exchange programming or solution of client / server application and peer-to-peer application is needed. At this time, the problem of re-developing a solution optimized for the required service according to the operation purpose and characteristics of each POS system has emerged. .

나아가 네트워크의 효율성을 위하여 네트워크 내에서의 각 피어들은 피어들 상호 간의 데이터베이스를 원격에서 핸들링할 수 있도록 구성되어야 하는데, Background 어플리케이션과 Front-end 어플리케이션과의 인터페이스를 구현하여야 하며, 이때 각 피어들 마다 Background DB Handling 어플리케이션을 새롭게 개발하여야 하는 문제점이 있었다.Furthermore, for the efficiency of the network, each peer in the network should be configured to handle the database between peers remotely. The interface between the background application and the front-end application must be implemented. There was a problem in developing a new DB Handling application.

더욱이 각 피어의 디바이스가 PDA나 휴대폰과 같은 모바일 디바이스인 경우에는, 기본적인 P2P 개념 구현 자체가 어려웠으며, 정교한 코딩에 수반되는 인력자원이 막대하게 요구되었을 뿐만 아니라 각각의 피어의 디바이스가 운전되는 OS에서의 동작 표준화에 어려움이 있었기 때문에, 모바일 환경에서 P2P 기반의 포스 시스템에 클라이언트/서버 네트워크를 결합한다는 것은 대단히 곤란한 문제로 지적되었다. Moreover, when each peer's device is a mobile device such as a PDA or a mobile phone, the implementation of the basic P2P concept itself was difficult, and not only the human resources required for sophisticated coding were enormously required, but also the OS in which each peer's device was operated. Because of the difficulty in standardizing the behavior of a client, it is pointed out that combining a client / server network with a P2P based POS system in a mobile environment is very difficult.

위와 같은 문제점을 해결하기 위하여, 본 발명의 목적은, POS 시스템을 구성 하는 각 구성요소들, 즉 각 점포의 디바이스(피어)간의 통신이 단순히 관리서버를 통해 이루어지는 것이 아니라, 각 점포의 디바이스가 가지고 있는 데이터베이스의 공유나 배분, 데이터베이스의 자유로운 핸들링 등 다양한 기능이 각 점포의 디바이스간에 이루어질 수 있는 기반 네트워킹 기술을 제공함으로써 능동적이고 유연한 포스 시스템을 구현함에 있으며, 이 경우 중앙 관리 서버도 동등한 피어로서 구성된다.In order to solve the above problems, an object of the present invention, the communication between each component constituting the POS system, that is, the device (peer) of each store is not simply through the management server, but the device of each store has By providing the basic networking technology that various functions such as sharing or distributing existing database and free handling of database can be made between devices of each store, it implements active and flexible POS system. In this case, the central management server is configured as an equal peer. .

이러한 기술적인 목적을 통하여 실질적으로 POS 시스템과 연결되는 점포의 디바이스, 예컨대 PDA나 휴대폰은 해당 상품의 재고 유무 및 재고량을 즉각 확인할 수 있으며, 중앙 관리 서버를 경유하지 않고서도 바로 재고 관리 PDA 단말기로부터 즉시 정보를 읽어 전송받을 수 있도록 하여 POS 시스템의 생산성을 높이는 데 기여하고자 한다.Through this technical purpose, a device, such as a PDA or a mobile phone, which is practically connected to a POS system, can immediately check whether the product is in stock and the amount of stock, and immediately from an inventory management PDA terminal without going through a central management server. It is intended to contribute to increasing the productivity of POS systems by reading and receiving information.

위와 같은 목적을 달성하기 위하여, 첫째 Slim-Sized Solution에서부터 Large Legacy Solution에 독립적으로 혹은 유연하게 결합할 수 있는 미들웨어(Middleware)가 필요하다는 점, 둘째 대부분의 모바일 디바이스가 Thin Client로서의 역할에 한정되어 있는데 반해, 향후 예상되는 모바일 디바이스의 고성능화를 고려할 때 미리 예견되는 어플리케이션의 복잡성과 다양성은 보다 정교한 개발환경을 요구하고 있으며, 이에 개발자가 이러한 급속한 개발환경 변화에 쉽게 적응하면서도 시장에서의 요구수준에 적응하는 것을 돕는 도구로서의 미들웨어가 역할을 하도록 개발해야 한다는 점, 셋째 미들웨어가 ISV(Independent Software Vendor)나 SI(System Integration) Partner의 다양한 어플리케이션에 적용되기 위해서는 개발 코스트 측면에서 부담을 느끼지 않도록 하는 게 필수이므로, 개발된 미들웨어는 간결한 구조로 구성되어 다수의 복합 구조를 가지는 여타의 시스템에 비하여 가격적인 장점을 가져야 한다는 점을 고려하게 되었다.In order to achieve the above objectives, first, the need for middleware that can be independently or flexibly combined with the slim legacy solution to the large legacy solution, and secondly, most mobile devices are limited to their role as thin clients. On the other hand, given the anticipated high performance of mobile devices, the complexity and diversity of applications that are foreseen in the future require a more sophisticated development environment. Therefore, developers can easily adapt to such rapid development environment changes while adapting to the market demand level. The middleware should be developed to serve as a tool to help. Third, it is essential that the middleware is not burdened in terms of development cost in order to be applied to various applications of an independent software vendor (ISV) or system integration (SI) partner. dog The middleware has been considered that it consists of a compact structure, have a price advantage compared to the other systems having a plurality of composite structures.

본 발명의 또 다른 목적들은 하기에 설명될 것이며, 이는 본 발명의 청구범위에 기재된 사항 및 그 실시예의 개시내용 뿐만 아니라, 이들로부터 용이하게 추고할 수 있는 범위 내의 수단 및 조합에 의해 더욱 넓은 범위로 포섭될 것이며, 본 발명의 특유한 효과에 대응될 것임을 첨언한다.Further objects of the present invention will be described below, which are intended to be in a broader scope by the means described in the claims of the present invention and the disclosure of the embodiments thereof, as well as means and combinations within the range that can be easily contemplated therefrom. It is to be noted that it will be subsumed and will correspond to the unique effects of the present invention.

위와 같은 목적을 달성하기 위하여, 본 발명은, 포스 시스템 어플리케이션이 탑재된 포스 단말 및 포스 서버간에 이루어지는 피어 투 피어(Peer to Peer) 기반의 포스 시스템으로서:In order to achieve the above object, the present invention is a peer-to-peer-based force system between the force terminal and the force server equipped with a force system application:

상기 포스 단말과 포스 서버를 포함한 N(N은 1보다 큰 정수)개의 피어 단말;N (N is an integer greater than 1) peer terminals including the force terminal and the force server;

상기 각각의 피어 단말 내에 컴포넌트로 구성되며, 포스 시스템의 발주/재고/주문 관리에 관한 통합된 서비스 자원을 포함하는 서버 영역과 네트워크 접속 및 서비스 요청 프로세스를 진행하는 클라이언트 영역으로 구분되는 통합 미들웨어 컴포넌트("X-Talk Component"); 및An integrated middleware component configured as a component in each peer terminal and divided into a server area including integrated service resources related to ordering / stocking / order management of a POS system and a client area performing a network connection and service request process. "X-Talk Component"); And

상기 피어 단말의 네트워크 접속시 고유한 피어 ID 코드를 부여하는 브릿징 서버(B-Server);를 포함하며, 각 피어 단말 간의 프로토콜이 어플리케이션 계층에 형성되는 것을 특징으로 한다.And a bridging server (B-Server) for assigning a unique peer ID code when the peer terminal connects to a network, and a protocol between each peer terminal is formed in an application layer.

본 발명의 피어 투 피어 기반의 통합 미들웨어를 이용한 포스 시스템에서의 상기 통합 미들웨어 컴포넌트는, 인터페이스를 통해 포스 시스템 어플리케이션과 연결되며,The integrated middleware component in the POS system using the peer-to-peer based integrated middleware of the present invention is connected to the POS system application through an interface,

피어 단말 간의 연결모듈로서 데이터 패킷이 송수신 되는 X-Talk P2P Connector 모듈;X-Talk P2P Connector module for transmitting and receiving data packets as a connection module between peer terminals;

상기 X-Talk P2P Connector 모듈을 통하여 데이터 패킷을 수신하며, 데이터 패킷을 분류하고 그 분류에 따라 프로세스를 결정하는 Packet Parser 모듈;A Packet Parser module for receiving a data packet through the X-Talk P2P Connector module, classifying the data packet and determining a process according to the classification;

상기 Packet Parser 모듈에서 분류된 데이터 패킷의 결과 데이터에 따라 명령전송과 데이터 처리방식을 결정하는 Sync. Coordinator 모듈;Sync for determining the command transmission and data processing method according to the result data of the data packet classified by the Packet Parser module. Coordinator module;

상기 Packet Parser로부터 전송된 상대방 피어 단말의 요청 서비스를 실행하는 X-Talk Server 모듈;An X-Talk Server module executing a request service of a peer peer terminal transmitted from the Packet Parser;

상대방 피어 단말의 요청 서비스를 실행할 때 필요한 컨텐츠를 포함하며, 피어 단말의 자원과 연결되는 통합 서비스 라이브러리 모듈; 및An integrated service library module including contents necessary for executing a request service of a peer peer terminal and connected to resources of the peer terminal; And

상대방 피어 단말의 정보를 상기 B-Server를 통해 검색하며 피어 ID를 부여하는 네이밍 모듈을 포함하여 이루어진다.And a naming module for retrieving information of the other peer terminal through the B-Server and assigning a peer ID.

또한, 상기 Sync. Coordinator 모듈은 Sync 전송인지 또는 Async 전송인지를 결정하며, The Sync. Coordinator module decides whether to send Sync or Async.

Sync 전송의 경우에는 제 1 피어 단말의 미리 결정된 대기 시간까지는 제 2 피어 단말에서 응답이 올 때까지 대기하며, Async 전송인 경우에는 제 2 피어 단말에게 명령을 전송한 다음에 대기하지 않고 곧바로 제어권을 제 1 피어 단말의 포스 시스템 어플리케이션으로 돌려주는 것이 바람직하다.In the case of a sync transmission, the second peer terminal waits until a response is received until a predetermined waiting time of the first peer terminal. In the case of an Async transmission, the control right is immediately transmitted without waiting after transmitting a command to the second peer terminal. It is preferable to return to the force system application of the first peer terminal.

한편, 상기 B-Server(제 1 B-Server)는 제 1 포스 시스템의 모든 피어의 인증 및 관리를 수행하며, 제 2 B-Server는 제 2 포스 시스템 또는 이종의 제 3 네트워크에 소속된 모든 피어의 인증 및 관리를 수행하고, 상호 네트워크의 연결이 이루어지는 경우에,Meanwhile, the B-Server (the first B-Server) performs authentication and management of all peers of the first force system, and the second B-Server is all peers belonging to the second force system or a heterogeneous third network. To perform authentication and management of the

상기 B-Server들은 각각 상대방 B-Server의 네트워크에 대한 게이트웨이의 역할을 수행하는 것은 본 발명의 또 다른 특징을 나타내준다.Each of the B-Servers serves as a gateway to the network of the other B-Server, which represents another feature of the present invention.

그리고, 본 발명은, 포스 서버 및 포스 단말을 포함한 포스 시스템의 각 피어 단말에는 포스 시스템의 발주/재고/주문 관리에 관한 통합 서비스 라이브러리를 구비한 통합 미들웨어 컴포넌트가 미리 설치되고, 각 피어 단말에 피어 ID 코드를 부여하며 인증을 수행하는 B-Server가 구비되며, 각 피어 단말 간의 통신이 통합 미들웨어 P2P Connector 모듈을 통해 이루어지는 네트워크 시스템을 기반으로 함을 특징으로 하여, 피어 투 피어 기반에서의 포스 시스템 구성방법으로서: In addition, in the present invention, each peer terminal of the POS system including the POS server and the POS terminal is pre-installed with an integrated middleware component having an integrated service library for ordering / stocking / order management of the POS system, and each peer terminal has a peer. A B-Server is provided to perform authentication by assigning an ID code, and the communication between each peer terminal is based on a network system made through an integrated middleware P2P connector module. As a method:

요청 피어인 제 1 피어 단말의 포스 시스템 어플리케이션을 매개로 인터페이스를 통해 통합 서비스의 특정 메쏘드(Method)를 호출하는 단계;Invoking a specific method of an integrated service through an interface through a force system application of a first peer terminal that is a requesting peer;

상기 B-Server에 접속하여 제 1 피어 단말의 피어 ID를 획득하는 단계;Accessing the B-Server to obtain a peer ID of a first peer terminal;

상기 제 1 피어 단말이 목적지 피어인 제 2 피어 단말로 특정 서비스의 요청명령을 전송하는 단계;Transmitting a request command of a specific service to a second peer terminal in which the first peer terminal is a destination peer;

상기 제 2 피어 단말이 요청받은 서비스에 대하여 자신의 통합 서비스 라이브러리를 통해 응답을 작성하여 제 1 피어 단말로 전송하는 단계; 및The second peer terminal creating a response to the requested service through its integrated service library and transmitting the response to the first peer terminal; And

상기 제 1 피어 단말이 상기 제 2 피어 단말로부터 수신한 응답을 체크한 후 자신의 포스 시스템 어플리케이션에 통지하는 단계를 포함한다.And checking the response received from the second peer terminal by the first peer terminal and notifying its force system application.

한편, 본 발명의 구성방법은, 상기 특정 서비스의 요청명령의 전송이 Sync 전송인지 또는 Async 전송인지를 결정하는 단계;On the other hand, the configuration method of the present invention, determining whether the transmission of the request command of the specific service is a Sync transmission or Async transmission;

Sync 전송의 경우에는 제 1 피어 단말의 미리 결정된 대기 시간까지는 제 2 피어 단말에서 응답이 올 때까지 대기하며, Async 전송인 경우에는 제 2 피어 단말에게 명령을 전송한 다음에 대기하지 않고 곧바로 제어권을 제 1 피어 단말의 포스 시스템 어플리케이션으로 돌려주는 단계를 더 포함하는 것이 좋다.In the case of a sync transmission, the second peer terminal waits until a response is received until a predetermined waiting time of the first peer terminal. In the case of an Async transmission, the control right is immediately transmitted without waiting after transmitting a command to the second peer terminal. The method may further include the step of returning to the force system application of the first peer terminal.

또한, 상기 특정 서비스의 요청명령은, 제 1 피어 단말이 제 3 피어 단말을 타깃 피어로 설정하고, 제 2 피어 단말로 하여금 자기가 가지고 있는 자원을 제 3 피어 단말로 전송해주도록 요청하는 것은 본 발명에서 중요한 실시형태로 간주된다.In addition, the request command of the specific service, the first peer terminal to set the third peer terminal as the target peer, and requesting the second peer terminal to transmit the resources it has to the third peer terminal. It is considered an important embodiment in the invention.

또한, 상기 통합 서비스 라이브러리에는 피어 단말 간의 데이터베이스 핸들링(DB Handling), 피어들에 저장되어 있는 파일의 억세스, 또는 데이터베이스의 업그레이드, 이벤트/메시지 전송, 파일 전송에 관한 모듈이 일원화되어 구비되며, In addition, the integrated service library is provided with a unified module for the database handling (DB Handling) between peer terminals, access to the files stored in the peers, or database upgrade, event / message transmission, file transfer,

제 1 피어 단말의 포스 시스템 어플리케이션이 상기 통합 서비스 라이브러리에 모듈화되어 있는 어느 하나 이상을 선택하여 특정 메쏘드를 호출하는 것이 바람직하다.It is preferable that the force system application of the first peer terminal selects one or more of those modularized in the integrated service library to call a specific method.

이하 본 발명에 따른 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 포스 시스템 내의 모든 포스 단말기들에 컴포넌트로 내장되는 본 발명의 통합 미들웨어에 대한 설명을 더욱 풍부하게 제시한 다음에, 그 통합 미들웨 어를 기반으로 하는 본 발명의 포스 시스템의 구성의 실시형태를 설명하기로 한다. 그리고 본 발명을 설명함에 있어서, 원칙적으로 관련된 공지기능 혹은 공지 구성 등 이미 이 분야의 기술자에게 자명한 사항으로서 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, after presenting a richer description of the integrated middleware of the present invention as a component embedded in all the force terminals in the POS system, the embodiment of the configuration of the force system of the present invention based on the integrated middleware will be described. Will be described. In the following description of the present invention, when it is determined that the subject matter of the present invention may be unnecessarily obscured as a matter already known to those skilled in the art, such as a known function or a known configuration, the detailed description thereof will be omitted.

1. 정의1. Definition

본 발명에서 사용하는 중요한 용어로서, 모바일 디바이스를 포함한 이기종 피어들간의 분산된 자원을 공유하는 기반을 만듦과 동시에 Backoffice와 연동시킴으로써 P2P 기능과 C/S 모델의 기능을 통합하며 컴포넌트 내에 모듈화된 통합 서비스 라이브러리 및 통합 리소스들을 이용하여 각 피어 마다 클라이언트적인 요소뿐만 아니라 통합적인 서버의 기능을 구현해 주는 본 발명 고유의 통합 미들웨어를 "X-Talk"라 정의한다.As an important term used in the present invention, it provides a base for sharing distributed resources among heterogeneous peers including mobile devices, and integrates P2P functions and C / S models by integrating with Backoffice and modularized integrated services in components. The unique middleware of the present invention that implements the functions of the integrated server as well as the client element for each peer using libraries and integrated resources is defined as "X-Talk".

2. X-Talk Protocol2. X-Talk Protocol

서버에 중요자원을 확보하고 클라이언트의 요구에 따라 정보와 자원을 전송하는 C/S(Client-Server) 시스템 모델과 달리 피어 투 피어(Peer-to-Peer) 시스템 모델은 기본적으로 모든 피어 컴퓨터나 기기들에 자원이 분산되어 있는 환경에서 구축하는 모델이다. 따라서 각각의 피어 기기들은 클라이언트적인 요소와 서버적인 요소를 모두 포함하여야 한다. 또한, 실시간으로 각각의 어플리케이션이나 서비스가 반응하고 대응해야 한다. 이를 위하여 Primitive Networking 기반 위에 피어 투 피어 시스템 구축을 용이하게 하는 새로운 Networking Infrastructure를 구축하였다.Unlike the Client-Server (C / S) system model, which secures critical resources on the server and transmits information and resources according to the client's needs, the peer-to-peer system model is basically any peer computer or device. This is a model to build in an environment where resources are distributed among the fields. Therefore, each peer device must include both client and server components. In addition, each application or service must respond and respond in real time. To this end, we established a new networking infrastructure that facilitates peer-to-peer system building on top of primitive networking.

도 1은 피어들 사이에서 X-Talk 프로토콜 기반의 데이터 패킷 포맷의 기본적인 구성을 나타내고 있다. OSI 7 Layer에서 Transport Layer까지는 TCP/IP 기반이며 실제 X-Talk 프로토콜은 어플리케이션 계층에 속한다. 기본적으로 C/S나 P2P나 low-level 네트워크는 동일하다. 그러나 어느 모델을 기반으로 시스템을 구성할 것인가 하는 것은 전적으로 어플리케이션과 관계된 것이므로, X-Talk 전용의 기본 통신 채널을 어플리케이션 레벨에서 별도로 구성하는 것이 타당하다.1 shows the basic configuration of a data packet format based on the X-Talk protocol among peers. The OSI 7 Layer to Transport Layer is TCP / IP based and the actual X-Talk protocol belongs to the application layer. Basically, C / S, P2P or low-level networks are the same. However, it is appropriate to configure a basic communication channel dedicated to X-Talk separately at the application level because it is entirely application related to which model to configure the system based on.

도 2는 X-Talk 클라이언트(X-Talk 컴포넌트를 내장한 어플리케이션) 간에 이루어지는 통신의 패킷 구조를 나타내고 있으며, 각각 "Receiver"는 데이터 패킷을 받는 Peer ID, "Sender"는 데이터 패킷을 보낸 Peer ID, "Command"는 서비스 요청 Command, "Check Code for Command-Reply Pair"는 Receive한 특정 패킷이 어떤 Command에 대한 응답인지를 확인하는 코드, "Date_NuM"은 하위 데이터의 바이트 수, "Data"는 Command가 수반하는 실제 데이터를 의미한다.Fig. 2 shows a packet structure of communication between X-Talk clients (applications with X-Talk components), where "Receiver" is a Peer ID for receiving data packets, "Sender" is a Peer ID for sending data packets, "Command" is a service request command, "Check Code for Command-Reply Pair" is a code for checking which command a specific packet received is a response. "Date_NuM" is the number of bytes of sub data, and "Data" is a command. Refers to the actual data involved.

X-Talk Name System 및 Peer ID, Peer NameX-Talk Name System, Peer ID, Peer Name

도 3은 X-Talk Peer ID와 피어 Code의 매핑에 대한 개략적인 구성을 도시하고 있다. 브릿징 서버(Bridging Server, 이하 "B-Server"라 한다)에 X-Talk 클라이언트가 접속하였을 때 고유한 String 값의 Peer ID에 일 대 일로 매핑된 고유한 Peer ID Code를 B-Server로부터 얻는다. Peer ID Code와 Peer ID 간의 매핑은 X-Talk Name System에서 관리하며, 어플리케이션에서는 고유한 Peer ID Code로 사용 하고 X-Talk 클라이언트 내부에서는 해당 Peer ID가 사용된다. 이것은 기존의 인터넷 어플리케이션에서 데이터 전송시 읽을 수 있는 Domain Name이 이 DNS를 거쳐 실제 IP Address로 번역되어 처리되는 것과 유사하다.3 shows a schematic configuration for mapping X-Talk Peer ID and peer code. When an X-Talk client connects to a bridging server (hereinafter referred to as "B-Server"), a unique peer ID code mapped one-to-one to a peer ID of a unique string value is obtained from the B-Server. The mapping between Peer ID Code and Peer ID is managed by X-Talk Name System. It is used as a unique Peer ID Code in the application and the Peer ID is used inside the X-Talk client. This is similar to the domain name that can be read when transmitting data in the existing Internet application is translated into the actual IP address through this DNS.

상기 Peer ID Code는 32 비트로 구성되어 있으며 각각의 비트들은 도 4와 같은 의미를 갖는다. "User Code", "Group Code", "Class Code"는 여러 피어 집단을 그룹핑(Grouping)하는데 사용되며, "User Code"로 표현할 수 있는 피어의 최대수는 256개가 되며, 하나의 Group을 의미하는데, 이 Group은 최대 4096개를 갖는다. 또한 Group Code를 하나의 셀로 하는 그룹은 "Class Code"에서 표현되며 최대 4096개가 가능하다. "User Code", "Group Code", "Class Code"는 피어 집단의 규모에 따라 적절히 할당되어 인터넷상의 컴퓨터 및 유무선 기기들에 할당할 수 있다.The Peer ID Code is composed of 32 bits and each bit has the same meaning as in FIG. 4. "User Code", "Group Code", and "Class Code" are used to group multiple peer groups, and the maximum number of peers that can be expressed as "User Code" is 256, which means one Group. This group has a maximum of 4096. In addition, a group having a group code as one cell is expressed in "Class Code" and a maximum of 4096 can be used. "User Code", "Group Code", and "Class Code" may be appropriately allocated according to the size of peer group and assigned to computers and wired and wireless devices on the Internet.

2. X-Talk Component2. X-Talk Component

도 5는 X-Talk 컴포넌트의 개략적인 구성을 나타내고 있다.5 shows a schematic configuration of an X-Talk component.

X-Talk 컴포넌트는 인터페이스(2)를 통해 어플리케이션(1)과 연결되며, Sync. Coordinator(3), Packet Parser(4), X-Talk Server(5), Service Library(통합 서비스 라이브러리)(6), Resources(통합 리소스)(7), Peer Connection Monitor(8), X-Talk Local Name System(10) 및 X-Talk P2P Connector(9)로 이루어지고, 서버 영역과 클라이언트 영역으로 구분되어 기능을 수행하며, 구분된 영역에서의 기능은 상기 도 5에 각각 "C+일련번호", "S+일련번호"가 병기되어 있는 화살표로 도시되어 있다. 한편 상기 어플리케이션(1)은 예컨대 시스템적으로 관리되는 상품의 성격 및 판매나 재고관리의 특성에 기반하여 프로그래밍되는 매출 처리 어플리케이션이나 주문 어플리케이션 등의 포스 시스템 어플리케이션으로 이해될 수 있다.The X-Talk component is connected to the application (1) via the interface (2), Sync. Coordinator (3), Packet Parser (4), X-Talk Server (5), Service Library (6), Resources (7), Peer Connection Monitor (8), X-Talk Local Name System (10) and X-Talk P2P Connector (9), which is divided into a server area and a client area to perform a function, the functions in the divided areas are shown in Figure 5 "C + serial number", " S + serial number " On the other hand, the application 1 may be understood as a force system application such as a sales processing application or an ordering application that is programmed based on the characteristics of a product managed systematically and sales or inventory management.

Packet Parser(4)Packet Parser (4)

X-Talk P2P Connector(9)를 통해 들어오는 모든 데이터 패킷(Data Packet)은 모두 Packet Parser(4)로 들어간다. 패킷의 분류에 따라 처리할 프로세스가 결정되고 그 프로세스에게 데이터와 제어권을 넘겨 주는 역할을 한다. 각각의 패킷 분류와 그에 따라 실시예를 나타내면 다음과 같다.All data packets coming through the X-Talk P2P Connector 9 enter the Packet Parser 4. The classification of packets determines the process to be processed and gives the process data and control. Each packet classification and an embodiment thereof is as follows.

# 케이스 1 : 자기가 다른 피어에게 command를 전송했을 때 응답으로서 오는 데이터:Case 1: Data that comes as a response when a user sends a command to another peer:

피어 A가 피어 B에게 서비스 요청 Command를 보냈을 때 피어 B는 처리결과를 피어 A에게 되돌려 보낸다. 이 결과 데이터는 상기 Packet Parser(4)로 들어와서, 케이스 1로 확인되면 즉시 Sync. Coordinator(3)으로 보내진다. Sync. Coordinator(3)에서는 피어 A가 전송한 command를 모두 기억하고 있다가 Packet Parser(4)로부터 오는 결과 데이터가 그 이전에 보낸 어떤 command의 결과값인지를 확인하고 Application(1)에 그 결과를 통지(Notify)해 준다.When peer A sends a service request command to peer B, peer B sends the processing back to peer A. The result data enters the Packet Parser (4), and upon confirmation as Case 1, Sync. Sent to the Coordinator (3). Sync. Coordinator (3) memorizes all the commands sent by peer A, checks whether the result data from Packet Parser (4) is the result of any previously sent command, and notifies Application (1) of the result. Notify).

# 케이스 2 : 다른 피어에서 데이터를 일방적으로 푸쉬(Push)하거나 스트림(Stream)형태로 오는 데이터# Case 2: Data coming from other peers unilaterally pushed or streamed

X-Talk의 기능 중 음성 Steaming 기능이 여기에 해당한다. 압축된 음성데이터는 일정한 간격으로 피어 B에서 피어 A로 전송된다. 이 경우는 받은 Packet에 해 당하는 특정한 command가 없다. 즉 일방적으로 피어 A가 받은 Packet을 재생시키는 것이므로 곧바로 X-Talk Server에서 음성 재생이 된다.This is the voice steaming function of X-Talk. Compressed voice data is transmitted from peer B to peer A at regular intervals. In this case, there is no specific command corresponding to the received packet. In other words, because it plays packet received by peer A unilaterally, voice is played in X-Talk Server immediately.

# 케이스 3 : 다른 피어에서 특정 서비스를 요청하는 데이터Case 3: data requesting a specific service from another peer

피어 B가 피어 A에게 특정 서비스를 요청하는 경우이다. 파일 전송, 이벤트 전송, 메시지 전송, DB Handling 등등이 여기에 해당된다. 케이스 3으로 분류된 데이터는 X-Talk Server(5)로 보내지고 X-Talk는 요구된 특정 서비스를 통합 서비스 라이브러리(6)에서 찾아내고 호출해서 X-Talk Server(5)내에서 별도의 스레드(Thread)로 실행된다. This is the case when peer B requests a specific service from peer A. This includes file transfers, event transfers, message transfers, and DB Handling. The data classified as case 3 is sent to the X-Talk Server (5), and X-Talk finds and calls the specific service requested in the Integrated Services Library (6) to separate threads within the X-Talk Server (5). Thread).

Sync. Coordinator(3)Sync. Coordinator (3)

상기 Sync. Coordinate(3)은 X-Talk command의 Sync/Async 처리를 하는 부분이다. Command가 Sync나 Async동작을 하는 것은 어플리케이션(1)이 상대 피어의 처리결과를 통보받는 방식이 다르다는 것을 의미하며, 이는 직접적으로 어플리케이션 설계에 영향을 미친다.Sync. Coordinate (3) is a part of Sync / Async processing of X-Talk command. When the command performs Sync or Async operation, it means that the application 1 is notified of the counterpart's processing result, which directly affects the application design.

X-Talk에서는 기본적으로 상대 피어에 대한 서비스 요청 명령이 두 가지 형태를 가진다. 하나는 명령을 전송하고 상대 피어에서 응답이 올 때까지 기다리는 것(이때 명령을 전송한 피어는 Block 상태가 된다. 그리고 시간 제한을 둘 수가 있어서 응답이 지정한 시간 동안 오지 않으면 Block 상태가 해제되고 Fail Notify를 어플리케이션(1)에게 하게 된다)과, 또 하나는 전송 후 결과 데이터를 기다리지 않고 곧바로 어플리케이션(1)으로 복귀하는 경우다. 전자는 Sync. Command라 부르고 후자는 Async. Command라 부른다. 전자의 사용은 주로 그 결과를 받지 않고서는 Application(1)의 진행을 해서는 안 되거나 할 이유가 없는 경우에 사용된다. 후자는 주로 상대 피어에게 요청한 서비스가 완료하는 데 시간이 많이 걸릴 경우 어플리케이션(1)이 필요 이상으로 대기하는 경우에 사용된다.In X-Talk, there are basically two types of service request commands to the peer. One is to send a command and wait for a response from the other peer (the peer that sent the command is in Block state, and you can set a time limit, so if the response does not come for a specified time, the Block state is released and Fail Notify And the other is the case of returning to the application 1 directly without waiting for the result data after transmission. The former is Sync. Called Command and the latter Async. Called Command. The former use is mainly used when there is no reason to proceed with Application (1) without receiving the result. The latter is mainly used when the application 1 waits more than necessary if the service requested by the partner peer takes a long time to complete.

명령전송과 결과 데이터 처리까지의 상세 과정은 다음과 같다. The detailed process from command transmission to result data processing is as follows.

- Sync. Command-Sync. Command

피어 A가 서비스 요청 데이터를 Sync. Coordinator(3)에 보내면 Sync. Coordinator(3)는 그 명령에 고유한 Key를 할당하고 메모리에 저장해 둔다. Command Packet을 전송한 후 상기 Packet Parser(4)로부터 결과 데이터가 분류되어 오기를 기다린다. Packet Parser(4)로부터 결과 데이터가 오면 거기에 포함된 Key가 명령전송 전에 저장한 키들 중에 존재하는가를 확인한 다음 어플리케이션(1)에 제어권을 돌려준다. 만약 정해진 시간 안에 상기 Packet Parser(4)로부터 데이터가 오지 않으면 time out을 선언하고 어플리케이션(1)에 fail을 통지한다.Peer A syncs service request data. Send to Coordinator (3). Coordinator (3) assigns a unique key to the command and stores it in memory. After transmitting the command packet, it waits for the result data to be classified from the packet parser 4. When the result data comes from the Packet Parser 4, it is checked whether the Key included therein exists among the keys stored before the command transmission, and then the control right is returned to the application 1. If data does not come from the Packet Parser 4 within a predetermined time, it declares time out and notifies the application 1 of fail.

- Async. CommandAsync. Command

피어 A가 서비스 요청 데이터를 요청할 때 command뿐만 아니라 완료 event Code도 함께 상기 Sync. Coordinator(3)에 보낸다. Sync. Coordinator(3)는 그 명령에 고유한 Key와 어플리케이션(1)에서 보내진 event code도 함께 메모리에 저장한다. 피어에 전송한 후 기다리지 않고 곧바로 어플리케이션(1)으로 복귀한다. 이후 상기 Packet Parser(4)로부터 결과 데이터가 오면 거기에 포함된 Key가 명령전송 전에 저장한 키들 중에 존재하는가를 확인한 후 함께 저장되었던 event code를 어플리케이션(1)에 통지한다.When Peer A requests service request data, the Sync. Send to Coordinator (3). Sync. The coordinator (3) also stores the key unique to the command and the event code sent from the application (1) in memory. After sending to the peer, it returns immediately to the application 1 without waiting. After that, when the result data comes from the packet parser 4, it is checked whether the key included therein is present among the keys stored before the command transmission, and the application 1 is notified of the stored event code.

X-Talk Server(5) X-Talk Server (5)

상대 피어가 요청한 서비스를 실행할 프로세스이며, 각각의 서비스마다 별도의 처리 스레드(thread)가 생성되며 결과 데이터 또한 개별적으로 생성된 채널을 통해 요청 피어로 되돌려 진다. X-Talk Server(5) 자체는 실행환경이며 실제 서비스에 해당하는 코드는 통합 서비스 라이브러리(6)에서 가져와서 실행한다.This is a process to execute the service requested by the peer. A separate processing thread is created for each service, and the result data is also returned to the request peer through the individually created channel. X-Talk Server (5) itself is an execution environment and the code corresponding to the actual service is taken from the integrated service library (6) and executed.

Service Library(6)Service Library (6)

본 발명의 통합 서비스 라이브러리(6)는 피어가 서버로서 역할을 할 때 즉 상대 피어가 요청한 서비스를 실행할 때 필요한 컨텐츠(Contents)를 포함하고 있는 장소이다. 파일정보 서비스, 파일 전송 서비스, 피어 관리 서비스, Audio/Video 처리, DB Transaction, Resources 관리 서비스, 메시지 및 이벤트 처리 등등의 루틴이 이에 해당되며, 종래의 네트워크에서는 각 피어들이 상기 루틴 중 어느 하나만을 수행하였던 것에 반하여, 본 발명의 통합 서비스 라이브러리(6)는 필요한 컨텐츠를 통합적으로 보유함으로써 다양한 서비스를 일원화하고 각 피어의 서버로서의 기능이 강화되며, 개별 서비스에 대한 개별적인 프로그래밍을 요구하지 않는다.The integrated service library 6 of the present invention is a place that contains contents necessary when a peer serves as a server, that is, when a peer performs a service requested. This includes routines such as file information service, file transfer service, peer management service, audio / video processing, DB transaction, resources management service, message and event processing, etc. In a conventional network, each peer performs only one of the routines. In contrast, the integrated service library 6 of the present invention unifies the various services by enhancing the function as a server of each peer by integrating necessary contents, and does not require individual programming for individual services.

Resources(7)Resources (7)

통합 리소스(7)는 피어가 관리/통제할 수 있는 모든 자원이다. 피어가 실행되는 컴퓨터, 핸드폰, PDA, Embedded System의 파일들, 데이터베이스, 멀티미디어 콘텐츠, I/O 주변장치 등등이 이에 해당된다.The integrated resource 7 is all the resources that the peer can manage / control. This includes computers running peers, mobile phones, PDAs, embedded system files, databases, multimedia content, I / O peripherals, and so on.

X-Talk Local Name System(10) X-Talk Local Name System (10)

하나의 B-Server에 귀속된 피어들의 정보를 B-Server로부터 받아 자체적으로 보관하고 있어서 상대 피어의 정보를 확인할 때 B-Server로 부터 확인하기 전에 먼저 검색하여 Peer ID에 해당하는 Peer Code를 주는 시스템이다.Receive peer information belonging to one B-Server from B-Server and keep it on its own. When checking the information of the other peer, search for peer information corresponding to Peer ID before checking from B-Server. to be.

X-Talk Component Interface(2)X-Talk Component Interface (2)

X-Talk는 플랫폼에 따라 각기 다른 컴포넌트 및 인터페이스를 갖도록 구현하였으며 이에 대해서는 도 6이 개략적으로 나타내고 있다. X-Talk 컴포넌트는 Microsoft(이하 MS)사의 Win 98/NT/2000/XP, Pocket PC/ Win CE.Net 플랫폼용의 경우에는 COM(Component Object Model) 형태로 구현하였고, 모바일 디바이스인 핸드폰과 같이 제한된 리소스를 갖는 시스템의 경우에는 Java Virtual Machine(Java VM) 환경을 구성하기 위하여 J2ME(Java 2 Platform Micro Edition) 기반에서 컴포넌트를 구성하였다. MIDP(Mobile Information Device Profile)/CLDC(Connected Limited Device Configuration)은 J2ME의 핵심요소로서 표준 Java runtime 환경에서와 같은 형태로 모바일 응용프로그램에서 요구되는 핵심 응용프로그램 함수를 제공한다.X-Talk is implemented to have different components and interfaces according to the platform, and FIG. 6 schematically illustrates this. X-Talk components are implemented in the form of COM (Component Object Model) for Microsoft's Win 98 / NT / 2000 / XP and Pocket PC / Win CE.Net platforms. In the case of a system with resources, components were configured based on the Java 2 Platform Micro Edition (J2ME) to construct a Java Virtual Machine (Java VM) environment. The Mobile Information Device Profile (MIDP) / Connected Limited Device Configuration (CLDC) is a core element of J2ME and provides the core application functions required by mobile applications in the same form as the standard Java runtime environment.

두 X-Talk 피어 상호 간에 Date Communication & CollaborationDate Communication & Collaboration between two X-Talk peers

피어 A를 기준으로 피어 B와의 Date Communication과 Collaboration을 설명한다. X-Talk가 동작하는 플랫폼에 관계없이 피어들 사이의 Data Communication 및 Collaboration은 동일하다.Describes Date Communication and Collaboration with Peer B based on Peer A. Regardless of the platform on which X-Talk runs, data communication and collaboration between peers is the same.

- X-Talk에서의 기본 Service Request and Reply 체계는 다음과 같다:The basic Service Request and Reply mechanism in X-Talk is:

도 7을 참조하여 피어 B에게 특정 서비스를 요청하거나 Event/Message 를 보낼 때, 즉 피어 A가 클라이언트로서 작동할 때를 기술하면, 먼저 Applications(1) 에서 Interface(2)의 Method를 호출한다(S11). 다음으로, Sync. Coordinator(3)은 어플리케이션(1)이 지정한 Peer Name에 해당하는 Peer ID를 X-Talk Name System에 의뢰하여 획득하고(S12), Sync. Coordinator(3)는 그 정보를 X-Talk P2P Connector(9)로 전달하면, X-Talk P2P Connector(9)는 X-Talk Packet을 만들어 지정한 목적지 Peer ID로 전송한다(S13). 피어 A가 피어 B에게 요청하는 서비스의 내용은 X-Talk Data Packet의 Command에 있고 관련 정보는 Data에 있기 된다. Referring to FIG. 7, when describing a request for a specific service or sending an event / message to peer B, that is, when peer A operates as a client, first, the method of interface (2) is called from applications (1) (S11). ). Next, Sync. Coordinator (3) obtains the Peer ID corresponding to the Peer Name designated by the application (1) by requesting the X-Talk Name System (S12), Sync. When the coordinator 3 transmits the information to the X-Talk P2P Connector 9, the X-Talk P2P Connector 9 creates an X-Talk Packet and transmits it to the designated destination Peer ID (S13). The contents of the service requested by peer A to peer B are in the command of the X-Talk Data Packet, and the related information is in the data.

이때 Sync. Coordinator(3)는 Applications(1)이 Sync 전송을 원하는지 아니면 Async 전송을 원하는지에 따라 다른 동작을 하게 된다(S14). 만약 Sync 전송이라면 목적지 피어에서 응답이 올 때까지 해당 루틴을 끝내지 않고 대기한다. 즉 Application(1)은 응답이 올 때까지 다른 동작을 하는 것이 불가능해질 것이다. 그러나 지정한 일정시간 동안 목적지 피어에서 응답이 없다면, 예컨대 t>to (to은 미리 결정된 대기 시간)인 경우에는 Error Code와 함께 제어권을 Application (1)에게 돌려준다. 이러한 Sync 전송 프로세스는 Message/Event 전송 또는 특정 서비스 요청이 목적지 피어에게 무사히 전달되는지를 Real-Time으로 확인할 필요가 있을 때 사용한다. 반면에 Asyn 전송 프로세스는 목적지 피어에 Event/Message/서비스 요청을 전송한 후 곧바로 Sync. Coordinator(3)가 출발지 피어 A의 Applications(1)에게 제어권을 돌려준다. 즉 피어 A의 어플리케이션(1)은 Interface(2)를 호출한 후 곧바로 제어권을 돌려받기 때문에 다른 작업을 수행할 수 있다. Sync. Coordinator (3) has a different operation depending on whether the application (1) wants to send a sync or Async (S14). If it is a Sync transmission, it waits without ending the routine until a response is received from the destination peer. In other words, Application (1) will not be able to perform other actions until a response is received. However, if there is no response from the destination peer for a specified period of time, for example t> t o (t o is a predetermined wait time), control is returned to the application (1) with an error code. This Sync transfer process is used when it is necessary to check in real time whether a Message / Event transmission or a specific service request is delivered to the destination peer. On the other hand, the Asyn transmission process sends an Event / Message / Service Request to the destination peer immediately after Sync. Coordinator (3) returns control to the application (1) of the source peer A. In other words, the application 1 of the peer A can return to the control right after the call to the interface 2, and thus can perform other tasks.

도 8은 목적지 피어 B로부터 출발지 피어 A에게로 Return Event/Return Data를 전송하는 플로우에 대하여 개략적으로 도시하고 있다. 전송된 Event/Message/서비스 요청이 목적지 피어 B에 도착한 다음에(S21), 목적지 피어 B는 다시 Return Event/Return Data를 출발지 피어 A에게 전송한다(S22). 피어 A가 Return Event/Return Data를 받으면 이것이 어떤 Event/Message/서비스 요청에 관한 Return Event/Return Data인지를 Check Code for Command-Reply Pair를 보고 확인하고(S23), 그런 다음에 해당 Application(1)에 통지하게 된다(S24).8 schematically illustrates a flow of transmitting Return Event / Return Data from a destination peer B to a source peer A. FIG. After the transmitted Event / Message / Service Request arrives at the destination peer B (S21), the destination peer B transmits Return Event / Return Data to the source peer A again (S22). When peer A receives Return Event / Return Data, it checks with Check Code for Command-Reply Pair to see which Event / Message / Service Request is Return Event / Return Data (S23), and then the corresponding Application (1). A notification is made to (S24).

이상의 X-Talk가 제공하는 Functionality는 모두 위에서 설명된 플로우를 따라서 동작되며, 이러한 동작체계는 X-Talk 프로토콜과 밀접하게 결합되어 있다. 이하에서는 X-Talk 프로토콜 기반하에서 이루어지는 구체적인 프로세스에 대하여 상세히 설명한다.All of the functionalities provided by X-Talk above operate according to the flow described above, and this operating system is closely coupled with the X-Talk protocol. Hereinafter, a detailed process performed under the X-Talk protocol will be described in detail.

① Event/Message 전송① Event / Message transmission

도 9는 출발지 피어 A의 어플리케이션(1)에서 목적지 피어 B의 어플리케이션(1)으로 Event/Message를 전송할 때의 과정을 도시하고 있다.FIG. 9 shows a process for transmitting an Event / Message from the application 1 of the source peer A to the application 1 of the destination peer B. FIG.

먼저, 피어 A의 어플리케이션(1)에서 인터페이스(2) 및 Sync. Coordinator(3)를 거쳐 피어 A의 X-talk P2P Connector(9), 피어 B의 X-talk P2P Connector(9)를 경유하여 Packet Parser(4)에 도착하는 과정은 S31 단계에서부터 시작하여 S38 단계를 통해 이루어진다. 그 다음으로 피어 B의 Packet Parser(4)에서는 두 가지 방향으로 데이터 전송이 이루어진다. 하나는 피어 B의 인터페이스를 통해 어플리케이션에 Event/Message를 통지하는 것이며(S38, S39), 다른 하나는 피 어 A에게 Event/Message가 도착했다는 결과 Return Signal을 전송하는 것이다(S40). 한편 Return Signal 전송 과정은 상기 S40을 거쳐 최종적으로 피어 A의 어플리케이션(1)으로 통지된다(S41 ~ S43). 이상의 기능을 이용하여 핸드폰과, PDA, PC, Embedded System간에 실시간 텍스트와 이벤트를 교환할 수 있으며, 이를 채용한 응용프로그램으로 실시간 기기간 Messenger, Control 장치의 상태 감시 및 리모팅을 할 수 있다.First, the interface 2 and Sync. The process of arriving at the packet parser (4) via the coordinator (3) via the peer A's X-talk P2P connector (9) and peer B's X-talk P2P connector (9) starts from step S31 and proceeds to step S38. Is done through. Next, in the packet parser 4 of peer B, data transmission is performed in two directions. One is to notify the application of the Event / Message through the interface of the peer B (S38, S39), the other is to send a return signal that the Event / Message has arrived to the peer A (S40). Meanwhile, the return signal transmission process is finally notified to the application 1 of the peer A through S40 (S41 to S43). By using the above functions, real-time text and events can be exchanged between mobile phone, PDA, PC, and Embedded System. It is an application program that adopts them, and it can monitor and remotely monitor the status of messenger and control devices between real-time devices.

② File 전송② File transfer

X-Talk에서 파일 전송의 바람직한 실시형태를 개시하기 위하여 우리는 관여하는 세 개의 피어를 상정한다. 다시 말하면 피어 A가 피어 B에 있는 특정 파일을 피어 C에게 전송하도록 지정하는 방식이다. 이러한 방법은 자신의 피어에서 상대 피어로만 파일을 전송하는 즉 FTP 방식보다 더 많은 유연성을 준다. 예컨대 핸드폰이나 PDA 처럼 네트워크 Bandwidth가 작은 망에 있는 Peer Device가 다른 두 개의 피어들 사이의 대용량 파일 전송을 제어할 수 있게 한다.In order to disclose the preferred embodiment of file transfer in X-Talk, we assume three peers involved. In other words, you specify that Peer A sends specific files on Peer B to Peer C. This gives you more flexibility than FTP, which means you can only transfer files from your peer to the peer. For example, a peer device in a network with a small network bandwidth, such as a cell phone or a PDA, can control large file transfers between two other peers.

도 10은 세 개의 피어가 각각 Order Peer, Source Peer, Target Peer로 각각 구분되어 있는 경우를 나타내며, Order Peer인 피어 A가 Source Peer인 피어 B에게 피어 C를 타깃으로 하여 특정 파일을 전송할 것을 명령하면, 피어 B는 Target Peer인 피어 C에게 해당 특정 파일을 실제로 전송하게 된다. 도 11은 이러한 메커니즘과는 달리 Order Peer와 Source Peer가 같은 Peer 인 경우로서, 파일전송을 지령하는 피어 A가 자신의 파일을 Target Peer인 피어 C에 전송하게 된다.FIG. 10 illustrates a case where three peers are divided into an order peer, a source peer, and a target peer, respectively. When a peer A, an order peer, instructs peer B, a source peer, to transmit a specific file with peer C as a target, FIG. In this case, peer B actually transmits the specific file to peer C, the target peer. FIG. 11 illustrates a case in which the order peer and the source peer are the same peer, unlike the mechanism, and peer A, which commands file transfer, transfers its file to peer C, which is a target peer.

도 12는 위 도 10의 피어 A에서 피어 B에 명령하여 피어 B의 file을 피어 C 에 전송하고자 할 때의 플로우를 보다 구체적으로 도시하고 있다(피어 A : order Peer, 피어 B : source Peer, 피어 C : target Peer)FIG. 12 illustrates the flow in which peer A in FIG. 10 instructs peer B to transfer a file of peer B to peer C in more detail (peer A: order peer, peer B: source peer, peer). C: target Peer)

피어 A의 Application(1)에서 Interface(2)의 file transfer method를 호출한다(S101). Interface(2)는 상기 Application(1)의 파일 전송 호출명령을 받아 이를 Sync. Coordinator(3)로 전달하고(S102), Sync. Coordinator(3)는 X-Talk Name System(10)에게 문의하여 상기 Application(1)에게서 받은 피어 B Name의 실제 Peer ID를 얻는다(S103). 다음으로, X-talk P2P Connector(9)로 전송하게 되는데, 그 전송방식은 피어 B로 소스 피어로 하여 타깃 피어인 피어 C로 파일 전송 서비스를 요청한 다음에 제어권을 다시 돌려받아 자신은 다른 작업을 수행할 필요성이 있으므로 Asyn 전송방식이 될 것이다(S104). 그리고 전송지령이 완료되면 그 완료된 사실을 상기 어플리케이션(1)에 통지한다(S105 ~ S105″).In the application A of peer A, the file transfer method of interface 2 is called (S101). Interface (2) receives the file transfer call command of the Application (1) and sync it. Coordinator (3) to pass (S102), Sync. The coordinator 3 inquires of the X-Talk Name System 10 to obtain the actual Peer ID of the peer B name received from the application 1 (S103). Next, it transmits to the X-talk P2P Connector (9). The transmission method is Peer B as the source peer, requesting the file transfer service to Peer C as the target peer, and then receiving control again. Since there is a need to perform the Asyn transmission method will be (S104). When the transmission command is completed, the application 1 is notified of the completion (S105 to S105 ″).

다음으로, 상기 피어 A의 X-talk P2P Connector(9)를 거쳐 피어 B의 X-talk P2P Connector(9)로 command packet을 전송(S106)함으로써 피어 A에서 피어 B로의 프로세스가 개시된다. 상기 피어 B의 X-talk P2P Connector(9)는 상기 command packet을 Packet Parser(4)로 전달하며(S107), Packet Parser(4)는 Packet에 포함된 command를 확인하며 X-Talk Server(5)로 전달한다(S108). X-talk Server(5)에서는 요청받은 서비스에 대응하기 위하여 해당하는 Service Library(6)를 호출하고, Service Library(6)는 자신의 리소스(7)을 이용하여 피어 A에게서 요청 받은 작업을 수행한다(S109). 이 경우 피어 B의 특정 File을 피어 C에게 전송하는 것이므로 피어 B의 X-Talk Server(5)는 새로운 프로세스를 만들고 또 다른 서비스 요청 에 대응할 상태로 들어간다. 즉 파일 전송이란 작업 자체가 전송완료할 때까지 시간이 걸리므로 그 작업을 위한 새로운 프로세스를 생성하여 그것에 작업은 맡기고 X-Talk Server(5) 자신은 다른 Peer에게서 오는 서비스 요청을 위한 대기상태로 간다. 이는 피어 B의 CPU를 효율적으로 이용하는 방법이 된다. 새롭게 생성된 file 전송 프로세스는 background에서 파일 세그먼트를 피어 C에게 전송하게 된다(파일 세그먼트(file segment)란 커다란 파일을 특정한 단위의 크기로 쪼갠 파일 데이터이다). Next, the process from peer A to peer B is initiated by transmitting a command packet (S106) to peer B's X-talk P2P connector 9 via peer A's X-talk P2P connector 9. The peer B's X-talk P2P connector 9 forwards the command packet to the Packet Parser 4 (S107), and the Packet Parser 4 checks the command included in the Packet and the X-Talk Server (5). Transfer to (S108). X-talk Server (5) calls the corresponding Service Library (6) to respond to the requested service, and Service Library (6) uses the resource (7) of its own to perform the requested work from peer A (S109). In this case, since the specific file of peer B is transmitted to peer C, peer B's X-Talk Server (5) creates a new process and enters a state to respond to another service request. In other words, the file transfer takes time until the task itself completes the transfer, so create a new process for the task and leave it there and the X-Talk Server (5) itself goes to a waiting state for service requests from other peers. . This is a method of efficiently using the peer B CPU. The newly created file transfer process transfers the file segment to peer C in the background (a file segment is file data that is broken up into large units of specific size).

피어 C로의 전송준비를 위한 과정으로서, 상기 피어 B의 X-Talk Server(5)는 상기 Sync. Coordinator(3)에게 파일 세그먼트를 전송해줄 것을 의뢰하게 되며(S110), 상기 Sync. Coordinator(3)는 해당 파일 세그먼트를 X-Talk P2P Connector(9)로 전달하게 된다(S111).In order to prepare for transmission to peer C, the peer B's X-Talk Server (5) is the Sync. Coordinator 3 is requested to transmit the file segment (S110), the Sync. Coordinator (3) will deliver the file segment to the X-Talk P2P Connector (9) (S111).

다음으로, 상기 파일 세그먼트는 피어 B의 X-Talk P2P Connector(9)를 거쳐 피어 C의 X-Talk P2P Connector(9)로 들어간다(S112). 그리고 Packet Parser(4)에 도착한 다음에(S113), 피어 B가 보낸 command를 해석하여 X-Talk Server(5)로 보내진다(S114). 피어 C의 X-Talk Server(5)는 피어 B가 보낸 서비스 요청이 command와 함께 전송된 데이터가 자신의 특정 디렉토리에 파일로서 저장해야 하는 것을 인식하며, 자신의 Service Library(6)의 SaveFileData를 호출하여 저장한다(S115). 한편 피어 B의 X-Talk Server(5)와 피어 C의 X-Talk Server(5)는 모두 피어 A와 피어 B에게서 서비스 수행 요청을 받지만 그 내용은 다르다. 피어 B의 X-Talk Server(5)는 피어 A가 지정한 피어 B의 디렉토리의 파일을 세그먼트 단위로 쪼개서 피어 C로 보내도록 하는 것이고, 피어 C의 X-Talk Server(5)는 피어 B가 보낸 파일 세그먼트를 피어 B가 지정한 디렉토리에 저장하는 것이다. Next, the file segment enters the peer C's X-Talk P2P connector 9 via peer B's X-Talk P2P connector 9 (S112). After arriving at the Packet Parser 4 (S113), the command sent by the peer B is interpreted and sent to the X-Talk Server 5 (S114). Peer C's X-Talk Server (5) recognizes that the service request sent by Peer B should store the data sent with the command as a file in its specific directory, and calls SaveFileData from its Service Library (6). To store (S115). Peer B's X-Talk Server (5) and Peer C's X-Talk Server (5) both receive service requests from Peer A and Peer B, but their contents are different. Peer B's X-Talk Server (5) breaks the files in Peer B's directory into peer C segments sent by Peer A to Peer C. Peer C's X-Talk Server (5) sends files sent by Peer B The segment is stored in the directory specified by peer B.

상기 X-Talk Server(5)는 해당 파일 세그먼트가 모두 전송되었다면 상기 Packet Parser(4)에 저장 완료 시그널을 피어 B에게 전송해 줄 것을 요청하고(S116), Packet Parser(4)는 세그먼트 저장 완료 시그널을 자신의 X-Talk P2P Connector(9)로 전달하게 된다(S117).If all of the file segments have been transmitted, the X-Talk Server 5 requests the Packet Parser 4 to transmit a storage completion signal to the peer B (S116), and the Packet Parser 4 receives the segment storage completion signal. To the X-Talk P2P Connector 9 (S117).

이러한 방식으로 모든 파일이 다 전송되면 피어 B는 전송완료 시그널을 피어 A에게 전송한다. 그리고 이를 위하여 먼저 피어 C의 X-Talk P2P Connector(9)가 피어 B의 X-Talk P2P Connector(9)에게 저장 완료 시그널의 리턴 데이터를 전송하고(S118), 피어 B의 X-Talk P2P Connector(9)는 이를 피어 B의 Packet Parser(4)에게 전송하며(S119), Packet Parser(4)는 전송받은 리턴 데이터를 파싱한 다음에 이를 자신의 Sync. Coordinator(3)로 전달하면(S120), Sync. Coordinator(3)는 리턴 데이터와 전송 명령 코드의 일치 여부를 확인하여 X-Talk Server(5)에게 전송한다(S121).In this way, when all files are sent, Peer B sends a completion signal to Peer A. To this end, the X-Talk P2P Connector 9 of peer C first transmits the return data of the storage completion signal to the X-Talk P2P Connector 9 of peer B (S118), and the X-Talk P2P Connector of peer B ( 9) transmits it to the packet parser 4 of peer B (S119), and the packet parser 4 parses the received return data and then transmits it to its Sync. If the transfer to the Coordinator (3) (S120), Sync. Coordinator (3) checks whether the return data and the transmission command code match and transmits to the X-Talk Server (5) (S121).

그리고 현재 파일의 전송이 세그먼트 단위로 이루어지고 있기 때문에, 파일 전체가 피어 C로 전송완료되었는지를 연산할 필요가 있으며, 따라서 X-Talk Server(5)가 상기 S121를 통해 리턴 데이터와 전송 명령 코드가 일치 여부가 확인한 다음에 피어 A의 전송명령에 의하여 이루어진 피어 B의 피어 C로의 해당파일의 전송이 모두 완료되었는지 여부를 연산한 다음에(S122) 완료되지 않은 경우에는 상기 S109 단계부터 다시 시작하고, 완료된 경우에는 Packet Parser(4)와 X-Talk P2P Connector(9)를 거쳐 피어 A의 X-Talk P2P Connector(9)로 리턴 데이터로서 파일 전송 완료 시그널을 전송한다(S123, S124, S125). 그리고 피어 A의 X-Talk P2P Connector(9)는 수신받은 리턴 데이터를 자신의 Sync. Coordinator(3)에게 전달하고(S126), Sync. Coordinator(3)는 파일 전송 완료의 리턴 데이터와 전송명령 코드의 일치 여부를 확인하고 Notify event code를 획득하여 피어 A의 Application(1)에게 전송완료의 통지를 수행함으로써(S127, S128) 파일 전송은 끝나게 된다.Since the file is currently transmitted in segments, it is necessary to calculate whether the entire file has been transferred to peer C. Therefore, the X-Talk Server 5 returns the return data and the transfer command code through S121. After checking whether or not the match is completed, calculate whether the transfer of the corresponding file to peer C of peer B made by peer A transfer command is completed (S122). If completed, the file transfer completion signal is transmitted as return data to the X-Talk P2P Connector 9 of the peer A via the Packet Parser 4 and the X-Talk P2P Connector 9 (S123, S124, S125). Peer A's X-Talk P2P Connector 9 sends the received return data to its Sync. Transfer to Coordinator (3) (S126), Sync. The coordinator (3) checks whether the return data of the file transfer completion and the transfer command code match, acquires a Notify event code, and notifies the application 1 of the peer A of the transfer completion (S127, S128). It is over.

피어 A가 자신의 파일을 피어 B에게 전송할 경우는 마치 피어 A가 피어 A에게 피어 A의 파일을 피어 B에게 전송하라고 하는 것과 같다. 모든 전송과정은 위의 경우와 같다. 즉 order peer : A, source peer : A, target Peer : B가 된다.When peer A transfers its file to peer B, it is as if peer A tells peer A to transfer peer A's file to peer B. All transfers are the same as above. That is, order peer: A, source peer: A, target peer: B.

③ DB Access③ DB Access

P2P의 모델이 적용되는 분야는 자원이 여러 컴퓨터나 디바이스에 골고루 분포되어 있어서 서로간에 자원을 활용하기 위해서는 각각의 관련된 기기들이 Server와 Client의 모습을 둘 다 가지고 있어야 한다. 여기서 말하는 자원이라 함은 각각의 Peer들이 보유하고 있는 파일들, 그 디바이스에 연결되어 있는 또 다른 물리적인 장치들, 그리고 무엇보다도 Database를 뜻하게 되며, 따라서 DB의 공유는 Peer to Peer의 기능 중 중요한 부분을 차지한다.In the area where P2P model is applied, resources are distributed evenly among various computers or devices, so each related device must have both server and client in order to utilize each other's resources. Resource refers to files held by each peer, other physical devices connected to the device, and, above all, a database, so sharing a database is an important part of the function of a peer to peer. Occupies.

대부분의 DB는 CPU와 하드디스크의 용량이 큰 경우가 대부분이겠지만 최근에는 PDA와 핸드폰의 CPU와 저장장치도 급속도로 고기능화, 대용량화하고 있는 추세여서 이런 Mobile Device들도 자체 DB를 보유하고 관리하게 된다. 여기서 설명하는 DB Access란 'Peer 상호 간에 상대 방 Peer의 DB를 Access하는데 있어서 자유로울 뿐만 아니라 상대 Peer가 하고 있는 작업에 영향을 주지 않고 서비스가 가능해야 한다.'라는 것이다. 이는 모바일 디바이스 조차도 background service(demon process)를 구현해야 함을 의미한다.Most DB's have large capacity of CPU and hard disk, but in recent years, CPU and storage devices of PDAs and mobile phones are rapidly becoming highly functional and large-capacity, so these mobile devices have their own DB. The DB Access described here means that the peers must not only be free in accessing the peer peer's DB, but also be able to provide services without affecting the work of the peer. This means that even mobile devices must implement a background service (demon process).

도 13에서는 피어 상호 간에 Database를 자유롭게 억세스하여 read/modify/insert 할 수 있는 기능에 대하여 나타내고 있다. S131부터 S148 단계로 이어지는 플로우는 위 ①과 ②의 실시예와 큰 차이가 없지만, 상대방 피어의 리소스(7)에 있는 파일을 전송하는 것과는 달리 S140 및 S141을 통하여 피어 B의 Resource(7)에 저장되어 있는 데이터베이스를 억세스하여 읽거나 수정하게 된다. 즉 도 13의 실시예는 피어 A가 피어 B의 DB의 데이터를 읽어오거나 특정 데이터를 피어 B의 DB에 추가/삭제/수정할 때의 flow이다. 또한 하나의 record단위가 아니라 작업단위(transaction 단위)로 처리해야할 데이터의 처리에 대해서도 설명한다. In Fig. 13, the functions of freely accessing and reading / modifying / inserting a database between peers are shown. Although the flow from step S131 to step S148 is not significantly different from the above embodiments of ① and ②, unlike the transmission of the file in the resource 7 of the peer of the peer, the flow is stored in the resource of the peer B through S140 and S141. Accesses and reads or modifies the database. That is, the embodiment of FIG. 13 is a flow when peer A reads data of peer B's DB or adds / delete / modifies specific data to peer B's DB. It also describes the processing of data to be processed in units of work (transaction units) rather than in units of records.

즉, 피어 A의 Application (1)에서 Interface(2)의 ExecuteSQL method를 호출한다. Sync. Coordinator(3)에서 X-Talk Name System(10)에게 의뢰해서 피어 B ID를 얻는다. 다음으로, X-Talk P2P Connector(9)로 command packet을 전송하고, 피어 B의 X-Talk P2P Connector(9)를 경유하여 Packet Parser(4)에 전달되고, Packet Parser(4)는 받은 패킷이 서비스 요청임을 확인하고 X-Talk Server(5)로 넘긴다. X-Talk Server(5)는 요청 서비스가 SQL 문장 실행임을 인식하고 Service Library(6)의 Service Library 중에서 적절한 function을 호출하여 실행한다. 실행결과는 요청받은 records들의 결과 데이터이고 이것을 피어 A에 return한다. In other words, the ExecuteSQL method of Interface (2) is called from Application (1) of peer A. Sync. Coordinator (3) requests X-Talk Name System (10) to get Peer B ID. Next, the command packet is transmitted to the X-Talk P2P connector (9), and is delivered to the packet parser (4) via the peer B's X-Talk P2P connector (9), and the packet parser (4) receives the received packet. Confirm that it is a service request and pass it to the X-Talk Server (5). The X-Talk Server (5) recognizes that the request service is a SQL statement execution, and calls and executes an appropriate function among the Service Library of the Service Library (6). The execution result is the result data of the requested records and returns it to peer A.

한편, transaction단위 데이터 갱신인 경우, Application(1)에서는 여러 SQL 문장을 하나의 Packet으로 묶는다. 이는 처리해야할 여러 SQL 문장은 개별적으로 처리되어서는 안 되고 반드시 모두 one-time에 실행되어야 하기 때문이다. 즉 여러 sql 문장이 X-Talk의 one command에 처리되기 때문에 데이터 무결성을 보장할 수 있다.On the other hand, in case of transaction unit data update, Application (1) bundles several SQL statements into one packet. This is because multiple SQL statements to be processed must not be processed individually, but must all be executed one-time. In other words, multiple sql statements are processed in one command of X-Talk to ensure data integrity.

3. Bridging Server3. Bridging Server

도 14는 본 발명의 B-Server의 개략적인 구성을 나타내고 있으며, 그 주요한 구성으로서 Common Service Library(10), X-Talk Gateway(20), Manager of Peer Session Resources(40), Authentication Process(70)를 포함하고 있다.Fig. 14 shows a schematic configuration of the B-Server of the present invention, and the main configuration thereof is the Common Service Library (10), the X-Talk Gateway (20), the Manager of Peer Session Resources (40), and the Authentication Process (70). It includes.

X-Talk Gateway(20)X-Talk Gateway (20)

B-Server는 그에 속한 피어들과 함께 X-Talk Network을 형성한다. 또 다른 B-Server가 형성하는 X-Talk Network과 연결시키기 위해서 관련된 B-Server들은 서로에게 게이트웨이(Gate Way)로서 작동돼야 한다. B-Server는 소속된 피어를 위한 common service 이외에 위와 같은 게이트웨이로서의 역할도 수행한다.The B-Server forms an X-Talk Network with its peers. In order to connect to the X-Talk Network formed by another B-Server, the related B-Servers must act as a gateway to each other. In addition to the common service for its peers, the B-Server also acts as a gateway.

Manager of Peer Session Resources(40)Manager of Peer Session Resources (40)

이 요소는 공유자원(Shared Resources)과 Locking Resources를 포함한다. 공유자원은 B-Server가 관리하는 자원과 각각의 피어에 귀속된 자원 모두에 해당된다. 특정 피어에 속한 자원을 여러 다른 피어가 동시에 사용하려 할 때 이 자원은 Shared Resources(50)라 부른다. 이때 이 공유자원을 오염시키지 않고 정상적인 절차를 통해서 사용하려는 피어에게 질서있게 제어권을 주는 체계가 필요한데 이는 상기 Manager of Peer Session Resources(40)에 포함된 Locking Resources(60)를 통해 이루어진다. This element includes Shared Resources and Locking Resources. Shared resources correspond to both resources managed by the B-Server and resources belonging to each peer. When multiple peers try to use a resource belonging to a specific peer at the same time, this resource is called Shared Resources (50). At this time, it is necessary to provide a control system in order to control the peer without using polluting the shared resources in a normal procedure, which is achieved through the Locking Resources (60) included in the Manager of Peer Session Resources (40).

Common Service Library(10)Common Service Library (10)

X-Talk 서비스 중에 피어들 간에 이루어질 수 있는 서비스 이외에 1 : N(N은 1보다 큰 정수) 또는 N : 1로 이루어져야 하는 서비스가 있다. 이 경우는 B-server가 서비스에 관여할 수밖에 없는데 이때 처리에 관련된 라이브러리가 Common Service Library이다. 주로 특정 피어가 다수의 피어에게 동시에 메시지나 이벤트를 보내는 서비스인 경우가 이에 해당한다.In addition to the services that can be established between peers among X-Talk services, there are services that must be composed of 1: N (N is an integer greater than 1) or N: 1. In this case, the B-server has no choice but to participate in the service. The library related to processing is the Common Service Library. This is usually the case when a particular peer is a service that sends messages or events to multiple peers at the same time.

Authentication Process(70)Authentication Process (70)

피어가 X-Talk에 참여하기 위해서는 제일 먼저 B-Server에 인증을 받고 접속을 해야 한다. B-Server는 인증 이외에 새로운 Peer의 등록, 권한등급의 설정 등 피어를 위한 기본서비스를 수행한다.To participate in X-Talk, a peer must first authenticate and connect to a B-Server. In addition to authentication, B-Server performs basic services for peers such as registering new peers and setting permission levels.

도 15는 C/S 방식과 P2P 방식을 융합한 네트워크에 있어 이기종 디바이스 피어들이 B-Server를 매개로 네트워크가 형성되어 있는 구조를 개략적으로 나타내고 있다. 이러한 구조에서 B-Server는 위에서 설명한 상기 X-Talk Component와의 상호동작을 수행한다.FIG. 15 schematically illustrates a structure in which heterogeneous device peers form a network via a B-Server in a network in which a C / S scheme and a P2P scheme are converged. In this structure, the B-Server performs interaction with the X-Talk Component described above.

B-Server와 X-Talk Component와의 상호동작Interaction between B-Server and X-Talk Component

모든 X-Talk Component는 B-Server에 접속된 후 사용될 수 있다. X-Talk 네트워크에서의 B-Server의 주된 기능은 다음의 표 1과 같다.All X-Talk components can be used after connecting to the B-Server. The main functions of B-Server in X-Talk network are shown in Table 1 below.

[표 1]TABLE 1

1. 신규 X-Talk 클라이언트의 등록 및 정보관리1. Registration and Information Management of New X-Talk Client 2. X-Talk 접속에 대한 인증2. Authentication for X-Talk connection 3. 접속하고 있는 X-Talk의 상태 감시 및 제어3. Monitor and control the status of the connected X-Talk 4. 접속하고 있는 X-Talk들의 자원을 공유/조정해 주는 기능4. Ability to share / control resources of connected X-Talks 5. 하나의 X-Talk 네트워크에서 다른 X-Talk 네트워크로 연결해주는 Gateway 기능5. Gateway function to connect from one X-Talk network to another X-Talk network

① 신규 X-Talk 클라이언트의 등록 및 정보관리① Registration and information management of new X-Talk client

X-Talk는 사용하기 전에 B-Server에 새로운 X-Talk 클라이언트를 위한 계정을 생성하고 사용해야 한다. 계정이 생성되면 접속 Hostname, IP, OS type(Platform type), shared directory, alias 등 네트워크와 접속자와 관계된 상세 정보가 B-Server의 데이터베이스에 저장된다. 또한 피어 그룹에 대한 내용, 계정의 사용권한에 대한 내용, X-Talk 상호간에 friend 설정에 관한 내용도 함께 저장된다.Before using X-Talk, you must create and use an account for a new X-Talk client on the B-Server. When an account is created, detailed information related to network and accessor such as hostname, IP, OS type (platform type), shared directory, and alias is stored in the database of B-Server. It also stores information about peer groups, account permissions, and friend settings between X-Talk parties.

② X-Talk 접속에 대한 인증② Authentication for X-Talk Connection

모든 X-Talk는 하나의 X-Talk ID에 오직 하나의 X-Talk 네트워크 세션이 배정된다. 즉 어떤 X-Talk가 특정 ID 를 사용 중에 있다면 다른 X-Talk는 같은 ID를 사용할 수 없다.Every X-Talk has only one X-Talk network session assigned to one X-Talk ID. That is, if an X-Talk is using a specific ID, no other X-Talk can use the same ID.

③ 접속하고 있는 X-Talk의 상태 감시 및 제어③ Monitoring and control status of connected X-Talk

B-Server는 현재 접속하고 있는 X-Talk의 연결을 강제로 종료시킬 수 있고 또한 사용을 제한할 수도 있다.B-Server can forcibly terminate the connection of X-Talk currently connected and can also restrict the use.

④ 접속하고 있는 X-Talk들의 자원을 공유/조정해 주는 기능④ Ability to share / control resources of connected X-Talks

여러 피어들이 참여하고 있는 X-Talk 네트워크에서는 서로 간에 자원을 공유함에 있어서 자원 사용의 독점권한을 얻고 사용 후 권한을 다른 X-Talk가 사용할 수 있도록 release해주는 기능을 제공한다. 예컨대 피어 A가 피어 B로 파일을 전송하고 있는 경우 또 다른 피어 C가 피어 B로 같은 이름의 파일을 생성하려고 할 때 피어 A가 피어 B로의 전송이 끝날 때까지 안전하게 사용할 수 있는 권한을 주는 것이 필요하다. 또 다른 예로서, 피어 A가 피어 B의 I/O 장치에 어떤 sequential한 제어신호를 전송하고 있을 때, 그 sequential한 제어신호가 다른 피어에게 방해받아서는 안 될 경우에, 피어 A에게 피어 B의 I/O에 대하여 독점권을 줄 수 있는 기능이 있어야 하며, 이러한 기능을 B-Server가 수행한다.X-Talk network with multiple peers provides the ability to obtain the exclusive right of resource use in sharing resources with each other and release the right after use to other X-Talk. For example, if Peer A is transferring a file to Peer B, when another Peer C tries to create a file of the same name as Peer B, it needs to give Peer A permission to use it safely until the end of the transfer to Peer B. Do. As another example, when peer A is sending a sequential control signal to peer B's I / O device, peer s should be sent to peer A if the sequential control signal should not be interrupted by another peer. There must be a function to give monopoly rights to I / O, and this function is performed by the B-Server.

피어 A는 실시간으로 독점권한을 의미하는 문자열을 B-Server에 등록할 수 있다. 만약 다른 피어 즉 피어 B가 피어 A가 현재 사용하고 있는 자원을 사용하려면 먼저 B-Server에게 피어 A가 지정한 자원을 현재 사용할 수 있는지 문의해야 한다. 문의한 결과가 OK가 얻어지면(사실 문의에 대한 결과는 OK 시그널과 동시에 문의한 피어를 위해 Locking까지를 해서 전송한다) 사용할 수 있고, 그 결과가 not OK이면 현재 다른 피어가 사용 중에 있다는 것을 의미한다. 이러한 방식으로 구성하면 참여하고 있는 어플리케이션(X-Talk Component를 포함하는 어플리케이션)들은 서로간의 약속에 의하여 각각의 피어 자원을 안전하게 사용할 수 있으며, B-Server는 이와 같은 프로세스를 주관하게 된다.Peer A may register a string representing the exclusive authority with the B-Server in real time. If another peer, peer B, wants to use the resources currently used by peer A, first ask the B-Server if the resources specified by peer A are currently available. If the result of the inquiry is OK (in fact, the result of the inquiry will be sent by locking for the inquiring peer at the same time as the OK signal). If the result is not OK, it means that another peer is currently in use. do. If configured in this way, participating applications (applications including X-Talk Component) can use each peer resource securely by mutual promise, and B-Server manages this process.

⑤ 하나의 X-Talk 네트워크에서 다른 X-Talk 네트워크로 연결해주는 게이트웨이 기능⑤ Gateway function to connect from one X-Talk network to another X-Talk network

하나의 B-Server는 하나의 X-Talk 네트워크를 구성한다. 따라서 여러 개의 B-Server가 존재하는 경우 즉 여러 X-Talk 네트워크가 있는 경우에는, 서로 다른 X-Talk 네트워크에 속한 피어들을 연결하도록 하는 게이트웨이의 역할을 수행한다.One B-Server composes one X-Talk network. Therefore, when there are multiple B-Servers, that is, when there are multiple X-Talk networks, it serves as a gateway to connect peers belonging to different X-Talk networks.

♣ 이하에서는 상기 X-Talk 네트워크를 기반으로 한 포스 시스템 구성에 대한 실시형태를 설명한다.Hereinafter, embodiments of the POS system configuration based on the X-Talk network will be described.

도 16은 POS 시스템의 개략적인 실시형태를 나타내고 있다.16 shows a schematic embodiment of a POS system.

유통업의 기본 시스템인 POS는 발주/재고/주문관리 등 여러 현장에서 일어나는 업무를 처리해야 한다. 때로는 특정 업무를 처리하는 컴퓨터나 기타 단말의 데이터에 접근할 필요가 있다. 기존의 C/S 환경에서는 업무 현장에서 서버로 데이터를 전송하는 단방향 처리만 가능하지만, 상기에서 상세히 설명한 본 발명의 X-Talk 기반 위에서는 모든 단말기, 서버는 동일한 피어로 간주되며(각 피어들에는 X-Talk 컴포넌트가 내장되어 있다), 이는 서버가 클라이언트 업무를 방해하지 않고 클라이언트의 정보를 수정하거나 읽을 수 있다. 이로 인해 유통현장에서 일어나는 업무를 유연하게 처리할 수 있는 기회를 제공한다. 예컨대 즉시 POS의 상품 가격을 변경하고자 할 때 캐쉬어(Cashier)의 업무를 방해하지 않고 하나의 피어로 지정된 서버의 데이터를 또 다른 피어인 포스 단말로 전송할 수 있다. 즉 신속하게 캐쉬어와 관계없이 새로운 가격으로 상품을 판매할 수 있다. 또한, 모바일을 지원하는 PDA를 통한 주문은 즉시 무선으로 POS에 반영되기 때문에 광범위한 현장에서의 업무 수행의 능력이 확장되게 된다.POS, the basic system of the retail business, has to deal with the work that takes place at various sites such as ordering, inventory, and order management. Sometimes it is necessary to access data from a computer or other terminal that performs a particular task. In the existing C / S environment, only one-way processing of transmitting data from the workplace to the server is possible, but on the X-Talk basis of the present invention described above, all terminals and servers are regarded as the same peer (each peer X-Talk components are built-in), which allows the server to modify or read the client's information without disrupting client tasks. This provides the opportunity to flexibly handle the work that takes place at the distribution site. For example, when a product price of a POS is to be changed immediately, the data of a server designated as one peer may be transmitted to another peer POS terminal without disturbing the work of the cashier. That means you can sell your products at new prices quickly, regardless of the cashier. In addition, orders from mobile-enabled PDAs are immediately reflected wirelessly in the POS, extending the ability to perform a wide range of jobs.

이와 같이 재고 관리 시스템과 연결된 PDA나 휴대폰은 해당 상품의 재고 유무 및 재고량을 즉시 확인할 수 있으며, 재고관리 서버를 경유하지 않고 바로 재고 관리 PDA 단말로부터 즉시 정보를 읽어 전송받을 수 있으므로 생산성은 더욱 향상될 수 있다.As such, the PDA or mobile phone connected to the inventory management system can immediately check the availability and inventory of the product, and can immediately read the information from the inventory management PDA terminal without going through the inventory management server, thereby improving productivity. Can be.

도 17은 하나의 포스 단말의 관점에서도 16의 실시형태를 더욱 상세하게 살펴본 일예를 나타내고 있다.FIG. 17 shows an example in which the sixteenth embodiment is described in more detail from the viewpoint of one force terminal.

X-Talk 컴포넌트가 탑재된 기기는 모두 동일한 조건에서 상호간에 어플리케이션이 원하는 이벤트/메시지/파일/데이터베이스를 동일 조건에서 실시간으로 핸들링하거나 주고받게 된다. 이에 대한 상세한 방식은 위에서 설명한 도 7, 도 8, 도 9 및 도 12의 실시예와 같으며, 예컨대 X-Talk 컴포넌트가 탑재된 각 피어 간의 매출정보검색, 재고정보 입력 및 검색, 긴급 판매가 변경, 무선 주문 데이터, 양방향 음성 통신, 긴급 메시지 전송, 파일 송수신, 데이터베이스 복제 등의 형태로 이루어지며, 위와 같은 포스 시스템의 서비스를 피어인 포스 단말(POS Terminal)이 다른 피어인 PDA(with wireless LAN or with wireless MODEM), 가맹점 PC 등에 요청함으로써 이루어지며, B-Server의 기능을 수행하는 웹 서버는 상기 포스 시스템의 피어 ID를 부여하며 인증 및 관리를 담당한다.Devices equipped with X-Talk components all handle or exchange events / messages / files / databases desired by applications under the same conditions in real time. Details of this method are the same as those of the embodiments of FIGS. 7, 8, 9, and 12 described above. For example, retrieval of sales information, input and retrieval of inventory information, change of emergency sales, It consists of wireless ordering data, two-way voice communication, emergency message transmission, file transmission, and database replication, and the PDA (with wireless LAN or with peer) is another peer of POS system service. It is made by requesting a wireless MODEM, a merchant PC, etc., and a web server performing a function of a B-Server assigns a peer ID of the POS system and is in charge of authentication and management.

도 18은 X-Talk 기반하에서의 포스 시스템 시나리오의 일예를 나타내고 있다.18 shows an example of a force system scenario based on X-Talk.

피어 간의 실시간 메시지/이벤트/음성데이터/파일데이터를 처리하는 실시형태로서, 예컨대 모든 어플리케이션에서 실시간으로 테이블 점유상태를 알아야 할 경우에, PDA 포스 단말에서 주문 처리 후 모든 X-Talk 컴포넌트가 내장된 피어에게 "SendAllUserEventWithMsg(1000, "테이블이 점유되었음"...)"의 주문 발생 이벤트 를 전송하면, 해당 이벤트를 전송받은 피어의 X-Talk 컴포넌트는 이를 해당 어플리케이션에 알리고, 어플리케이션이 구동하는 단말의 모니터상에 테이블 점유 상태가 표시된다. 이를 인식한 피어의 유저는 미리 결정된 어플리케이션의 절차에 따라 주문에 대응하는 실시간 메시지/이벤트를 주문을 요청한 해당 PDA 포스 단말로 전송하여 실시간 커뮤니케이션을 만들게 된다.An embodiment of processing real-time messages / events / voice data / file data between peers, for example, when all applications need to know the table occupancy status in real time, a peer having all X-Talk components embedded after order processing in a PDA POS terminal. Sends an order occurrence event of "SendAllUserEventWithMsg (1000," Table is occupied "...)" to the X-Talk component of the peer that received the event and notifies the corresponding application, and monitors the terminal running the application. The table occupancy status is displayed on the screen. Recognizing this, the user of the peer transmits a real-time message / event corresponding to the order to the corresponding PDA POS terminal requesting the order according to a predetermined application procedure to create a real-time communication.

긴급하게 현재 단말기의 판매가를 결정하고자 하는 실시형태로서, 포스 시스템의 본부 관리자의 단말기(Peer A)에서 데이터베이스 서버(Peer B)에게 긴급하게 판매가를 변경하는 특정 데이터베이스 명령을 Background Process에서 모든 단말기(Peer C)의 X-Talk 컴포넌트의 데이터베이스로 전송할 것을 명령하고, "ExecuteCommand2_Ex1("My-DB", "My POS1",...), ExecuteCommand2_Ex1("My-DB", "My MOS1",...),...", 전송이 완료되면 오더 피어에는 전송완료 이벤트가, 소스 피어에는 데이터베이스 변경 완료 이벤트가 각각 통지된다. 구체적인 절차는 도 12의 X-Talk 프로세스에서 설명한 바와 같다.As an embodiment for urgently determining the selling price of the current terminal, a specific database command for urgently changing the selling price from the terminal (Peer A) of the headquarters manager of the POS system to the database server (Peer B) is transmitted to all terminals (Peer) in the Background Process. Command to send to the database of X-Talk component of C), "ExecuteCommand2_Ex1 (" My-DB "," My POS1 ", ...), ExecuteCommand2_Ex1 (" My-DB "," My MOS1 ", ... ), ... ", When the transfer is completed, the order peer is notified of the transfer completion event, and the source peer is notified of the database change completion event. The detailed procedure is as described in the X-Talk process of FIG.

원격으로 버젼 업된 포스시스템 어플리케이션을 전송하거나 특정 피어의 상태를 조사하기 위해서는 원격으로 해당 피어에 접근하게 되며, 예컨대 본부 관리자 피어의 어플리케이션에서 각 피어 단말, 즉 "My Pos1, My Pos2,..., My Mos(Mobile Ordering System)1, My Mos2,...,"등의 어플리케이션의 DB에 억세스 할 수 있으며, 이에 대해서는 도 13의 실시형태에서 설명한 절차와 같다.In order to send a remotely upgraded POS system application or to examine the status of a particular peer, the peer is accessed remotely. For example, each peer terminal in the application of the headquarters manager peer, "My Pos1, My Pos2, ..., DBs of applications such as My Mos (Mobile Ordering System) 1, My Mos 2, ..., "can be accessed, which is the same as the procedure described in the embodiment of FIG.

한편, 이상의 각 포스시스템의 각 피어 간의 네트워크는 B-Server에서 피어 접속에 대한 인증절차로서 피어 ID를 부여하게 되며, B-Server는 접속하고 있는 포 스 시스템의 X-Talk 의 상태를 감시하거나 제어하게 된다.On the other hand, the network between each peer of each of the above POS systems gives a peer ID as an authentication procedure for peer connection in the B-Server, and the B-Server monitors or controls the status of X-Talk of the connected POS system. Done.

도 19는 또 다른 포스 시스템이 접속되어 확장되는 실시형태의 개략적인 구성을 나타낸다.19 shows a schematic configuration of an embodiment in which another force system is connected and extended.

유통망 A에 대한 포스시스템에 대한 인증 및 관리를 수행하는 B-Server 1과 유통망 B에 대한 포스시스템에 대한 인증 및 관리를 수행하는 B-Server 2가 상호 접속되어 있으며, 유통망 A 및 유통망 B는 각각 피어 투 피어 네트워크로서 도 16 내지 도 18의 구성을 가지게 된다. 이때 B-Server 1과 B-Server 2는 그에 속한 피어들과 함께 X-Talk 네트워크를 형성하며, 각각의 네트워크에 대한 게이트웨이로서의 역할을 수행하게 되고, 이로써 포스 시스템의 네트워크를 확장시켜나갈 수 있다. 이러한 네트워크의 확장이 용이한 것은 서로간의 포스 시스템 어플리케이션이 상이하더라도 그 기초가 되는 통합 미들웨어인 X-Talk 컴포넌트가 네트워크를 구성하는 모든 피어에게 탑재되어 동일한 X-Talk 프로토콜을 형성하고 있기 때문이다.B-Server 1, which performs authentication and management of POS System for distribution network A, and B-Server 2, which performs authentication and management of POS System for distribution network B, are interconnected. The peer to peer network has the configuration of FIGS. 16 to 18. At this time, B-Server 1 and B-Server 2 form an X-Talk network with peers belonging to it, and serve as a gateway for each network, thereby expanding the network of the POS system. This network is easy to expand because the X-Talk component, which is the underlying integrated middleware, is installed on all peers forming the network even though the POS system applications are different from each other, forming the same X-Talk protocol.

이상의 실시예들은 단지 본 발명을 예시하기 위한 것이며, 본 발명의 보호범위가 이들 실시예에 의해 제한되는 것은 아니다.The above embodiments are merely for illustrating the present invention, and the protection scope of the present invention is not limited by these embodiments.

이상에서 상세히 설명한 바와 같이, 본 발명에 따르면, 포스 시스템을 구성하는 매장의 각 포스 단말 또는 서버들이 모두 동일한 피어로서 구성되며, 각각의 피어들에 동일한 통합 미들웨어 컴포넌트를 내장하여 동일한 프로토콜을 형성하도록 함으로써 각 피어들이 가지고 있는 자원의 공유가 원활하며, 각 자원(데이터베이스)에 대한 자유로운 핸들링이 가능하여 보다 유연하고 효과적인 포스 시스템을 구성할 수 있는 장점이 있다. As described in detail above, according to the present invention, each POS terminal or server of the store constituting the POS system is configured as the same peer, by embedding the same integrated middleware component in each peer to form the same protocol The sharing of resources owned by each peer is smooth, and free handling of each resource (database) is possible, making it possible to construct a more flexible and effective force system.

예컨대 각 포스 단말 간에 메시지 채팅이 가능하며, 실시간 매장 상태를 공유하면서 재고정보에 대한 통신이 각 매장 상호간에 능동적으로 이루어질 수 있도록 하는 한편, 긴급 판매가를 실시간으로 결정하고 원격에서 다른 매장의 포스 단말의 데이터베이스를 원격에서 용이하게 업그레이드할 수 있는 시스템을 제공함으로써 포스 시스템의 생산성을 높일 수 있는 장점이 있다.For example, a message chat is possible between each POS terminal, and communication of inventory information can be actively performed between stores while sharing real-time store status, while determining emergency selling price in real time and remotely executing POS terminal of another store. Providing a system that can easily upgrade the database remotely has the advantage of increasing the productivity of the POS system.

또한, 포스 시스템 자체의 어플리케이션이 상이하더라도 그 어플리케이션의 하위계층에 형성된 통합 미들웨어가 동일한 프로토콜을 형성하고 있기 때문에, 복수의 포스 시스템간의 네트워크의 확장을 용이하게 구현할 수 있는 유용한 효과가 있다.In addition, even if the application of the force system itself is different, since the integrated middleware formed in the lower layer of the application forms the same protocol, there is a useful effect that can easily implement the expansion of the network between a plurality of force systems.

그밖에 본 발명의 특유한 구성으로 말미암아 발생하는 특유한 효과는 발명의 구성에서 설명한 범위에서 용이하게 추고할 수 있으며, 본 발명의 효과는 이상에서 설명한 실시예 및 본 발명의 청구 범위에 기재된 사항뿐만 아니라, 이들로부터 용이하게 추고할 수 있는 범위 내에서 발생될 수 있는 효과 및 산업발전에 기여하는 잠정적 장점의 가능성들에 의해 보다 넓은 범위로 포섭될 것임을 첨언한다.In addition, the unique effects generated by the peculiar constitution of the present invention can be easily estimated in the range described in the constitution of the present invention, and the effect of the present invention is not only the matters described in the above-described embodiments and claims of the present invention, but these It is noted that it will be encompassed by a wider range of potential effects that may occur within a range that can be easily drafted from, and potential advantages that contribute to industrial development.

Claims (8)

포스 단말과 포스 서버에 발주/재고/주문관리에 관한 포스 시스템 어플리케이션이 탑재되며, 포스 단말 및 포스 서버 간에 이루어지는 피어 투 피어(Peer to Peer) 기반의 포스 시스템으로서:A POS system application for ordering / inventory / order management is installed on a POS terminal and a POS server, and is a peer-to-peer based POS system between a POS terminal and a POS server: 상기 포스 단말과 포스 서버를 포함한 N(N은 1보다 큰 정수)개의 피어 단말;N (N is an integer greater than 1) peer terminals including the force terminal and the force server; 상기 각각의 피어 단말 내에 컴포넌트로 구성되며, 포스 시스템의 발주/재고/주문의 관리에 관한 통합된 서비스 자원을 포함하는 서버 영역과 네트워크 접속 및 서비스 요청 프로세스를 진행하는 클라이언트 영역으로 구분되는 통합 미들웨어 컴포넌트("X-Talk Component"); 및An integrated middleware component configured as a component in each peer terminal and divided into a server area including an integrated service resource related to ordering / stocking / order management of a POS system and a client area performing a network connection and service request process. ("X-Talk Component"); And 상기 피어 단말의 네트워크 접속시 고유한 피어 ID 코드를 부여하는 브릿징 서버;를 포함하며, 각 피어 단말 간의 프로토콜이 어플리케이션 계층에 형성되는, 피어 투 피어 기반의 통합 미들웨어를 이용한 포스 시스템Bridging server for assigning a unique peer ID code when the peer terminal is connected to the network; including, a protocol between each peer terminal is formed in the application layer, the POS system using a peer-to-peer-based integrated middleware 제 1 항에 있어서,The method of claim 1, 상기 통합 미들웨어 컴포넌트는, 인터페이스를 통해 포스 시스템 어플리케이션과 연결되며,The integrated middleware component is connected to the POS system application through an interface, 피어 단말 간의 연결모듈로서 데이터 패킷이 송수신되는 X-Talk P2P Connector 모듈;An X-Talk P2P connector module for transmitting and receiving data packets as a connection module between peer terminals; 상기 X-Talk P2P Connector 모듈을 통하여 데이터 패킷을 수신하며, 데이터 패킷을 분류하고 그 분류에 따라 프로세스를 결정하는 Packet Parser 모듈;A Packet Parser module for receiving a data packet through the X-Talk P2P Connector module, classifying the data packet and determining a process according to the classification; 상기 Packet Parser 모듈에서 분류된 데이터 패킷의 결과 데이터에 따라 명령전송과 데이터 처리방식을 결정하는 Sync. Coordinator 모듈;Sync for determining the command transmission and data processing method according to the result data of the data packet classified by the Packet Parser module. Coordinator module; 상기 Packet Parser로부터 전송된 상대방 피어 단말의 요청 서비스를 실행하는 X-Talk Server 모듈;An X-Talk Server module executing a request service of a peer peer terminal transmitted from the Packet Parser; 상대방 피어 단말의 요청 서비스를 실행할 때 필요한 컨텐츠를 포함하며, 피어 단말의 자원과 연결되는 통합 서비스 라이브러리 모듈; 및An integrated service library module including contents necessary for executing a request service of a peer peer terminal and connected to resources of the peer terminal; And 상대방 피어 단말의 정보를 상기 브릿징 서버를 통해 검색하며 피어 ID를 부여하는 네이밍 모듈을 포함하는, 피어 투 피어 기반의 통합 미들웨어를 이용한 포스 시스템.And a naming module for retrieving information of a counterpart peer terminal through the bridging server and assigning a peer ID to the peer system. 제 2 항에 있어서,The method of claim 2, 상기 Sync. Coordinator 모듈은 Sync 전송인지 또는 Async 전송인지를 결정하며, Sync. Coordinator module decides whether to send Sync or Async. Sync 전송의 경우에는 제 1 피어 단말의 미리 결정된 대기 시간까지는 제 2 피어 단말에서 응답이 올 때까지 대기하며, Async 전송인 경우에는 제 2 피어 단말에게 명령을 전송한 다음에 대기하지 않고 곧바로 제어권을 제 1 피어 단말의 포스 시스템 어플리케이션으로 돌려주는 것인, 피어 투 피어 기반의 통합 미들웨어를 이용한 포스 시스템.In the case of a sync transmission, the second peer terminal waits until a response is received until a predetermined waiting time of the first peer terminal. In the case of an Async transmission, the control right is immediately transmitted without waiting after transmitting a command to the second peer terminal. Force system using peer-to-peer based integrated middleware to return to the force system application of the first peer terminal. 제 1 항에 있어서,The method of claim 1, 상기 브릿징 서버는 제 1 브릿징 서버로서 제 1 포스 시스템의 모든 피어의 인증 및 관리를 수행하며, 다른 브릿징 서버가 제 2 브릿징 서버로서 제 2 포스 시스템 또는 이종의 제 3 네트워크에 소속된 모든 피어의 인증 및 관리를 수행하고, 상호 네트워크의 연결이 이루어지는 경우에,The bridging server performs authentication and management of all peers of the first force system as a first bridging server, and another bridging server belongs to a second force system or a heterogeneous third network as a second bridging server. If all peers are authenticated and managed, and if they are connected to each other, 상기 브릿징 서버들은 각각 상대방 브릿징 서버의 네트워크에 대한 게이트웨이의 역할을 수행하는, 피어 투 피어 기반의 통합 미들웨어를 이용한 포스 시스템.The bridging servers each act as a gateway to a network of the other bridging server, a force system using peer-to-peer based integrated middleware. 포스 서버 및 포스 단말을 포함한 포스 시스템의 각 피어 단말에는 통합 서비스 라이브러리를 구비한 통합 미들웨어 컴포넌트가 미리 설치되고, 각 피어 단말에 피어 ID 코드를 부여하며 인증을 수행하는 브릿징 서버가 구비되며, 각 피어 단말간의 통신이 통합 미들웨어 P2P Connector 모듈을 통해 이루어지는 네트워크 시스템을 기반으로 하여, 피어 투 피어 기반에서의 포스 시스템 구성방법으로서: Each peer terminal of the POS system including a POS server and a POS terminal is pre-installed with an integrated middleware component having an integrated service library, and is provided with a bridging server for assigning a peer ID code to each peer terminal and performing authentication. As a method for configuring a POS system on a peer-to-peer basis, based on a network system where peer-to-peer communication is performed through an integrated middleware P2P connector module: 요청 피어인 제 1 피어 단말의 포스 시스템 어플리케이션을 매개로 인터페이스를 통해 포스 시스템의 발주/재고/주문 관리에 관한 통합 서비스의 특정 메쏘드(Method)를 호출하는 단계;Invoking a specific method of an integrated service relating to ordering / stocking / order management of the POS system via an interface through a POS system application of a first peer terminal that is the requesting peer; 상기 브릿징 서버에 접속하여 제 1 피어 단말의 피어 ID를 획득하는 단계;Accessing the bridging server to obtain a peer ID of a first peer terminal; 상기 제 1 피어 단말이 목적지 피어인 제 2 피어 단말로 특정 서비스의 요청명령을 전송하는 단계;Transmitting a request command of a specific service to a second peer terminal in which the first peer terminal is a destination peer; 상기 제 2 피어 단말이 요청받은 서비스에 대하여 자신의 통합 서비스 라이브러리를 통해 응답을 작성하여 제 1 피어 단말로 전송하는 단계; 및The second peer terminal creating a response to the requested service through its integrated service library and transmitting the response to the first peer terminal; And 상기 제 1 피어 단말이 상기 제 2 피어 단말로부터 수신한 응답을 체크한 후 자신의 포스 시스템 어플리케이션에 통지하는 단계를 포함하는, 피어 투 피어 기반의 통합 미들웨어를 이용한 포스 시스템 구성방법.And checking, by the first peer terminal, a response received from the second peer terminal, and notifying its force system application of the peer system to peer-to-peer based integrated middleware. 제 5 항에 있어서,The method of claim 5, 상기 특정 서비스의 요청명령의 전송이 Sync 전송인지 또는 Async 전송인지를 결정하는 단계; 및Determining whether the transmission of the request command of the specific service is a Sync transmission or an Async transmission; And Sync 전송의 경우에는 제 1 피어 단말의 미리 결정된 대기 시간까지는 제 2 피어 단말에서 응답이 올 때까지 대기하며, Async 전송인 경우에는 제 2 피어 단말에게 명령을 전송한 다음에 대기하지 않고 곧바로 제어권을 제 1 피어 단말의 포스 시스템 어플리케이션으로 돌려주는 단계를 더 포함하는, 피어 투 피어 기반의 통합 미들웨어를 이용한 포스 시스템 구성방법.In the case of a sync transmission, the second peer terminal waits until a response is received until a predetermined waiting time of the first peer terminal. In the case of an Async transmission, the control right is immediately transmitted without waiting after transmitting a command to the second peer terminal. Returning to the force system application of the first peer terminal, further comprising the step of configuring a force system using peer-to-peer based integrated middleware. 제 5 항에 있어서,The method of claim 5, 상기 특정 서비스의 요청명령은, 제 1 피어 단말이 제 3 피어 단말을 타깃 피어로 설정하고, 제 2 피어 단말로 하여금 자기가 가지고 있는 자원을 제 3 피어 단말로 전송해주도록 요청하는 것인, 피어 투 피어 기반의 통합 미들웨어를 이용한 포스 시스템 구성방법.The request command for the specific service is that the first peer terminal sets the third peer terminal as the target peer, and requests the second peer terminal to transmit its own resources to the third peer terminal. A method of configuring POS system using two peer-based integrated middleware. 제 5 항 내지 제 7 항 중 어느 한 항에 있어서,The method according to any one of claims 5 to 7, 상기 통합 서비스 라이브러리에는 피어 단말 간의 데이터베이스 핸들링(DB Handling), 피어들에 저장되어 있는 파일의 억세스, 또는 데이터베이스의 업그레이드, 이벤트/메시지 전송, 파일 전송에 관한 모듈이 일원화되어 구비되며, The integrated service library is provided with unified modules for database handling (DB Handling) between peer terminals, access to files stored in peers, or database upgrade, event / message transfer, and file transfer. 제 1 피어 단말의 포스 시스템 어플리케이션이 상기 통합 서비스 라이브러리에 모듈화되어 있는 어느 하나 이상을 선택하여 특정 메쏘드를 호출하는 것인, 피어 투 피어 기반의 통합 미들웨어를 이용한 포스 시스템 구성방법.A method for configuring a POS system using peer-to-peer-based integrated middleware, wherein the POS system application of the first peer terminal selects one or more modules modularized in the integrated service library and calls a specific method.
KR1020050028439A 2005-04-06 2005-04-06 A pos system using unification meddle ware based on peer to peer KR100728745B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050028439A KR100728745B1 (en) 2005-04-06 2005-04-06 A pos system using unification meddle ware based on peer to peer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050028439A KR100728745B1 (en) 2005-04-06 2005-04-06 A pos system using unification meddle ware based on peer to peer

Publications (2)

Publication Number Publication Date
KR20060107012A KR20060107012A (en) 2006-10-13
KR100728745B1 true KR100728745B1 (en) 2007-06-14

Family

ID=37627399

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050028439A KR100728745B1 (en) 2005-04-06 2005-04-06 A pos system using unification meddle ware based on peer to peer

Country Status (1)

Country Link
KR (1) KR100728745B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001229097A (en) 2000-02-18 2001-08-24 Fujitsu Ltd Distribution processing system and client
JP2002260107A (en) 2001-02-27 2002-09-13 Toshiba Tec Corp Pos system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001229097A (en) 2000-02-18 2001-08-24 Fujitsu Ltd Distribution processing system and client
JP2002260107A (en) 2001-02-27 2002-09-13 Toshiba Tec Corp Pos system

Also Published As

Publication number Publication date
KR20060107012A (en) 2006-10-13

Similar Documents

Publication Publication Date Title
US10341468B2 (en) System and method for managing communications between a portable data terminal and a server
JP7058654B2 (en) Resource sharing methods, equipment and systems
US7707288B2 (en) Automatically building a locally managed virtual node grouping to handle a grid job requiring a degree of resource parallelism within a grid environment
US20030097457A1 (en) Scalable multiprocessor architecture for business computer platforms
CN101878469B (en) Integrating service-orientated architecture applications with a common messaging interface
JP2000500940A (en) Registry communication middleware
CN104639654A (en) Integrated access system and integrated access method for mass electricity information acquisition terminals
JP2009507441A (en) Method, system, and computer program for allocating resources within an autonomic sensor network ecosystem (autonomic sensor network ecosystem)
US8493888B2 (en) Connectivity architecture for service discovery
JP2010231759A (en) Mobile terminal device including mobile cloud platform
US20110167182A1 (en) Transport prioritization based on message type
US20110105024A1 (en) Transport independent service discovery
CN101310476A (en) Dns based client-server system and its use in electronic devices
CN103685535A (en) Interface design of cloud database system for large-scale distributed heterogeneous data treatment
CN101459526A (en) Projector sharing conference system based on service discovery
KR100571520B1 (en) The method of resource sharing in a home network system with unification middleware
JP4353036B2 (en) Remote connection system, server computer, remote connection method and program
Chtcherbina et al. Peer-to-peer coordination framework (p2pc): Enabler of mobile ad-hoc networking for medicine, business, and entertainment
KR100728745B1 (en) A pos system using unification meddle ware based on peer to peer
CN105847428A (en) Mobile cloud platform
Pirker et al. An approach for fipa agent service discovery in mobile ad hoc environments
KR100698234B1 (en) A server-client unification network system based on peer to peer
KR100715144B1 (en) Method comprising a mobile network system consisted of only pda
JPH076138A (en) Subentry point interface architecture for change control in computer network
Wu et al. Mobile agent based integrated control architecture for home automation system

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: 20110608

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee