KR102145579B1 - 서버와 클라이언트간 데이터 전송 시스템 - Google Patents

서버와 클라이언트간 데이터 전송 시스템 Download PDF

Info

Publication number
KR102145579B1
KR102145579B1 KR1020190178499A KR20190178499A KR102145579B1 KR 102145579 B1 KR102145579 B1 KR 102145579B1 KR 1020190178499 A KR1020190178499 A KR 1020190178499A KR 20190178499 A KR20190178499 A KR 20190178499A KR 102145579 B1 KR102145579 B1 KR 102145579B1
Authority
KR
South Korea
Prior art keywords
client
data
server
data transmission
speed
Prior art date
Application number
KR1020190178499A
Other languages
English (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 KR1020190178499A priority Critical patent/KR102145579B1/ko
Application granted granted Critical
Publication of KR102145579B1 publication Critical patent/KR102145579B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • 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
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • H04L67/327
    • H04L67/42
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명의 일실시예에 따르면, 서버와 클라이언트간 데이터 전송 시스템에 있어서, 인터넷을 포함하는 유무선 통신망을 통해 연결되는 서버와 복수의 클라이언트간 데이터 전송시 클라이언트별 데이터 송/수신 속도 정보와 장애 발생 정보를 기반으로 클라이언트간 데이터 전송 순서가 적응적으로 최적화되어 변경 설정되도록 함으로써 서버와 클라이언트간 데이터 전송 속도를 높일 수 있도록 한다.

Description

서버와 클라이언트간 데이터 전송 시스템{DATA TRANSFER SYSTEM BETWEEN SERVER AND CLIENTS}
본 발명은 네트워크상에서 데이터 전송 서비스를 제공하는 것에 관한 것으로, 보다 상세하게는 인터넷을 포함하는 유무선 통신망을 통해 연결되는 서버와 복수의 클라이언트간 데이터 전송에 있어서 클라이언트별 데이터 송/수신 속도 정보와 장애 발생 정보를 기반으로 클라이언트간 데이터 전송 순서가 적응적으로 최적화되어 변경 설정되도록 함으로써 서버와 클라이언트간 데이터 전송 속도를 높일 수 있도록 하는 서버와 클라이언트간 데이터 전송 시스템에 관한 것이다.
근래에 들어, 인터넷 등의 네트워크 기술이 급속히 발전하고 이에 따라 인터넷 등의 네트워크를 이용한 각종 부가 서비스도 급속히 발전해 나가고 있다. 인터넷을 이용하여 제공되는 서비스로서 예컨대 고용량의 멀티미디어 데이터 등을 복수의 클라이언트에게 동시에 또는 순차적으로 전송하는 서비스가 점차 널리 이용되고 있다. 이러한 멀티미디어 데이터는 네트워크의 대역폭이 커지고 관련 기술들이 발달함에 따라 비교적 소용량의 이미지 데이터에서 고용량의 동영상 데이터로 확대되고 있다. 이렇게 고용량의 동영상 데이터를 네트워크를 통해 다수의 사용자에게 제공하기 위해서는 네트워크상에서 연결되는 서버와 클라이언트 또는 클라이언트와 클라이언트를 어떻게 연결할 것인가가 중요한 문제이다.
그러나, 종래에는 서버와 클라이언트간 데이터 전송에 있어서, 클라이언트별 데이터 송/수신 상태 정보와 장애 발생 등과 같은 클라이언트에서 발생할 수 있는 문제점을 고려하지 않고 서버와 클라이언트간 데이터 전송이 이루어짐에 따라 특정 클라이언트의 데이터 송/수신 상태가 저하되는 경우 서버와 복수의 클라이언트간 전체 데이터 송/수신 속도가 저하되는 문제점이 있었다.
대한민국 등록특허번호 10-0793420호(등록일자 2008년 01월 13일)
따라서, 본 발명의 목적은 인터넷을 포함하는 유무선 통신망을 통해 연결되는 서버와 복수의 클라이언트간 데이터 전송에 있어서 클라이언트별 데이터 송/수신 속도 정보와 장애 발생 정보를 기반으로 클라이언트간 데이터 전송 순서가 적응적으로 최적화되어 변경 설정되도록 함으로써 서버와 클라이언트간 데이터 전송 속도를 높일 수 있도록 하는 서버와 클라이언트간 데이터 전송 시스템을 제공하는 것이다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명에 따른 서버와 클라이언트간 데이터 전송 시스템은, 유무선 통신망을 통해 복수의 클라이언트와 연결되며, 각 클라이언트의 컴퓨팅 자원 정보를 기반으로 각 클라이언트를 정렬시킨 제1 데이터 전송 순서를 결정한 후, 상기 제1 데이터 전송 순서에 따른 첫 번째 클라이언트로 타겟 데이터를 전송하며, 각 클라이언트의 상기 타겟 데이터의 수신 속도와 송신 속도를 분석하여 수신 속도와 송신 속도가 높은 순으로 각 클라이언트를 정렬시킨 제2 데이터 전송 순서를 결정하여 상기 제2 데이터 전송 순서에 따른 첫 번째 클라이언트로 상기 타겟 데이터를 전송시키는 서버와, 상기 서버와 연결되어 자신의 컴퓨팅 자원 정보를 전송하고, 상기 서버로부터 상기 타겟 데이터를 수신하고, 상기 제1 데이터 전송 순서 또는 상기 제2 데이터 전송 순서에 따른 다음 순번의 클라이언트로 상기 타겟 데이터를 송신하며, 상기 타겟 데이터의 수신 및 송신을 수행하는 과정에서 상기 타겟 데이터에 대한 수신 데이터량과 송신 데이터량 정보를 실시간으로 상기 서버로 전송하는 상기 클라이언트를 포함할 수 있다.
또한, 상기 서버는, 각 클라이언트와 통신을 수행하여 각 클라이언트의 컴퓨팅 자원 정보를 수집하고, 각 클라이언트에서 처리되는 상기 타겟 데이터에 대한 수신 데이터량과 송신 데이터량을 실시간으로 수집하는 서버 통신부와, 각 클라이언트로부터 수집되는 각 클라이언트의 상기 타겟 데이터에 대한 수신 데이터량과 송신 데이터량을 기반으로 각 클라이언트의 상기 타겟 데이터의 수신속도 및 송신속도를 산출하는 데이터 전송 속도 산출부와, 각 클라이언트의 컴퓨팅 자원 정보를 기반으로 각 클라이언트를 정렬시킨 상기 제1 데이터 전송 순서를 설정하는 제1 데이터 전송 순서 결정부와, 모든 클라이언트로 상기 타겟 데이터가 전송된 경우, 각 클라이언트별 산출된 상기 타겟 데이터의 수신 속도와 송신 속도를 기반으로 상기 수신 속도와 송신 속도가 높은 순으로 각 클라이언트를 정렬시킨 제2 데이터 전송 순서를 설정하는 제2 데이터 전송 순서 결정부와, 상기 서버 통신부를 통해 상기 제1 데이터 전송 순서 또는 상기 제2 데이터 전송 순서에 따라 정해진 첫 번째 클라이언트로 상기 타겟 데이터를 송신하는 데이터 전송부와, 상기 제1 데이터 전송 순서 또는 상기 제2 데이터 전송 순서에 기반하여 상기 타겟 데이터가 전송될 상기 첫 번째 클라이언트를 결정하고, 상기 데이터 전송부를 제어하여 상기 첫 번째 클라이언트로 상기 타겟 데이터가 전송되도록 제어하는 서버 제어부를 포함할 수 있다.
또한, 상기 제2 데이터 전송 순서 결정부는, 각 클라이언트의 상기 타겟 데이터에 대한 수신 속도와 송신 속도를 실시간으로 산출하고, 기설정된 일정 제1 기준 시간이 경과할 때마다 각 클라이언트의 상기 타겟 데이터에 대한 평균 수신 속도와 평균 송신 속도를 산출하며, 상기 평균 수신 속도와 평균 송신 속도를 기반으로 상기 평균 수신 속도와 평균 송신 속도가 높은 순으로 상기 제2 데이터 전송 순서를 다시 결정할 수 있다.
또한, 상기 제2 데이터 전송 순서 결정부는, 실시간으로 산출되는 각 클라이언트의 상기 타겟 데이터에 대한 수신 속도와 송신 속도를 기반으로 상기 수신 속도와 송신 속도 중 어느 하나가 상기 서버에서 각 클라이언트로 전송하는 상기 타겟 데이터의 타겟 전송 속도와 대비하여 기설정된 기준 비율 이하로 떨어지는 감시 대상 클라이언트가 검출되는 경우, 상기 감시 대상 클라이언트에 대해서는 상기 제1 기준 시간이 경과 하지 않았더라도 상기 제2 데이터 전송 순서상 가장 마지막 순번의 클라이언트로 설정되도록 상기 제2 데이터 전송 순서를 변경시킬 수 있다.
또한, 상기 서버는, 각 클라이언트의 장애 발생 원인과 각 원인의 발생 회수를 저장하는 장애 발생 히스토리 DB와, 각 클라이언트에서 장애가 발생하는 경우 각 클라이언트로부터 전송되는 상기 장애 발생 원인에 대한 정보를 수신받아 상기 장애 발생 히스토리 DB내 해당 클라이언트의 장애 발생 원인 및 발생 회수 정보를 갱신시키는 데이터 전송 장애 분석부를 더 포함하며, 상기 데이터 전송 장애 분석부는, 상기 감시 대상 클라이언트의 상기 수신 속도와 송신 속도가 기설정된 제2 기준 시간 동안 상기 기준 비율이하로 떨어진 상태에서 지속적으로 유지되는 경우, 상기 감시 대상 클라이언트에 장애가 발생한 것으로 판단하고, 상기 장애가 발생한 것으로 판단한 경우, 상기 장애 발생 히스토리 DB를 참조하여 상기 감시 대상 클라이언트에서 이전에 발생하였던 장애 발생 원인 중 발생 회수가 가장 많았던 장애 발생 원인을 추출한 후, 상기 추출된 장애 발생 원인 및 해당 장애 발생 원인을 해결할 수 있는 대응 방법을 상기 감시 대상 클라이언트로 제공하여 상기 장애 발생 원인이 조치되도록 할 수 있다.
또한, 상기 클라이언트는, 상기 서버 통신부와 통신을 수행하여 상기 서버로 상기 컴퓨팅 자원 정보를 전송하고, 상기 클라이언트에서 처리되는 상기 타겟 데이터에 대한 수신 데이터량과 송신 데이터량을 실시간으로 상기 서버로 전송하는 클라이언트 통신부와, 상기 클라이언트 통신부를 통해 상기 서버로부터 전송되는 상기 타겟 데이터를 수신하고, 상기 타겟 데이터를 다음 순번의 클라이언트로 송신하는 데이터 송수신 처리부와, 상기 서버로부터 상기 타겟 데이터를 수신하거나 상기 다음 순번의 클라이언트로 상기 타겟 데이터를 송신하는 과정에서 상기 타겟 데이터의 수신 데이터량과 송신 데이터량을 실시간으로 산출하고, 상기 산출된 수신 데이터량과 송신 데이터량을 상기 클라이언트 통신부를 통해 실시간으로 상기 서버로 전송하는 클라이언트 상태 분석부와, 상기 클라이언트의 상기 컴퓨팅 자원 정보와 상기 클라이언트에서의 상기 타겟 데이터에 대한 수신 데이터량과 송신 데이터량이 상기 클라이언트 통신부를 통해 상기 서버로 전송되도록 제어하는 클라이언트 제어부를 포함할 수 있다.
또한, 상기 컴퓨팅 자원 정보는, 각 클라이언트의 프로세서의 데이터 처리 속도와 메모리 용량, 통신 상태 정보를 포함할 수 있다.
본 발명의 일실시예에 따르면, 서버와 클라이언트간 데이터 전송 시스템에 있어서, 인터넷을 포함하는 유무선 통신망을 통해 연결되는 서버와 복수의 클라이언트간 데이터 전송시 클라이언트별 데이터 송/수신 속도 정보와 장애 발생 정보를 기반으로 클라이언트간 데이터 전송 순서가 적응적으로 최적화되어 변경 설정되도록 함으로써 서버와 클라이언트간 데이터 전송 속도를 높일 수 있도록 한다.
상술한 효과와 더불어 본 발명의 구체적인 효과는 이하 발명을 실시하기 위한 구체적인 사항을 설명하면서 함께 기술한다.
도 1은 본 발명의 일실시예에 따른 서버와 클라이언트간 데이터 전송 시스템의 네트워크 구성도.
도 2는 본 발명의 일실시예에 따른 서버와 클라이언트간 데이터 전송 순서 설정 예시도.
도 3은 본 발명의 일실시예에 따른 서버의 상세 블록 구성도.
도 4는 본 발명의 일실시예에 따른 클라이언트의 상세 블록 구성도.
도 5는 본 발명의 일실시예에 따른 서버와 클라이언트간 데이터 전송 시스템에서 서버와 클라이언간 데이터 전송을 위한 동작 제어 흐름도.
이하, 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일실시예에 따른 서버와 클라이언트간 데이터 전송 시스템의 네트워크 구성을 도시한 것이다.
이하, 도 1을 참조하여 본 발명의 일실시예에 따른 서버(server)(100)와 클라이언트(client)(110, 120, 130, 140)간 데이터 전송 시스템에서 서버와 클라이언트 각 구성 요소에서의 동작을 상세히 설명하기로 한다.
먼저, 서버(100)는 유무선 통신망을 통해 복수의 클라이언트와 연결되며, 데이터 전송 프로토콜에 따라 각 클라이언트와 다양한 데이터를 송수신할 수 있다. 이때, 서버(100)에서 클라이언트로 전송될 수 있는 다양한 데이터는 예를 들어 각종 미디어 파일 데이터, 어플리케이션 파일 데이터, 소프트웨어 데이터 및 업데이트 데이터 등을 포함할 수 있으며, 이하에서는 서버(100)에서 클라이언트(110, 120, 130, 140)로 전송되는 데이터를 타겟 데이터로 정의하여 사용하기로 한다.
또한, 서버(100)는 클라이언트가 타겟 데이터를 수신할 서버 또는 클라이언트의 접속 정보 및 타겟 데이터를 수신한 클라이언트가 해당 타겟 데이터를 전달한 다른 클라이언트의 접속 정보 등을 클라이언트로 전송할 수 있다. 여기서, 접속 정보는 예를 들어 서버(100) 또는 각 클라이언트의 IP주소, SSH key, DNS, MAC Address 등과 같이 통신 연결을 위한 정보일 수 있다.
서버(100)는 타겟 데이터를 복수의 클라이언트로 전송함에 있어서 최초에는 클라이언트별 컴퓨팅 자원 정보(resource information)를 고려하여 전체 클라이언트로 데이터 전송이 가장 빠르게 이루어질 수 있는 제1 데이터 전송 순서를 설정한 후, 제1 데이터 전송 순서 상 첫 번째 클라이언트로 타겟 데이터를 전송할 수 있다. 이때, 컴퓨팅 자원 정보를 기반으로 하는 제1 데이터 전송 순서에서는 컴퓨팅 자원 정보가 상대적으로 우수한 클라이언트가 제1 데이터 전송 순서에서 앞선 순위에 배치될 수 있다.
이때, 서버(100)와 연결되는 클라이언트가 예를 들어 4개의 클라이언트로 이루어진 것을 가정하면, 컴퓨팅 자원 정보를 고려한 제1 데이터 전송 순서는 예를 들어 도 2의 (a)에서 보여지는 바와 같이, 제1 클라이언트, 제2 클라이언트, 제3 클라이언트, 제4 클라이언트 순으로 설정될 수 있으며, 서버(100)로부터 전송된 타겟 데이터는 제1 데이터 전송 순서 상 첫 번째 클라이언트인 제1 클라이언트로 전송된 후, 제1 클라이언트로부터 제2 클라이언트, 제3 클라이언트 및 제4 클라이언트 순으로 각 클라이언트간에 전송될 수 있다.
또한, 이때, 클라이언트(110, 120, 130, 140)는 서버(100)와 통신이 가능한 단말을 의미하는 것으로 예를 들어 웹 브라우저(web browser) 등을 탑재하는 컴퓨터, 이동통신 단말기, PDA(personal digital assistant), 인터넷 접속기능을 가지는 TV 등의 통신장치가 될 수 있으며, 컴퓨팅 자원 정보라 함은 이러한 클라이언트가 구비하는 프로세서의 데이터 처리 속도와 메모리 용량, 통신 상태 정보 등을 의미할 수 있으나, 이에 한정되는 것은 아니다.
또한, 서버(100)는 위와 같이 제1 데이터 전송 순서를 기반으로 특정 클라이언트로 타겟 데이터를 전송한 후, 각 클라이언트로부터 전송되는 타겟 데이터의 수신 데이터량과 송신 데이터량에 대한 정보를 기반으로 각 클라이언트에서의 타겟 데이터에 대한 수신 속도와 송신 속도를 분석한다.
이어, 서버(100)는 각 클라이언트의 타겟 데이터에 대한 수신 속도와 송신 속도에 기반하여 수신 속도와 송신 속도가 높은 순으로 각 클라이언트를 정렬시켜 서버(100)로부터 전송된 타겟 데이터가 모든 클라이언트로 가장 빠르게 전송될 수 있는 제2 데이터 전송 순서를 설정한 후, 제2 데이터 전송 순서상 첫 번째 순번에 해당하는 클라이언트로 타겟 데이터를 전송시킬 수 있다.
이때, 타겟 데이터에 대한 수신 속도와 송신 속도를 고려한 제2 데이터 전송 순서는 예를 들어 도 2의 (b)에서 보여지는 바와 같이 제4 클라이언트, 제2 클라이언트, 제1 클라이언트, 제3 클라이언트 순으로 설정될 수 있으며, 서버로부터 전송된 타겟 데이터는 제2 데이터 전송 순서 상 첫 번째 클라이언트인 제4 클라이언트로 전송된 후, 제4 클라이언트로부터 제2 클라이언트로 전송되고, 다시 제2 클라이언트로부터 제1 클라이언트로 전송되며, 제1 클라이언트로부터 제3 클라이언트 등으로 전송될 수 있다.
이때, 타겟 데이터의 수신 속도는 제4 클라이언트의 경우 서버(100)로부터 전송된 타겟 데이터가 제4 클라이언트로 수신되는 속도를 의미할 수 있으며, 이러한 수신 속도는 제4 클라이언트로부터 서버(100)로 전송되는 타겟 데이터에 대한 실시간 수신 데이터량 정보를 기반으로 서버(100)에서 산출될 수 있으나, 이에 한정되는 것은 아니다. 또한, 타겟 데이터의 송신 속도는 제4 클라이언트로부터 제2 클라이언트로 송신되는 타겟 데이터의 속도를 의미할 수 있으며, 이러한 송신 속도는 제4 클라이언트로부터 서버(100)로 전송되는 타겟 데이터에 대한 실시간 송신 데이터량 정보를 기반으로 서버(100)에서 산출될 수 있으나, 이에 한정되는 것은 아니다.
또한, 이러한 타겟 데이터는 패킷 단위로 전송될 수 있으며, 각 클라이언트는 타겟 데이터에 대해 패킷 단위 등으로 이루어지는 타겟 데이터의 수신 데이터량 및 송신 데이터량 정보를 실시간으로 서버(100)로 전송하도록 구현될 수 있으나, 이에 한정되는 것은 아니다. 이에 따라, 서버(100)는 제1 데이터 전송 순서에 따라 각 클라이언트로 타겟 데이터를 전송한 이후 각 클라이언트로부터 실시간으로 전송되는 타겟 데이터에 대한 수신 데이터량과 송신 데이터량에 대한 정보를 기반으로 각 클라이언트의 수신 속도와 송신 속도를 분석한 후, 수신 속도와 송신 속도가 높은 순으로 클라이언트간 데이터 전송 순서를 새로이 설정함으로써 서버(100)와 클라이언트(110, 120, 130, 140)로 이루어지는 데이터 전송 시스템에서 데이터 전송이 신속하게 이루어질 수 있도록 하는 것이다.
또한, 서버(100)는 위와 같은 제2 데이터 전송 순서를 설정함에 있어서, 각 클라이언트의 타겟 데이터에 대한 수신 속도와 송신 속도를 실시간으로 산출하고, 기설정된 일정 제1 기준 시간이 경과할 때마다 각 클라이언트의 상기 타겟 데이터에 대한 평균 수신 속도와 평균 송신 속도를 산출할 수 있다. 이어, 서버(100)는 위와 같이 산출된 평균 수신 속도와 평균 송신 속도를 기반으로 평균 수신 속도와 평균 송신 속도가 높은 순으로 제2 데이터 전송 순서를 설정할 수 있으며, 이와 같이 설정된 제2 데이터 전송 순서에 대해 제1 기준 시간이 경과할 때마다 각 클라이언트의 수신 속도와 송신 속도를 고려하여 다시 결정할 수 있다. 이에 따라, 제2 데이터 전송 순서가 제1 기준 시간마다 각 클라이언트의 통신 상태에 대응되게 적응적으로 변경될 수 있어, 수시로 변화될 수 있는 통신 환경에 적응적으로 대처할 수 있게 된다.
또한, 서버(100)는 실시간으로 산출되는 각 클라이언트의 타겟 데이터에 대한 수신 속도와 송신 속도를 기반으로, 타겟 데이터에 대한 수신 속도와 송신 속도 중 어느 하나가 서버(100)에서 각 클라이언트로 전송하는 타겟 데이터의 타겟 전송 속도와 대비하여 기설정된 기준 비율 이하로 떨어지는 감시 대상 클라이언트가 검출되는 경우, 감시 대상 클라이언트에 대해서는 제1 기준 시간이 경과 하지 않았더라도 제2 데이터 전송 순서상 가장 마지막 순위의 클라이언트로 설정되도록 제2 데이터 전송 순서를 변경시킬 수 있다.
즉, 도 2의 (b)에서 같은 제2 데이터 전송 순서로 타겟 데이터가 각 클라이언트로 전송되는 과정에서 제2 데이터 전송 순서상 제2 클라이언트에서 수신 속도와 송신 속도가 타겟 전송 속도와 대비하여 기준 비율 이하로 떨어진 경우, 서버(100)는 제1 기준 시간이 경과 하기 전이라도 도 2의 (c)에서 보여지는 바와 같이 제2 클라이언트의 순번을 제2 데이터 전송 순서상 가장 마지막 순번으로 설정하여 전체 클라이언트 사이에서 타겟 데이터의 전송이 지연되는 것을 최소화할 수 있다.
또한, 서버(100)는 각 클라이언트의 장애 발생 원인과 각 원인의 발생 회수를 저장하는 장애 발생 히스토리 DB를 구비하며, 각 클라이언트에서 장애가 발생하는 경우 각 클라이언트로부터 전송되는 장애 발생 원인에 대한 정보를 수신받아 장애 발생 히스토리 DB상 해당 클라이언트의 장애 발생 원인 및 발생 회수 정보를 갱신시킬 수 있다.
또한, 서버(100)는 감시 대상 클라이언트의 수신 속도와 송신 속도가 기설정된 제2 기준 시간 동안 기준 비율 이하로 떨어진 상태에서 지속적으로 유지되는 경우, 감시 대상 클라이언트에 장애가 발생한 것으로 판단할 수 있다.
이어, 서버(100)는 감시 대상 클라이언트에서 장애가 발생한 것으로 판단한 경우, 장애 발생 히스토리 DB를 참조하여 감시 대상 클라이언트에서 이전에 발생한 장애 발생 원인 중 발생 회수가 가장 많았던 장애 발생 원인을 추출한 후, 추출된 장애 발생 원인 및 해당 장애 발생 원인을 해결할 수 있는 대응 방법을 감시 대상 클라이언트로 제공하여 감시 대상 클라이언트에서 장애 발생 원인이 신속히 조치되도록 할 수 있다.
다음으로, 클라이언트(110)는 유무선 통신망을 통해 서버와 연결되어 서버(100)로부터 전송되는 타겟 데이터를 수신하고 수신된 타겟 데이터를 제1 데이터 전송 순서 또는 제2 데이터 전송 순서에 따른 다음 순번의 클라이언트로 송신한다.
또한, 클라이언트(110)는 서버(100)와의 통신을 통해 자신의 컴퓨팅 자원 정보를 서버(100)로 전송하며, 서버(100)로부터 제1 데이터 전송 순서 또는 제2 데이터 전송 순서를 수신한다. 또한 클라이언트(110)는 제1 데이터 전송 순서 또는 제2 데이터 전송 순서에 따라 타겟 데이터를 수신하고, 다음 순번의 클라이언트로 타겟 데이터를 송신하는 과정에서 타겟 데이터에 대한 수신 데이터량과 송신 데이터량 정보를 실시간으로 산출한 후, 산출된 타겟 데이터의 수신 데이터량과 송신 데이터량 정보를 실시간으로 서버(100)로 전송할 수 있다.
도 3은 본 발명의 일실시예에 따른 서버의 상세 블록 구성을 도시한 것이다. 이하, 도 3을 참조하여 서버의 각 구성요소에서의 동작을 보다 상세히 설명하기로 한다.
먼저, 서버 통신부(105)는 유무선 통신망을 통해 각 클라이언트(110, 120, 130, 140)와 통신을 수행하여 각 클라이언트의 컴퓨팅 자원 정보를 수집하고, 각 클라이언트에서 처리되는 상기 타겟 데이터에 대한 수신 데이터량과 송신 데이터량에 대한 정보를 각 클라이언트로부터 실시간으로 전송받아 수집한다.
데이터 전송 속도 산출부(103)는 서버 통신부(105)를 통해 각 클라이언트로부터 수집되는 각 클라이언트의 타겟 데이터에 대한 수신 데이터량과 송신 데이터량에 대한 정보를 기반으로 각 클라이언트의 타겟 데이터의 수신속도 및 송신속도를 산출한다.
이때, 타겟 데이터의 수신 속도는 도 2의 (b)를 참조하면 예를 들어 제4 클라이언트의 경우 서버로부터 전송된 타겟 데이터가 제4 클라이언트로 수신되는 속도를 의미할 수 있으며, 데이터 전송 속도 산출부(103)는 제4 클라이언트로부터 서버(100)로 전송되는 타겟 데이터에 대한 실시간 수신 데이터량 정보를 기반으로 수신 속도를 산출할 수 있다.
또한, 타겟 데이터의 송신 속도는 제4 클라이언트로부터 제2 클라이언트로 송신되는 타겟 데이터의 속도를 의미할 수 있으며, 데이터 전송 속도 산출부(103)는 제4 클라이언트로부터 서버로 전송되는 타겟 데이터에 대한 실시간 송신 데이터량 정보를 기반으로 송신 속도를 산출할 수 있다.
제1 데이터 전송 순서 결정부(101)는 각 클라이언트의 컴퓨팅 자원 정보를 기반으로 각 클라이언트를 정렬시킨 상기 제1 데이터 전송 순서를 설정할 수 있다. 즉, 제1 데이터 전송 순서 결정부(101)는 타겟 데이터를 복수의 클라이언트로 전송함에 있어서 처음에 클라이언트별 컴퓨팅 자원 정보를 고려하여 전체 클라이언트로 데이터 전송이 가장 빠르게 이루어질 수 있는 제1 데이터 전송 순서를 설정할 수 있다.
이때, 서버(100)와 연결되는 클라이언트(110, 120, 130, 140)가 예를 들어 4개의 클라이언트로 이루어진 것을 가정하면, 제1 데이터 전송 순서 결정부(101)는 컴퓨팅 자원 정보를 고려하여 예를 들어, 도 2의 (a)에서 보여지는 바와 같이, 제1 클라이언트, 제2 클라이언트, 제3 클라이언트, 제4 클라이언트 순으로 제1 데이터 전송 순서를 설정할 수 있으며, 이에 따라, 서버(100)로부터 전송된 타겟 데이터는 제1 데이터 전송 순서상 첫 번째 클라이언트인 제1 클라이언트로 전송된 후, 제1 클라이언트로부터 제2 클라이언트, 제3 클라이언트 및 제4 클라이언트 순으로 각 클라이언트간에 전송될 수 있다.
제2 데이터 전송 순서 결정부(102)는 모든 클라이언트로 타겟 데이터가 전송된 경우, 각 클라이언트별 분석된 상기 타겟 데이터의 수신 속도와 송신 속도를 기반으로 수신 속도와 송신 속도가 높은 순으로 각 클라이언트를 정렬시킨 제2 데이터 전송 순서를 설정할 수 있다.
즉, 제2 데이터 전송 순서 결정부(102)는 위와 같이 제1 데이터 전송 순서를 기반으로 클라이언트로 타겟 데이터가 전송된 후, 데이터 전송 속도 산출부(103)를 통해 각 클라이언트의 타겟 데이터에 대한 수신 속도와 송신 속도가 산출되는 경우, 각 클라이언트의 타겟 데이터에 대한 수신 속도와 송신 속도에 기반하여 수신 속도와 송신 속도가 높은 순으로 각 클라이언트를 정렬시켜 서버(100)로부터 전송된 타겟 데이터가 모든 클라이언트로 가장 빠르게 전송될 수 있는 제2 데이터 전송 순서를 설정할 수 있다.
이때, 제2 데이터 전송 순서 결정부(102)는 타겟 데이터에 대한 수신 속도와 송신 속도를 고려하여 예를 들어 도 2의 (b)에서 보여지는 바와 같이 제4 클라이언트, 제2 클라이언트, 제1 클라이언트, 제3 클라이언트 순으로 제2 데이터 전송 순서를 설정할 수 있으며, 서버(100)로부터 전송된 타겟 데이터는 제2 데이터 전송 순서상 첫 번째 클라이언트인 제4 클라이언트로 전송된 후, 제4 클라이언트로부터 제2 클라이언트로 전송되고, 다시 제2 클라이언트로부터 제1 클라이언트로 전송되며, 제1 클라이언트로부터 제3 클라이언트로 전송될 수 있다.
또한, 제2 데이터 전송 순서 결정부(102)는 제2 데이터 전송 순서를 설정함에 있어서, 각 클라이언트의 타겟 데이터에 대한 수신 속도와 송신 속도를 실시간으로 산출하고, 기설정된 제1 기준 시간이 경과할 때마다 각 클라이언트의 타겟 데이터에 대한 평균 수신 속도와 평균 송신 속도를 산출할 수 있다. 이어, 제2 데이터 전송 순서 결정(102)부는 위와 같이 산출된 평균 수신 속도와 평균 송신 속도를 기반으로 평균 수신 속도와 평균 송신 속도가 높은 순으로 제2 데이터 전송 순서를 설정할 수 있으며, 이와 같이 설정된 제2 데이터 전송 순서에 대해 제1 기준 시간이 경과할 때마다 각 클라이언트의 수신 속도와 송신 속도를 고려하여 다시 결정할 수 있다. 이에 따라, 제2 데이터 전송 순서가 제1 기준 시간마다 각 클라이언트의 통신 상태에 대응되게 적응적으로 변경될 수 있어, 수시로 변화될 수 있는 통신 환경에 적응적으로 대처할 수 있게 된다.
또한, 제2 데이터 전송 순서 결정부는 실시간으로 산출되는 각 클라이언트의 타겟 데이터에 대한 수신 속도와 송신 속도를 기반으로, 타겟 데이터에 대한 수신 속도와 송신 속도 중 어느 하나가 서버(100)에서 각 클라이언트로 전송하는 타겟 데이터의 타겟 전송 속도와 대비하여 기설정된 기준 비율 이하로 떨어지는 감시 대상 클라이언트가 검출되는 경우, 감시 대상 클라이언트에 대해서는 제1 기준 시간이 경과 하지 않았더라도 제2 데이터 전송 순서상 가장 마지막 순위의 클라이언트로 설정되도록 제2 데이터 전송 순서를 변경시킬 수 있다.
즉, 도 2의 (b)에서 같은 제2 데이터 전송 순서로 타겟 데이터가 각 클라이언트로 전송되는 과정에서 제2 데이터 전송 순서상 제2 클라이언트에서 수신 속도와 송신 속도가 타겟 전송 속도와 대비하여 기준 비율 이하로 떨어진 경우, 제2 데이터 전송 순서 결정부(102)는 제1 기준 시간이 경과 하기 전이라도 도 2의 (c)에서 보여지는 바와 같이 제2 클라이언트의 순번을 제2 데이터 전송 순서상 가장 마지막 순번으로 설정하여 전체 클라이언트 사이에서 타겟 데이터의 전송이 지연되는 것을 최소화할 수 있다.
장애 발생 히스토리 DB(108)는 각 클라이언트의 장애 발생 원인과 각 원인의 발생 회수를 저장한다.
데이터 전송 장애 분석부(107)는 각 클라이언트에서 장애가 발생하는 경우 각 클라이언트로부터 전송되는 상기 장애 발생 원인에 대한 정보를 수신받아 장애 발생 히스토리 DB(108)상 해당 클라이언트의 장애 발생 원인 및 발생 회수 정보를 갱신시킨다.
또한, 데이터 전송 장애 분석부(107)는 감시 대상 클라이언트의 수신 속도와 송신 속도가 기설정된 제2 기준 시간 동안 기준 비율 이하로 떨어진 상태에서 지속적으로 유지되는 경우, 감시 대상 클라이언트에 장애가 발생한 것으로 판단할 수 있다.
이어, 데이터 전송 장애 분석부(107)는 감시 대상 클라이언트에서 장애가 발생한 것으로 판단한 경우, 장애 발생 히스토리 DB(108)를 참조하여 감시 대상 클라이언트에서 이전에 발생한 장애 발생 원인 중 발생 회수가 가장 많았던 장애 발생 원인을 추출한 후, 추출된 장애 발생 원인 및 해당 장애 발생 원인을 해결할 수 있는 대응 방법을 감시 대상 클라이언트로 제공하여 감시 대상 클라이언트에서 장애 발생 원인이 신속히 조치되도록 할 수 있다.
데이터 전송부(106)는 제1 데이터 전송 순서 또는 제2 데이터 전송 순서에 따라 정해진 첫 번째 클라이언트로 서버 통신부(105)를 통해 타겟 데이터를 송신한다.
서버 제어부(109)는 메모리부(104)에 저장된 동작 프로그램에 따라 서버(100)의 전반적인 동작을 제어한다.
또한, 본 발명의 일실시예에 따라 제1 데이터 전송 순서 또는 상기 제2 데이터 전송 순서에 기반하여 타겟 데이터가 전송될 첫 번째 클라이언트를 결정하고, 데이터 전송부(106)를 제어하여 첫 번째 클라이언트로 타겟 데이터가 전송되도록 제어한다.
도 4는 본 발명의 일실시예에 따른 클라이언트의 상세 블록 구성을 도시한 것이다. 이하, 도 4를 참조하여 클라이언트의 각 구성요소에서의 동작을 보다 상세히 설명하기로 한다.
먼저, 클라이언트 통신부(113)는 유무선 통신망을 통해 서버 통신부(105)와 통신을 수행하여 서버(100)로 자신의 컴퓨팅 자원 정보를 전송하고, 클라이언트(110)에서 처리되는 타겟 데이터에 대한 수신 데이터량과 송신 데이터량을 실시간으로 서버(100)로 전송한다.
데이터 송수신 처리부(114)는 클라이언트 제어부(115)의 제어에 따라 클라이언트 통신부(113)를 통해 서버(100)로부터 전송되는 타겟 데이터를 수신하고, 수신한 타겟 데이터를 다음 순번의 클라이언트로 송신한다.
클라이언트 상태 분석부(111)는 서버(100)로부터 타겟 데이터를 수신하거나 다음 순번의 클라이언트로 타겟 데이터를 송신하는 과정에서 타겟 데이터의 수신 데이터량과 송신 데이터량을 실시간으로 산출하고, 산출된 수신 데이터량과 송신 데이터량을 클라이언트 통신부(113)를 통해 실시간으로 서버(100)로 전송한다.
클라이언트 제어부(115)는 메모리부(112)에 저장된 동작 프로그램에 따라 클라이언트의 전반적인 동작을 제어한다.
또한, 본 발명의 일실시예에 따라 클라이언트의 각 부의 동작을 제어하며, 클라이언트의 컴퓨팅 자원 정보와 클라이언트에서의 타겟 데이터에 대한 수신 데이터량과 송신 데이터량이 클라이언트 통신부(113)를 통해 서버(100)로 전송되도록 제어한다.
도 5는 본 발명의 일실시예에 따른 서버와 클라이언트간 데이터 전송 시스템에서 서버와 클라이언간 데이터 전송을 위한 동작 제어 흐름을 도시한 것이다.
이하, 도 1 내지 도 5를 참조하여 본 발명의 일실시예를 상세히 설명하기로 한다.
먼저, 서버(100)는 각 클라이언트의 컴퓨팅 자원 정보를 수신한다(S10).
이어, 서버(100)는 클라이언트별 컴퓨팅 자원 정보를 고려하여 전체 클라이언트로 데이터 전송이 가장 빠르게 이루어질 수 있는 제1 데이터 전송 순서를 설정한 후(S12), 제1 데이터 전송 순서 상 첫 번째 클라이언트로 타겟 데이터를 전송할 수 있다(S14).
이어, 서버(100)는 위와 같이 제1 데이터 전송 순서를 기반으로 클라이언트로 타겟 데이터를 전송한 후, 각 클라이언트로부터 전송되는 타겟 데이터의 수신 데이터량과 송신 데이터량을 기반으로 각 클라이언트에서의 타겟 데이터에 대한 수신 속도와 송신 속도를 산출한다(S16).
이어, 서버(100)는 각 클라이언트의 타겟 데이터에 대한 수신 속도와 송신 속도에 기반하여 수신 속도와 송신 속도가 높은 순으로 각 클라이언트를 정렬시켜 서버(100)로부터 전송된 타겟 데이터가 모든 클라이언트로 가장 빠르게 전송될 수 있는 제2 데이터 전송 순서를 설정한 후(S18), 제2 데이터 전송 순서상 첫 번째 순번에 해당하는 클라이언트로 타겟 데이터를 전송시킨다.
이때, 서버(100)는 위와 같은 제2 데이터 전송 순서를 설정함에 있어서, 각 클라이언트의 타겟 데이터에 대한 수신 속도와 송신 속도를 실시간으로 산출하고, 기설정된 일정 시간이 경과할 때마다 각 클라이언트의 타겟 데이터에 대한 평균 수신 속도와 평균 송신 속도를 산출하고, 위와 같이 산출된 평균 수신 속도와 평균 송신 속도를 기반으로 평균 수신 속도와 평균 송신 속도가 높은 순으로 제2 데이터 전송 순서를 설정할 수 있으며, 이와 같이 설정된 제2 데이터 전송 순서에 대해 제1 기준 시간이 경과할 때마다 각 클라이언트의 수신 속도와 송신 속도를 고려하여 다시 결정할 수 있다. 이에 따라, 제2 데이터 전송 순서가 제1 기준 시간마다 각 클라이언트의 통신 상태에 대응되게 적응적으로 변경될 수 있어, 수시로 변화될 수 있는 통신 환경에 적응적으로 대처할 수 있게 된다.
이어, 서버(100)는 실시간으로 산출되는 각 클라이언트의 타겟 데이터에 대한 수신 속도와 송신 속도를 기반으로, 타겟 데이터에 대한 수신 속도와 송신 속도 중 어느 하나가 서버(100)에서 각 클라이언트로 전송하는 타겟 데이터의 타겟 전송 속도와 대비하여 기설정된 기준 비율 이하로 떨어지는 감시 대상 클라이언트가 검출되는 경우(S20), 감시 대상 클라이언트에 대해서는 제1 기준 시간 경과 하지 않았더라도 제2 데이터 전송 순서상 가장 후순위에 배치되도록 제2 데이터 전송 순서를 변경시킬 수 있다(S22).
즉, 도 2의 (b)에서 같은 제2 데이터 전송 순서로 타겟 데이터가 각 클라이언트로 전송되는 과정에서 제2 데이터 전송 순서상 제2 클라이언트에서 수신 속도와 송신 속도가 타겟 전송 속도와 대비하여 기준 비율 이하로 떨어진 경우, 서버100)는 제1 기준 시간이 경과하기 전이라도 도 2의 (c)에서 보여지는 바와 같이 제2 클라이언트의 순번을 제2 데이터 전송 순서상 가장 마지막 순번으로 설정하여 타겟 데이터의 전송이 지연되는 것을 최소화할 수 있다.
이어, 서버(100)는 감시 대상 클라이언트의 수신 속도와 송신 속도가 기설정된 제2 기준 시간 동안 기준 비율이하로 떨어진 상태에서 지속적으로 유지되는 경우, 상기 감시 대상 클라이언트에 장애가 발생한 것으로 판단할 수 있다.
이어, 서버(100)는 감시 대상 클라이언트에서 장애가 발생한 것으로 판단한 경우, 장애 발생 히스토리 DB(108)를 참조하여 감시 대상 클라이언트에서 이전에 발생한 장애 발생 원인 중 발생 회수가 가장 많았던 장애 발생 원인을 추출한 후, 추출된 장애 발생 원인 및 해당 장애 발생 원인을 해결할 수 있는 대응 방법을 감시 대상 클라이언트로 제공하여 감시 대상 클라이언트에서 장애 발생 원인이 신속히 조치되도록 할 수 있다(S24).
상술한 바와 같이, 본 발명의 일실시예에 따르면, 서버와 클라이언트간 데이터 전송 시스템에 있어서, 인터넷을 포함하는 유무선 통신망을 통해 연결되는 서버와 복수의 클라이언트간 데이터 전송시 클라이언트별 데이터 송/수신 속도 정보와 장애 발생 정보를 기반으로 클라이언트간 데이터 전송 순서가 적응적으로 최적화되어 변경 설정되도록 함으로써 서버와 클라이언트간 데이터 전송 속도를 높일 수 있도록 한다.
이상과 같이 본 발명에 대해서 예시한 도면을 참조로 하여 설명하였으나, 본 명세서에 개시된 실시 예와 도면에 의해 본 발명이 한정되는 것은 아니며, 본 발명의 기술사상의 범위 내에서 통상의 기술자에 의해 다양한 변형이 이루어질 수 있음은 자명하다. 아울러 앞서 본 발명의 실시 예를 설명하면서 본 발명의 구성에 따른 작용 효과를 명시적으로 기재하여 설명하지 않았을 지라도, 해당 구성에 의해 예측 가능한 효과 또한 인정되어야 함은 당연하다.
101 : 제1 데이터 전송 순서 결정부 102 : 제2 데이터 전송 순서 결정부
103 : 데이터 전송 속도 산출부 104 : 메모리부
105 : 서버 통신부 106 : 데이터 전송부
107 : 데이터 전송 장애 분석부 108 : 장애발생 히스토리 DB

Claims (7)

  1. 서버와 클라이언트간 데이터 전송 시스템으로서,
    유무선 통신망을 통해 복수의 클라이언트와 연결되며, 각 클라이언트의 컴퓨팅 자원 정보를 기반으로 각 클라이언트를 정렬시킨 제1 데이터 전송 순서를 결정한 후, 상기 제1 데이터 전송 순서에 따른 첫 번째 클라이언트로 타겟 데이터를 전송하며, 각 클라이언트의 상기 타겟 데이터의 수신 속도와 송신 속도를 분석하여 수신 속도와 송신 속도가 높은 순으로 각 클라이언트를 정렬시킨 제2 데이터 전송 순서를 결정하여 상기 제2 데이터 전송 순서에 따른 첫 번째 클라이언트로 상기 타겟 데이터를 전송시키는 서버와,
    상기 서버와 연결되어 자신의 컴퓨팅 자원 정보를 전송하고, 상기 서버로부터 상기 타겟 데이터를 수신하고, 상기 제1 데이터 전송 순서 또는 상기 제2 데이터 전송 순서에 따른 다음 순번의 클라이언트로 상기 타겟 데이터를 송신하며, 상기 타겟 데이터의 수신 및 송신을 수행하는 과정에서 상기 타겟 데이터에 대한 수신 데이터량과 송신 데이터량 정보를 실시간으로 상기 서버로 전송하는 상기 클라이언트를 포함하며,
    상기 서버는,
    각 클라이언트와 통신을 수행하여 각 클라이언트의 컴퓨팅 자원 정보를 수집하고, 각 클라이언트에서 처리되는 상기 타겟 데이터에 대한 수신 데이터량과 송신 데이터량을 실시간으로 수집하는 서버 통신부와,
    각 클라이언트로부터 수집되는 각 클라이언트의 상기 타겟 데이터에 대한 수신 데이터량과 송신 데이터량을 기반으로 각 클라이언트의 상기 타겟 데이터의 수신속도 및 송신속도를 산출하는 데이터 전송 속도 산출부와,
    각 클라이언트의 컴퓨팅 자원 정보를 기반으로 각 클라이언트를 정렬시킨 상기 제1 데이터 전송 순서를 설정하는 제1 데이터 전송 순서 결정부와,
    모든 클라이언트로 상기 타겟 데이터가 전송된 경우, 각 클라이언트별 산출된 상기 타겟 데이터의 수신 속도와 송신 속도를 기반으로 상기 수신 속도와 송신 속도가 높은 순으로 각 클라이언트를 정렬시킨 제2 데이터 전송 순서를 설정하는 제2 데이터 전송 순서 결정부와,
    상기 서버 통신부를 통해 상기 제1 데이터 전송 순서 또는 상기 제2 데이터 전송 순서에 따라 정해진 첫 번째 클라이언트로 상기 타겟 데이터를 송신하는 데이터 전송부와,
    상기 제1 데이터 전송 순서 또는 상기 제2 데이터 전송 순서에 기반하여 상기 타겟 데이터가 전송될 상기 첫 번째 클라이언트를 결정하고, 상기 데이터 전송부를 제어하여 상기 첫 번째 클라이언트로 상기 타겟 데이터가 전송되도록 제어하는 서버 제어부와,
    각 클라이언트의 장애 발생 원인과 각 원인의 발생 회수를 저장하는 장애 발생 히스토리 DB와,
    각 클라이언트에서 장애가 발생하는 경우 각 클라이언트로부터 전송되는 상기 장애 발생 원인에 대한 정보를 수신받아 상기 장애 발생 히스토리 DB내 해당 클라이언트의 장애 발생 원인 및 발생 회수 정보를 갱신시키는 데이터 전송 장애 분석부를 포함하고,
    상기 제2 데이터 전송 순서 결정부는, 각 클라이언트의 상기 타겟 데이터에 대한 수신 속도와 송신 속도를 실시간으로 산출하고, 기설정된 일정 제1 기준 시간이 경과할 때마다 각 클라이언트의 상기 타겟 데이터에 대한 평균 수신 속도와 평균 송신 속도를 산출하며, 상기 평균 수신 속도와 평균 송신 속도를 기반으로 상기 평균 수신 속도와 평균 송신 속도가 높은 순으로 상기 제2 데이터 전송 순서를 다시 결정하고,
    상기 제2 데이터 전송 순서 결정부는, 실시간으로 산출되는 각 클라이언트의 상기 타겟 데이터에 대한 수신 속도와 송신 속도를 기반으로 상기 수신 속도와 송신 속도 중 어느 하나가 상기 서버에서 각 클라이언트로 전송하는 상기 타겟 데이터의 타겟 전송 속도와 대비하여 기설정된 기준 비율 이하로 떨어지는 감시 대상 클라이언트가 검출되는 경우, 상기 감시 대상 클라이언트에 대해서는 상기 제1 기준 시간이 경과 하지 않았더라도 상기 제2 데이터 전송 순서상 가장 마지막 순번의 클라이언트로 설정되도록 상기 제2 데이터 전송 순서를 변경시키며,
    상기 데이터 전송 장애 분석부는, 상기 감시 대상 클라이언트의 상기 수신 속도와 송신 속도가 기설정된 제2 기준 시간 동안 상기 기준 비율이하로 떨어진 상태에서 지속적으로 유지되는 경우, 상기 감시 대상 클라이언트에 장애가 발생한 것으로 판단하고, 상기 장애가 발생한 것으로 판단한 경우, 상기 장애 발생 히스토리 DB를 참조하여 상기 감시 대상 클라이언트에서 이전에 발생하였던 장애 발생 원인 중 발생 회수가 가장 많았던 장애 발생 원인을 추출한 후, 상기 추출된 장애 발생 원인 및 해당 장애 발생 원인을 해결할 수 있는 대응 방법을 상기 감시 대상 클라이언트로 제공하여 상기 장애 발생 원인이 조치되도록 하고,
    상기 클라이언트는, 상기 서버 통신부와 통신을 수행하여 상기 서버로 상기 컴퓨팅 자원 정보를 전송하고, 상기 클라이언트에서 처리되는 상기 타겟 데이터에 대한 수신 데이터량과 송신 데이터량을 실시간으로 상기 서버로 전송하는 클라이언트 통신부와,
    상기 클라이언트 통신부를 통해 상기 서버로부터 전송되는 상기 타겟 데이터를 수신하고, 상기 타겟 데이터를 다음 순번의 클라이언트로 송신하는 데이터 송수신 처리부와,
    상기 서버로부터 상기 타겟 데이터를 수신하거나 상기 다음 순번의 클라이언트로 상기 타겟 데이터를 송신하는 과정에서 상기 타겟 데이터의 수신 데이터량과 송신 데이터량을 실시간으로 산출하고, 상기 산출된 수신 데이터량과 송신 데이터량을 상기 클라이언트 통신부를 통해 실시간으로 상기 서버로 전송하는 클라이언트 상태 분석부와,
    상기 클라이언트의 상기 컴퓨팅 자원 정보와 상기 클라이언트에서의 상기 타겟 데이터에 대한 수신 데이터량과 송신 데이터량이 상기 클라이언트 통신부를 통해 상기 서버로 전송되도록 제어하는 클라이언트 제어부를 포함하며,
    상기 컴퓨팅 자원 정보는, 각 클라이언트의 프로세서의 데이터 처리 속도와 메모리 용량, 통신 상태 정보를 포함하는
    서버와 클라이언트간 데이터 전송 시스템.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
KR1020190178499A 2019-12-30 2019-12-30 서버와 클라이언트간 데이터 전송 시스템 KR102145579B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190178499A KR102145579B1 (ko) 2019-12-30 2019-12-30 서버와 클라이언트간 데이터 전송 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190178499A KR102145579B1 (ko) 2019-12-30 2019-12-30 서버와 클라이언트간 데이터 전송 시스템

Publications (1)

Publication Number Publication Date
KR102145579B1 true KR102145579B1 (ko) 2020-08-18

Family

ID=72265727

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190178499A KR102145579B1 (ko) 2019-12-30 2019-12-30 서버와 클라이언트간 데이터 전송 시스템

Country Status (1)

Country Link
KR (1) KR102145579B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116186142A (zh) * 2023-03-08 2023-05-30 深圳欧税通技术有限公司 一种基于物联网的跨境税务数据服务管理系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100793420B1 (ko) 2006-07-12 2008-01-11 임승빈 네트워크상에서 데이터 전송 서비스를 제공하기 위한 서버및 클라이언트의 연결 시스템 및 이를 이용한 서버와클라이언트 또는 클라이언트와 클라이언트간의 연결 방법
KR20080055399A (ko) * 2006-12-15 2008-06-19 주식회사 케이티 장애 응대 시간 단축 및 장애 처리 정확도 향상을 위한장애 관리 방법 및 장치
JP2010258811A (ja) * 2009-04-24 2010-11-11 Panasonic Electric Works Co Ltd 通信システム
KR20190051585A (ko) * 2017-11-07 2019-05-15 이요셉 서버 및 이를 이용한 네트워크 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100793420B1 (ko) 2006-07-12 2008-01-11 임승빈 네트워크상에서 데이터 전송 서비스를 제공하기 위한 서버및 클라이언트의 연결 시스템 및 이를 이용한 서버와클라이언트 또는 클라이언트와 클라이언트간의 연결 방법
KR20080055399A (ko) * 2006-12-15 2008-06-19 주식회사 케이티 장애 응대 시간 단축 및 장애 처리 정확도 향상을 위한장애 관리 방법 및 장치
JP2010258811A (ja) * 2009-04-24 2010-11-11 Panasonic Electric Works Co Ltd 通信システム
KR20190051585A (ko) * 2017-11-07 2019-05-15 이요셉 서버 및 이를 이용한 네트워크 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116186142A (zh) * 2023-03-08 2023-05-30 深圳欧税通技术有限公司 一种基于物联网的跨境税务数据服务管理系统
CN116186142B (zh) * 2023-03-08 2023-12-22 深圳欧税通技术有限公司 一种基于物联网的跨境税务数据服务管理系统

Similar Documents

Publication Publication Date Title
CN108512885B (zh) 用于网络包处理的方法、系统和存储介质
US9762546B2 (en) Multi-connection system and method for service using internet protocol
US10129722B2 (en) Service processing method and network device
US11496403B2 (en) Modifying the congestion control algorithm applied to a connection based on request characteristics
US11817946B2 (en) Proxy selection by monitoring quality and available capacity
EP3382563B1 (en) Communication device, communication system, communication method, and communication program
US20050091653A1 (en) Method and apparatus for load sharing and data distribution in servers
US20160269232A1 (en) Network management apparatus and network management method
US9917925B2 (en) Method for determining maximum segment size
CN110740144A (zh) 确定攻击目标的方法、装置、设备及存储介质
CN113364804A (zh) 一种流量数据的处理方法和装置
KR102145579B1 (ko) 서버와 클라이언트간 데이터 전송 시스템
US8416754B2 (en) Network location based processing of data communication connection requests
CN114466437B (zh) 心跳保活方法、装置、设备及计算机可读存储介质
US11700568B2 (en) Dynamic mapping of nodes responsible for monitoring traffic of an evolved packet core
CN113163008A (zh) 网络服务系统的连接智能管理方法、装置及其相关设备
US20220124194A1 (en) Enum server and congestion control method
CN110380981B (zh) 一种流量分发方法及设备
JP2023109707A (ja) ビデオ分析システムおよびデータ配信方法
JP4535275B2 (ja) 帯域制御装置
US20030204586A1 (en) Intelligent data replicator
US20190052649A1 (en) Detecting malware on spdy connections
CN108848175B (zh) 一种创建tcp连接的方法及装置
CN112312094B (zh) 媒体信息的处理方法、装置、存储介质以及电子装置
US20090106364A1 (en) Method and apparatus for peer-to-peer network traffic analysis

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant