KR20210056708A - A method for distributing workload on a server, and a method for support6ing workload of a server on a vehicle and the vehicle thereof - Google Patents

A method for distributing workload on a server, and a method for support6ing workload of a server on a vehicle and the vehicle thereof Download PDF

Info

Publication number
KR20210056708A
KR20210056708A KR1020190143468A KR20190143468A KR20210056708A KR 20210056708 A KR20210056708 A KR 20210056708A KR 1020190143468 A KR1020190143468 A KR 1020190143468A KR 20190143468 A KR20190143468 A KR 20190143468A KR 20210056708 A KR20210056708 A KR 20210056708A
Authority
KR
South Korea
Prior art keywords
vehicle
server
service
workload
information
Prior art date
Application number
KR1020190143468A
Other languages
Korean (ko)
Inventor
윤재구
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020190143468A priority Critical patent/KR20210056708A/en
Publication of KR20210056708A publication Critical patent/KR20210056708A/en

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/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/32
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Traffic Control Systems (AREA)

Abstract

Disclosed is a method of supporting to distribute a workload of a server by executing an artificial intelligence (AI) algorithm and/or a machine learning algorithm in a connected 5G environment for the Internet of Things. A server workload distribution method according to an embodiment of the present invention comprises: a step of receiving a service request from a first vehicle; a step of determining the service performance possibility of a server for the service request based on an available computing resource of the server; a step of determining an outsourcing service based on the determination of the service performance possibility; a step of determining a second vehicle based on the available computing resource of the vehicle in communication with the server; and a step of requesting the second vehicle to perform the outsourcing service.

Description

서버의 워크로드 분산 방법, 차량의 서버 워크로드 지원 방법 및 서버 워크로드 지원 차량{A METHOD FOR DISTRIBUTING WORKLOAD ON A SERVER, AND A METHOD FOR SUPPORT6ING WORKLOAD OF A SERVER ON A VEHICLE AND THE VEHICLE THEREOF}Server workload distribution method, vehicle server workload support method, and server workload support vehicle {A METHOD FOR DISTRIBUTING WORKLOAD ON A SERVER, AND A METHOD FOR SUPPORT6ING WORKLOAD OF A SERVER ON A VEHICLE AND THE VEHICLE AND THE VEHICLE THEREOF}

본 발명은 차량의 가용 연산 리소스를 활용하여 엣지(Edge) 서버의 워크로드를 차량으로 분산 처리할 수 있도록 하는 서버의 워크로드 분산 방법, 차량의 서버 워크로드 지원 방법 및 서버 워크로드 지원 차량에 관한 것이다.The present invention relates to a server workload distribution method, a server workload support method of a vehicle, and a server workload support vehicle, which enable distributed processing of the workload of an edge server to a vehicle by utilizing the available computational resources of the vehicle. will be.

AI, 사물인터넷, 자율 주행 등 앞으로 신기술이 대중화되면 네트워크 망을 통해 오고 가는 데이터의 양은 폭발적으로 증가하게 된다. 컴퓨팅 서버는 이런 어마어마한 데이터를 지연 없이 처리할 수 있어야 하기 때문에 중앙에서 모든 데이터를 처리하는 클라우드 컴퓨팅을 보완할 기술이 필요하게 되었다. 그 보완책으로 최근 엣지 컴퓨팅 기술이 주목 받고 있다. When new technologies such as AI, Internet of Things, and autonomous driving become popular in the future, the amount of data coming and going through the network will increase explosively. Since the computing server must be able to process such enormous data without delay, a technology to complement cloud computing, which processes all data centrally, is needed. As a complementary measure, edge computing technology has recently attracted attention.

엣지 컴퓨팅(Edge Computing)은 다양한 단말 기기에서 발생하는 데이터를 클라우드와 같은 중앙 집중식 데이터센터로 보내지 않고 데이터가 발생한 현장 혹은 근거리에서 실시간 처리하는 방식으로 데이터 흐름 가속화를 지원하는 컴퓨팅 방식이다.Edge computing is a computing method that supports data flow acceleration by processing data generated from various terminal devices in real time at the site or near the location of the data without sending it to a centralized data center such as the cloud.

본 개시의 일 과제는, 차량의 가용 연산 리소스를 활용하여 엣지 서버의 워크로드를 차량으로 분산 처리할 수 있도록 하는데 있다.An object of the present disclosure is to enable distributed processing of the workload of the edge server to the vehicle by utilizing the available computational resources of the vehicle.

본 개시의 일 과제는, 엣지 서버 과부하 상황에서 엣지 서버의 워크로드를 차량으로 분산 처리할 수 있도록 하여, 엣지 서버와 차량간 서비스 병렬 처리가 가능하도록 하는데 있다.An object of the present disclosure is to enable the distributed processing of the workload of the edge server to the vehicle in the event of an overload of the edge server, thereby enabling parallel processing of services between the edge server and the vehicle.

본 개시의 일 과제는, 엣지 서버의 워크로드를 분산 할 차량의 가용 리소스를 분석할 때, 실제 수행할 서비스와 처리할 데이터를 액세스(Access)하도록 하는데 있다.An object of the present disclosure is to access a service to be actually performed and data to be processed when analyzing available resources of a vehicle that will distribute the workload of an edge server.

본 개시의 일 과제는, 엣지 서버 과부하 상황에서 엣지 서버에서 수행할 수 없는 실시간 연산 태스크에 대하여 차량에서 대신 수행 가능하도록 하는데 있다.An object of the present disclosure is to enable a vehicle to perform a real-time operation task that cannot be performed by an edge server in an overload situation of an edge server.

본 개시의 일 과제는, 현재 사용중인 연산 리소스와 제공할 서비스의 리소스 모니터링을 통해 과부하 상황을 인지하여 기 설정된 기준에 따라 구분된 서비스 요청에 대해, 차량으로의 최적의 분산 처리가 가능하도록 하는데 있다. An object of the present disclosure is to recognize an overload situation through resource monitoring of a computational resource currently in use and a service to be provided to enable optimal distributed processing to a vehicle for service requests classified according to a preset criterion. .

본 개시의 실시예의 목적은 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시 예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.The object of the embodiments of the present disclosure is not limited to the above-mentioned problems, and other objects and advantages of the present invention that are not mentioned can be understood by the following description, and will be more clearly understood by the embodiments of the present invention. will be. In addition, it will be appreciated that the objects and advantages of the present invention can be realized by the means shown in the claims and combinations thereof.

본 개시의 일 실시 예에 따른 서버의 워크로드 분산 방법은, 차량의 가용 연산 리소스를 활용하여 엣지(Edge) 서버의 워크로드를 차량으로 분산 처리할 수 있도록 하는 단계를 포함할 수 있다.A method of distributing a workload of a server according to an exemplary embodiment of the present disclosure may include distributing and processing the workload of an edge server to a vehicle by using available computational resources of a vehicle.

구체적으로 본 개시의 일 실시 예에 따른 서버의 워크로드 분산 방법은, 제 1 차량으로부터 서비스 요청을 수신하는 단계와, 서버의 가용 연산 리소스(computing resource)에 기초하여 서비스 요청에 대한 서버의 서비스 수행 가능성을 판단하는 단계를 포함할 수 있다.Specifically, the method of distributing a workload of a server according to an embodiment of the present disclosure includes receiving a service request from a first vehicle, and performing a service of a server for a service request based on the computing resource available of the server. It may include the step of determining the likelihood.

또한 서버의 워크로드 분산 방법은, 서비스 수행 가능성의 판단에 기초하여 서비스 요청과 관련된 서비스 또는 서버에서 수행 중인 서비스들 중 서버에서 수행하지 않을 적어도 하나의 아웃소싱 서비스를 결정하는 단계와, 서버와 통신하는 차량들의 가용 연산 리소스에 기초하여 제 2 차량을 결정하는 단계와, 제 2 차량에 아웃소싱 서비스의 수행을 요청하고, 아웃소싱 서비스에 필요한 데이터에 접근 가능한 경로를 포함하는 데이터 접근 정보를 제 2 차량에 전송하는 단계를 포함할 수 있다.In addition, the server workload distribution method includes determining at least one outsourcing service not to be performed by the server among services related to a service request or among services being performed by the server based on the determination of the service performance possibility, and communicating with the server. Determining a second vehicle based on the available computational resources of the vehicles, requesting the second vehicle to perform an outsourcing service, and transmitting data access information including a path accessible to the data required for the outsourcing service to the second vehicle. It may include the step of.

본 개시의 일 실시 예에 따른 서버의 워크로드 분산 방법을 통하여, 엣지 서버 과부하 상황에서 차량의 가용 연산 리소스를 활용하여 엣지 서버의 워크로드를 차량으로 분산 처리할 수 있도록 함으로써, 안전 관련 서비스의 실시간성을 보장하도록 할 수 있다.Through the method of distributing the workload of the server according to an embodiment of the present disclosure, it is possible to distribute the workload of the edge server to the vehicle by using the available computational resources of the vehicle in the event of an overload of the edge server, thereby providing real-time safety-related services. Sex can be guaranteed.

이 외에도, 본 발명의 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체가 더 제공될 수 있다.In addition, another method for implementing the present invention, another system, and a computer-readable recording medium storing a computer program for executing the method may be further provided.

전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.Other aspects, features, and advantages other than those described above will become apparent from the following drawings, claims, and detailed description of the invention.

본 개시의 실시 예에 의하면, 엣지 서버 과부하 상황에서 차량의 가용 연산 리소스를 활용하여 엣지 서버의 워크로드를 차량으로 분산 처리할 수 있도록 함으로써, 안전 관련 서비스의 실시간성을 보장하도록 할 수 있다.According to an embodiment of the present disclosure, it is possible to ensure real-time safety-related services by distributing and processing the workload of the edge server to the vehicle by utilizing the available computational resources of the vehicle in the event of an overload of the edge server.

또한, 엣지 서버 과부하 상황에서 엣지 서버의 워크로드를 차량으로 분산 처리할 수 있도록 하여, 엣지 서버와 차량간 서비스 병렬 처리가 가능하도록 함으로써, 서버 워크로드 분산 시스템의 성능을 향상시킬 수 있다.In addition, it is possible to distribute the workload of the edge server to the vehicle in the event of an overload of the edge server, thereby enabling parallel processing of services between the edge server and the vehicle, thereby improving the performance of the server workload distribution system.

또한, 현재 사용중인 연산 리소스와 제공할 서비스의 리소스 모니터링을 통해 과부하 상황을 인지하여 기 설정된 기준에 따라 구분된 서비스를 차량에 요청함으로써, 차량으로의 최적의 분산 처리가 가능하도록 할 수 있다.In addition, by recognizing an overload situation through resource monitoring of a computational resource currently in use and a service to be provided, and requesting a service classified according to a preset criterion to the vehicle, the optimal distributed processing to the vehicle may be possible.

또한, 엣지 서버 과부하 상황에서 엣지 서버에서 수행할 수 없는 실시간 연산 태스크에 대하여 차량에서 대신 수행 가능하도록 함으로써, 제품 신뢰도를 향상시킬 수 있다.In addition, it is possible to improve product reliability by enabling a vehicle to perform real-time computation tasks that cannot be performed by the edge server in an overload situation of the edge server.

또한, 5G 네트워크 기반 통신을 통해 서버 워크로드 분산을 수행함으로써, 신속한 데이터 처리가 가능하므로 서버 워크로드 분산 시스템의 성능을 보다 향상시킬 수 있다.In addition, by performing server workload distribution through 5G network-based communication, rapid data processing is possible, and thus the performance of the server workload distribution system can be further improved.

또한, 서버 워크로드 지원 차량 자체는 대량 생산된 획일적인 제품이지만, 사용자는 서버 워크로드 지원 차량을 개인화된 장치로 인식하므로 사용자 맞춤형 제품의 효과를 낼 수 있다.In addition, although the server workload supporting vehicle itself is a mass-produced uniform product, the user recognizes the server workload supporting vehicle as a personalized device, so that the effect of a user-customized product can be achieved.

본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to those mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 본 발명의 일 실시 예에 따른 클라우드 네트워크를 포함하는 AI 시스템 기반 서버 워크로드 분산 시스템 환경의 예시도이다.
도 2는 본 발명의 일 실시 예에 따른 서버 워크로드 분산 시스템 통신 환경을 개략적으로 설명하기 위하여 도시한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 서버 워크로드 분산 시스템의 개략적인 블록도이다.
도 4는 5G 통신 시스템에서 자율 주행 차량과 5G 네트워크의 기본동작의 일 예를 나타낸다.
도 5는 5G 통신 시스템에서 자율 주행 차량과 5G 네트워크의 응용 동작의 일 예를 나타낸다.
도 6 내지 도 9는 5G 통신을 이용한 자율 주행 차량의 동작의 일 예를 나타낸다.
도 10은 본 발명의 일 실시 예에 따른 차량의 프로세서를 나타낸 개략적인 블록도이다.
도 11은 본 발명의 일 실시 예에 따른 서비스 애플리케이션 목록의 예시도이다.
도 12는 본 발명의 일 실시 예에 따른 서버의 워크로드 분산 방법을 설명하기 위한 흐름도이다.
도 13은 본 발명의 일 실시 예에 따른 차량의 서버 워크로드 지원 방법을 설명하기 위한 흐름도이다.
도 14는 본 발명의 일 실시 예에 따른 서버 워크로드 분산 시스템을 설명하기 위한 흐름도이다.
1 is an exemplary diagram of an AI system-based server workload distribution system environment including a cloud network according to an embodiment of the present invention.
2 is a diagram schematically illustrating a communication environment of a server workload distribution system according to an embodiment of the present invention.
3 is a schematic block diagram of a server workload distribution system according to an embodiment of the present invention.
4 shows an example of a basic operation of an autonomous vehicle and a 5G network in a 5G communication system.
5 shows an example of an application operation of an autonomous vehicle and a 5G network in a 5G communication system.
6 to 9 show an example of an operation of an autonomous vehicle using 5G communication.
10 is a schematic block diagram illustrating a processor of a vehicle according to an embodiment of the present invention.
11 is an exemplary diagram of a service application list according to an embodiment of the present invention.
12 is a flowchart illustrating a method of distributing a workload of a server according to an embodiment of the present invention.
13 is a flowchart illustrating a method of supporting a server workload of a vehicle according to an embodiment of the present invention.
14 is a flowchart illustrating a server workload distribution system according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 설명되는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 아래에서 제시되는 실시 예들로 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 아래에 제시되는 실시 예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Advantages and features of the present invention, and a method of achieving them will be apparent with reference to embodiments described in detail together with the accompanying drawings. However, it should be understood that the present invention is not limited to the embodiments presented below, but may be implemented in various different forms, and includes all transformations, equivalents, and substitutes included in the spirit and scope of the present invention. . The embodiments presented below are provided to complete the disclosure of the present invention, and to completely inform the scope of the invention to those of ordinary skill in the art to which the present invention pertains. In describing the present invention, when it is determined that a detailed description of a related known technology may obscure the subject matter of the present invention, a detailed description thereof will be omitted.

본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present application, terms such as include or have are intended to designate the existence of features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, and one or more other features, numbers, and steps. It is to be understood that it does not preclude the possibility of the presence or addition of, operations, components, parts, or combinations thereof. Terms such as first and second may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another component.

본 명세서에서 기술되는 차량은, 자동차, 오토바이를 포함하는 개념일 수 있다. 이하에서는, 차량에 대해 자동차를 위주로 기술한다.Vehicles described herein may be concepts including automobiles and motorcycles. Hereinafter, the vehicle is mainly described with respect to the vehicle.

본 명세서에서 기술되는 차량은, 동력원으로서 엔진을 구비하는 내연기관 차량, 동력원으로서 엔진과 전기 모터를 구비하는 하이브리드 차량, 동력원으로서 전기 모터를 구비하는 전기 차량 등을 모두 포함하는 개념일 수 있다.The vehicle described in the present specification may be a concept including all of an internal combustion engine vehicle including an engine as a power source, a hybrid vehicle including an engine and an electric motor as a power source, an electric vehicle including an electric motor as a power source, and the like.

이하, 본 발명에 따른 실시 예들을 첨부된 도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, and in the description with reference to the accompanying drawings, the same or corresponding components are given the same reference numbers, and redundant descriptions thereof are omitted. I will do it.

도 1은 본 발명의 일 실시 예에 따른 클라우드 네트워크를 포함하는 AI 시스템 기반 서버 워크로드 분산 시스템 환경의 예시도이다.1 is an exemplary diagram of an AI system-based server workload distribution system environment including a cloud network according to an embodiment of the present invention.

도 1을 참조하면, 서버 워크로드 분산 시스템 환경은 AI 서버(20), 로봇(30a), 자율 주행 차량(30b), XR 장치(30c), 사용자 단말기(30d) 또는 가전(30e) 및 클라우드 네트워크(10)를 포함할 수 있다. 이때, 서버 워크로드 분산 시스템 환경에서는, AI 서버(20), 로봇(30a), 자율 주행 차량(30b), XR 장치(30c), 사용자 단말기(30d) 또는 가전(30e) 중에서 적어도 하나 이상이 클라우드 네트워크(10)와 연결될 수 있다. 여기서, AI 기술이 적용된 로봇(30a), 자율 주행 차량(30b), XR 장치(30c), 사용자 단말기(30d) 또는 가전(30e) 등을 AI 장치(30a 내지 30e)라 칭할 수 있다.1, the server workload distribution system environment is an AI server 20, a robot 30a, an autonomous vehicle 30b, an XR device 30c, a user terminal 30d or a home appliance 30e, and a cloud network. (10) may be included. At this time, in the server workload distribution system environment, at least one of the AI server 20, the robot 30a, the autonomous vehicle 30b, the XR device 30c, the user terminal 30d, or the home appliance 30e is cloud It can be connected to the network 10. Here, the robot 30a to which the AI technology is applied, the autonomous vehicle 30b, the XR device 30c, the user terminal 30d, or the home appliance 30e may be referred to as AI devices 30a to 30e.

이때, 로봇(30a)은 스스로 보유한 능력에 의해 주어진 일을 자동으로 처리하거나 작동하는 기계를 의미할 수 있다. 특히, 환경을 인식하고 스스로 판단하여 동작을 수행하는 기능을 갖는 로봇을 지능형 로봇이라 칭할 수 있다. 로봇(30a)은 사용 목적이나 분야에 따라 산업용, 의료용, 가정용, 군사용 등으로 분류할 수 있다. In this case, the robot 30a may refer to a machine that automatically processes or operates a task given by its own capabilities. In particular, a robot having a function of recognizing the environment and performing an operation by self-determining may be referred to as an intelligent robot. The robot 30a can be classified into industrial, medical, household, military, etc. depending on the purpose or field of use.

자율 주행 차량(30b)은 사용자의 조작 없이 또는 사용자의 최소한의 조작으로 주행하는 차량(Vehicle)을 의미하며, AutonomousDriving Vehicle이라고도 할 수 있다. 예컨대, 자율 주행에는 주행중인 차선을 유지하는 기술, 어댑티브 크루즈 컨트롤과 같이 속도를 자동으로 조절하는 기술, 정해진 경로를 따라 자동으로 주행하는 기술, 목적지가 설정되면 자동으로 경로를 설정하여 주행하는 기술 등이 모두 포함될 수 있다. 이때, 자율 주행 차량은 자율 주행 기능을 가진 로봇으로 볼 수 있다.The autonomous driving vehicle 30b refers to a vehicle that is driven without a user's manipulation or with a user's minimal manipulation, and may also be referred to as an autonomous driving vehicle. For example, in autonomous driving, a technology that maintains a driving lane, a technology that automatically adjusts the speed such as adaptive cruise control, a technology that automatically travels along a specified route, and a technology that automatically sets a route when a destination is set, etc. All of these can be included. In this case, the autonomous vehicle can be viewed as a robot having an autonomous driving function.

XR 장치(30c)는 확장 현실(XR: eXtended Reality)을 이용하는 장치로, 확장 현실은 가상 현실(VR: Virtual Reality), 증강 현실(AR: Augmented Reality), 혼합 현실(MR: Mixed Reality)을 총칭한다. VR 기술은 현실 세계의 객체나 배경 등을 CG 영상으로만 제공하고, AR 기술은 실제 사물 영상 위에 가상으로 만들어진 CG 영상을 함께 제공하며, MR 기술은 현실 세계에 가상 객체들을 섞고 결합시켜서 제공하는 컴퓨터 그래픽 기술이다. XR 기술은 HMD(Head-Mount Display), HUD(Head-Up Display), 휴대폰, 태블릿 PC, 랩탑, 데스크탑, TV, 디지털 사이니지 등에 적용될 수 있고, XR 기술이 적용된 장치를 XR 장치(XR Device)라 칭할 수 있다.The XR device 30c is a device that uses eXtended Reality (XR), and the extended reality is a generic term for virtual reality (VR), augmented reality (AR), and mixed reality (MR). do. VR technology provides only CG images of real-world objects or backgrounds, AR technology provides virtually created CG images on top of real object images, and MR technology is a computer that mixes and combines virtual objects in the real world. It's a graphic technology. XR technology can be applied to HMD (Head-Mount Display), HUD (Head-Up Display), mobile phones, tablet PCs, laptops, desktops, TVs, digital signage, etc. It can be called as.

사용자 단말기(30d)는 서버 워크로드 분산 시스템 애플리케이션 또는 서버 워크로드 분산 시스템 사이트에 접속한 후 인증 과정을 통하여 서버 워크로드 분산 시스템의 작동 또는 제어를 위한 서비스를 제공받을 수 있다. 본 실시 예에서 인증 과정을 마친 사용자 단말기(30d)는 서버 워크로드 분산 시스템(1)을 작동시키고, 제어할 수 있다. 본 실시 예에서 사용자 단말기(30d)는 사용자가 조작하는 데스크 탑 컴퓨터, 스마트폰, 노트북, 태블릿 PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 또한, 사용자 단말기(30d)는 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 단말기 일 수 있다. 사용자 단말기(30d)는 상술한 내용에 제한되지 아니하며, 웹 브라우징이 가능한 단말기는 제한 없이 차용될 수 있다.The user terminal 30d may be provided with a service for operating or controlling the server workload distribution system through an authentication process after accessing the server workload distribution system application or the server workload distribution system site. In the present embodiment, the user terminal 30d having completed the authentication process may operate and control the server workload distribution system 1. In this embodiment, the user terminal 30d is a desktop computer, a smart phone, a notebook computer, a tablet PC, a smart TV, a mobile phone, a personal digital assistant (PDA), a laptop, a media player, a micro server, and a global positioning system (GPS). system) devices, e-book terminals, digital broadcasting terminals, navigation systems, kiosks, MP3 players, digital cameras, home appliances, and other mobile or non-mobile computing devices, but are not limited thereto. In addition, the user terminal 30d may be a wearable terminal such as a watch, glasses, hair band, and ring having a communication function and a data processing function. The user terminal 30d is not limited to the above-described contents, and a terminal capable of web browsing may be borrowed without limitation.

가전(30e)은 가정 내 구비되는 모든 전자 디바이스 중 어느 하나를 포함할 수 있으며, 특히 음성인식, 인공지능 등이 구현 가능한 단말, 오디오 신호 및 비디오 신호 중 하나 이상을 출력하는 단말 등을 포함할 수 있다. 또한 가전(30e)은 특정 전자 디바이스에 국한되지 않고 다양한 홈 어플라이언스(예를 들어, 세탁기, 건조기, 의류 처리 장치, 에어컨, 김치 냉장고 등)를 포함할 수 있다.The home appliance 30e may include any one of all electronic devices provided in the home, and in particular, may include a terminal capable of implementing voice recognition and artificial intelligence, and a terminal that outputs one or more of an audio signal and a video signal. have. In addition, the home appliance 30e is not limited to a specific electronic device and may include various home appliances (eg, a washing machine, a dryer, a clothes processing device, an air conditioner, a kimchi refrigerator, etc.).

클라우드 네트워크(10)는 클라우드 컴퓨팅 인프라의 일부를 구성하거나 클라우드 컴퓨팅 인프라 안에 존재하는 네트워크를 의미할 수 있다. 여기서, 클라우드 네트워크(10)는 3G 네트워크, 4G 또는 LTE(Long Term Evolution) 네트워크 또는 5G 네트워크 등을 이용하여 구성될 수 있다. 즉, 서버 워크로드 분산 시스템 환경을 구성하는 각 장치들(30a 내지 30e, 20)은 클라우드 네트워크(10)를 통해 서로 연결될 수 있다. 특히, 각 장치들(30a 내지 30e, 20)은 기지국을 통해서 서로 통신할 수도 있지만, 기지국을 통하지 않고 직접 서로 통신할 수도 있다.The cloud network 10 may constitute a part of the cloud computing infrastructure or may mean a network that exists in the cloud computing infrastructure. Here, the cloud network 10 may be configured using a 3G network, a 4G or Long Term Evolution (LTE) network, or a 5G network. That is, the devices 30a to 30e and 20 constituting the server workload distribution system environment may be connected to each other through the cloud network 10. In particular, the devices 30a to 30e and 20 may communicate with each other through a base station, but may communicate with each other directly without through a base station.

이러한 클라우드 네트워크(10)는 예컨대 LANs(local area networks), WANs(Wide area networks), MANs(metropolitan area networks), ISDNs(integrated service digital networks) 등의 유선 네트워크나, 무선 LANs, CDMA, 블루투스, 위성 통신 등의 무선 네트워크를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 또한 클라우드 네트워크(10)는 근거리 통신 및/또는 원거리 통신을 이용하여 정보를 송수신할 수 있다. 여기서 근거리 통신은 블루투스(bluetooth), RFID(radio frequency identification), 적외선 통신(IrDA, infrared data association), UWB(ultra-wideband), ZigBee, Wi-Fi(Wireless fidelity) 기술을 포함할 수 있고, 원거리 통신은 CDMA(code division multiple access), FDMA(frequency division multiple access), TDMA(time division multiple access), OFDMA(orthogonal frequency division multiple access), SC-FDMA(single carrier frequency division multiple access) 기술을 포함할 수 있다.Such cloud networks 10 include wired networks such as local area networks (LANs), wide area networks (WANs), metropolitan area networks (MANs), and integrated service digital networks (ISDNs), wireless LANs, CDMA, Bluetooth, and satellite. A wireless network such as communication may be covered, but the scope of the present invention is not limited thereto. In addition, the cloud network 10 may transmit and receive information using short-range communication and/or long-distance communication. Here, short-range communication may include Bluetooth, radio frequency identification (RFID), infrared data association (IrDA), ultra-wideband (UWB), ZigBee, and wireless fidelity (Wi-Fi) technologies, and Communication includes code division multiple access (CDMA), frequency division multiple access (FDMA), time division multiple access (TDMA), orthogonal frequency division multiple access (OFDMA), single carrier frequency division multiple access (SC-FDMA) technology. I can.

또한, 클라우드 네트워크(10)는 허브, 브리지, 라우터, 스위치 및 게이트웨이와 같은 네트워크 요소들의 연결을 포함할 수 있다. 클라우드 네트워크(10)는 인터넷과 같은 공용 네트워크 및 안전한 기업 사설 네트워크와 같은 사설 네트워크를 비롯한 하나 이상의 연결된 네트워크들, 예컨대 다중 네트워크 환경을 포함할 수 있다. 클라우드 네트워크(10)에의 액세스는 하나 이상의 유선 또는 무선 액세스 네트워크들을 통해 제공될 수 있다. 더 나아가 클라우드 네트워크(10)는 사물 등 분산된 구성 요소들 간에 정보를 주고받아 처리하는 IoT(Internet of Things, 사물인터넷) 망 및/또는 5G 통신을 지원할 수 있다.Further, the cloud network 10 may include the connection of network elements such as hubs, bridges, routers, switches and gateways. The cloud network 10 may include one or more connected networks, such as a multi-network environment, including a public network such as the Internet and a private network such as a secure corporate private network. Access to the cloud network 10 may be provided through one or more wired or wireless access networks. Furthermore, the cloud network 10 may support an Internet of Things (IoT) network and/or 5G communication that exchanges and processes information between distributed components such as objects.

AI 서버(20)는 AI 프로세싱을 수행하는 서버와 빅 데이터에 대한 연산을 수행하는 서버를 포함할 수 있다. 또한, AI 서버(20)는 각종 인공 지능 알고리즘을 적용하는데 필요한 빅데이터와, 서버 워크로드 분산 시스템(1)을 동작시키는 데이터를 제공하는 데이터베이스 서버일 수 있다. 그 밖에 AI 서버(20)는 사용자 단말기(30d)에 설치된 서버 워크로드 분산 시스템 애플리케이션 또는 서버 워크로드 분산 시스템 웹 브라우저를 이용하여 서버 워크로드 분산 시스템(1)의 동작을 원격에서 제어할 수 있도록 하는 웹 서버 또는 애플리케이션 서버를 포함할 수 있다. The AI server 20 may include a server that performs AI processing and a server that performs an operation on big data. In addition, the AI server 20 may be a database server that provides big data required to apply various artificial intelligence algorithms and data for operating the server workload distribution system 1. In addition, the AI server 20 allows remote control of the operation of the server workload distribution system 1 using a server workload distribution system application installed on the user terminal 30d or a server workload distribution system web browser. It may include a web server or an application server.

또한, AI 서버(20)는 서버 워크로드 분산 시스템 환경을 구성하는 AI 장치들인 로봇(30a), 자율 주행 차량(30b), XR 장치(30c), 사용자 단말기(30d) 또는 가전(30e) 중에서 적어도 하나 이상과 클라우드 네트워크(10)를 통하여 연결되고, 연결된 AI 장치들(30a 내지 30e)의 AI 프로세싱을 적어도 일부를 도울 수 있다. 이때, AI 서버(20)는 AI 장치(30a 내지 30e)를 대신하여 머신 러닝 알고리즘에 따라 인공 신경망을 학습시킬 수 있고, 학습 모델을 직접 저장하거나 AI 장치(30a 내지 30e)에 전송할 수 있다. 이때, AI 서버(20)는 AI 장치(30a 내지 30e)로부터 입력 데이터를 수신하고, 학습 모델을 이용하여 수신한 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성하여 AI 장치(30a 내지 30e)로 전송할 수 있다. 또는, AI 장치(30a 내지 30e)는 직접 학습 모델을 이용하여 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성할 수도 있다.In addition, the AI server 20 includes at least one of the AI devices constituting the server workload distribution system environment, such as a robot 30a, an autonomous vehicle 30b, an XR device 30c, a user terminal 30d, or a home appliance 30e. One or more are connected through the cloud network 10 and may help at least part of the AI processing of the connected AI devices 30a to 30e. At this time, the AI server 20 may train an artificial neural network according to a machine learning algorithm in place of the AI devices 30a to 30e, and may directly store the learning model or transmit it to the AI devices 30a to 30e. At this time, the AI server 20 receives input data from the AI devices 30a to 30e, infers a result value for the received input data using a learning model, and provides a response or control command based on the inferred result value. It can be generated and transmitted to the AI devices 30a to 30e. Alternatively, the AI devices 30a to 30e may infer a result value for input data using a direct learning model, and generate a response or a control command based on the inferred result value.

여기서 인공 지능(artificial intelligence, AI)은, 인간의 지능으로 할 수 있는 사고, 학습, 자기계발 등을 컴퓨터가 할 수 있도록 하는 방법을 연구하는 컴퓨터 공학 및 정보기술의 한 분야로, 컴퓨터가 인간의 지능적인 행동을 모방할 수 있도록 하는 것을 의미할 수 있다.Here, artificial intelligence (AI) is a field of computer science and information technology that studies how computers can do the thinking, learning, and self-development that human intelligence can do. It could mean being able to imitate intelligent behavior.

또한, 인공 지능은 그 자체로 존재하는 것이 아니라, 컴퓨터 과학의 다른 분야와 직간접적으로 많은 관련을 맺고 있다. 특히 현대에는 정보기술의 여러 분야에서 인공 지능적 요소를 도입하여, 그 분야의 문제 풀이에 활용하려는 시도가 매우 활발하게 이루어지고 있다.In addition, artificial intelligence does not exist by itself, but is directly or indirectly related to other fields of computer science. In particular, in modern times, attempts to introduce artificial intelligence elements in various fields of information technology and use them to solve problems in the field are being made very actively.

머신 러닝(machine learning)은 인공 지능의 한 분야로, 컴퓨터에 명시적인 프로그램 없이 배울 수 있는 능력을 부여하는 연구 분야를 포함할 수 있다. 구체적으로 머신 러닝은, 경험적 데이터를 기반으로 학습을 하고 예측을 수행하고 스스로의 성능을 향상시키는 시스템과 이를 위한 알고리즘을 연구하고 구축하는 기술이라 할 수 있다. 머신 러닝의 알고리즘들은 엄격하게 정해진 정적인 프로그램 명령들을 수행하는 것이라기 보다, 입력 데이터를 기반으로 예측이나 결정을 이끌어내기 위해 특정한 모델을 구축하는 방식을 취할 수 있다. Machine learning is a branch of artificial intelligence that can include a field of research that gives computers the ability to learn without explicit programming. Specifically, machine learning can be said to be a technology that studies and builds a system that learns based on empirical data, performs prediction, and improves its own performance, and algorithms for it. Rather than executing strictly defined static program instructions, machine learning algorithms can take a way to build specific models to derive predictions or decisions based on input data.

도 2는 본 발명의 일 실시 예에 따른 서버 워크로드 분산 시스템 통신 환경을 개략적으로 설명하기 위하여 도시한 도면이다. 도 1에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.2 is a diagram schematically illustrating a communication environment of a server workload distribution system according to an embodiment of the present invention. Parts that overlap with the description of FIG. 1 will be omitted.

도 2를 참조하면, 서버 워크로드 분산 시스템(1)은 제 1 차량(100-1), 제 2 차량(100-2), 제 1 서버(200) 및 제 2 서버(300)를 필수적으로 포함할 수 있다. Referring to FIG. 2, the server workload distribution system 1 essentially includes a first vehicle 100-1, a second vehicle 100-2, a first server 200, and a second server 300. can do.

본 실시 예에서는, 차량 혼잡으로 인한 엣지 서버(이하 제 1 서버, 200)의 과부하 상황에서는 안전과 관련되지 않은 부가적 서비스(예를 들어, intelligent driving, infotainment service 등)의 실시간 연산 태스크를 수행할 수 없다. 따라서, 본 실시 예에서는, 제 1 서버(200) 과부하 상황에서, 워크로드 분산 지원 가능한 차량(이하 제 2 차량, 100-2)의 가용 연산 리소스를 활용하여, 제 2 차량(100-2)에서 대신 실시간 연산 태스크가 가능하도록 할 수 있다. 즉 본 실시 예에서는 제 2 차량(100-2)에서 애플리케이션 서버(이하 제 2 서버, 300)로부터 제 1 서버(200)의 실행 서비스와 데이터를 다운로드 하여 워크로드 분산 처리가 가능하도록 할 수 있다.In the present embodiment, in an overload situation of the edge server (hereinafter referred to as the first server 200) due to vehicle congestion, a real-time operation task of additional services not related to safety (eg, intelligent driving, infotainment service, etc.) is performed. Can't. Therefore, in the present embodiment, in a situation where the first server 200 is overloaded, the second vehicle 100-2 utilizes the available computational resources of a vehicle (hereinafter referred to as the second vehicle, 100-2) capable of supporting workload distribution. Instead, it can enable real-time computational tasks. That is, in the present embodiment, the second vehicle 100-2 may download an execution service and data of the first server 200 from the application server (hereinafter, referred to as the second server 300) to perform workload distribution processing.

다시 말해, 본 실시 예에서, 서버 워크로드 분산 시스템(1)은 제 1 차량(100-1)으로부터의 서비스 요청에 따라, 제 1 서버(200)의 가용 연산 리소스(computing resource)에 기초하여 워크로드 분산을 수행할 수 있다. 이때, 서버 워크로드 분산 시스템(1)은 제 2 서버(300)로부터 서버 워크로드 분산 지원을 위한 애플리케이션을 다운로드 하여 제 2 차량(100-2)에서 워크로드 분산 지원을 수행할 수 있도록 할 수 있다. 즉, 서버 워크로드 분산 시스템(1)은 제 2 차량(100-2)의 가용 연산 리소스를 활용하여, 제 1 서버(200)에서 제 2 차량(100-2)으로 워크로드를 분산할 수 있다. 서버 워크로드 분산 시스템(1)은 상기 과정에서 자율주행 정보를 제 2 서버(300)에 업데이트 하고, 제 1 서버(200)가 제 2 차량(100-2)에 데이터 액세스 경로를 전달하여 제 2 차량(100-2)에서 서비스 애플리케이션을 다운로드 하며, 공유 데이터에 액세스 하여 서비스를 수행할 수 있다.In other words, in the present embodiment, the server workload distribution system 1 is based on the available computing resources of the first server 200 according to the service request from the first vehicle 100-1. Load distribution can be performed. At this time, the server workload distribution system 1 may download an application for supporting server workload distribution from the second server 300 so that the second vehicle 100-2 can perform workload distribution support. . That is, the server workload distribution system 1 may distribute the workload from the first server 200 to the second vehicle 100-2 by utilizing the available computational resources of the second vehicle 100-2. . The server workload distribution system 1 updates the autonomous driving information to the second server 300 in the above process, and the first server 200 transmits the data access path to the second vehicle 100-2 to provide the second The service application is downloaded from the vehicle 100-2, and the service can be performed by accessing the shared data.

또한, 서버 워크로드 분산 시스템(1)은 그 외 사용자 단말기, 네트워크, 제 n 차량(100-n)들 등의 구성요소를 더 포함할 수 있다. 그리고 본 실시 예에서는, 서비스를 요청하는 차량과 서비스를 수행하는 차량을 구분하기 위하여 부호를 다르게 표시하였으나, 제 1 차량(100-1)과 제 2 차량(100-2)은 차량(100)에 포함될 수 있다. In addition, the server workload distribution system 1 may further include other components such as a user terminal, a network, and nth vehicles 100-n. Further, in the present embodiment, symbols are differently indicated to distinguish between a vehicle requesting a service and a vehicle performing the service. However, the first vehicle 100-1 and the second vehicle 100-2 are included in the vehicle 100. Can be included.

본 실시 예에서 제 1 서버(200)는 MEC(Mobile Edge Computing) 서버일 수 있으며, 상기 도 1의 AI 서버(20), 서버 워크로드 분산 시스템(1)의 프로세서를 위한 서버 등을 포함할 수 있다. 또한 제 2 서버(300)는 AI 서버(20), 서버 워크로드 분산 시스템(1)의 프로세서를 위한 서버, 관제 서버 등을 포함할 수 있으며, 이들을 통칭하는 의미일 수도 있다. 제 1 서버(200) 및 제 2 서버(300)가 본 실시 예에서 명시되지 않은 다른 서버인 경우 도 2에 도시된 연결관계 등은 달라질 수 있다.In this embodiment, the first server 200 may be a Mobile Edge Computing (MEC) server, and may include the AI server 20 of FIG. 1, a server for a processor of the server workload distribution system 1, and the like. have. In addition, the second server 300 may include an AI server 20, a server for a processor of the server workload distribution system 1, a control server, and the like, and may mean collectively. When the first server 200 and the second server 300 are other servers not specified in the present embodiment, the connection relationship shown in FIG. 2 may be different.

AI 서버는 차량(100)으로부터 수집되는 데이터를 수신하여, 서버 과부하 상황에서 최적의 워크로드 분산을 위한 학습을 수행할 수 있다. The AI server may receive data collected from the vehicle 100 and perform learning for optimal workload distribution in a server overload situation.

MEC 서버는 일반적인 서버의 역할을 수행할 수 있음은 물론, 무선 액세스 네트워크(RAN: Radio Access Network)내에서 도로 옆에 있는 기지국(BS)과 연결되어, 유연한 차량 관련 서비스를 제공하고 네트워크를 효율적으로 운용할 수 있게 해준다. 특히 MEC 서버에서 지원되는 네트워크-슬라이싱(network-slicing)과 트래픽 스케줄링 정책은 네트워크의 최적화를 도와줄 수 있다. MEC 서버는 RAN내에 통합되고, 3GPP 시스템에서 S1-User plane interface(예를 들어, 코어 네트워크(Core network)와 기지국 사이)에 위치할 수 있다. 다만, 이에 한정되지 않으며 기지국에 위치할 수도 있다. MEC 서버는 각각 독립적인 네트워크 요소로 간주될 수 있으며, 기존에 존재하는 무선 네트워크의 연결에 영향을 미치지 않는다. 독립적인 MEC 서버는 전용 통신망을 통해 기지국에 연결되며, 당해 셀(cell)에 위치한, 여러 엔드-유저(end-user)들에게 특정 서비스들을 제공할 수 있다. 이러한 MEC 서버와 클라우드 서버는 인터넷-백본(internet-backbone)을 통해 서로 연결되고 정보를 공유할 수 있다. 또한, MEC 서버는 독립적으로 운용되고, 복수 개의 기지국을 제어할 수 있다. 특히 자율주행차량을 위한 서비스, 가상머신(VM: virtual machine)과 같은 애플리케이션 동작과 가상화 플랫폼을 기반으로 하는 모바일 네트워크 엣지(edge)단에서의 동작을 수행할 수 있다. 기지국(BS: Base Station)은 MEC 서버들과 코어 네트워크 모두에 연결되어, 제공되는 서비스 수행에서 요구되는 유연한 유저 트래픽 스케쥴링을 가능하게 할 수 있다. 특정 셀에서 대용량의 유저 트래픽이 발생하는 경우, MEC 서버는 인접한 기지국 사이의 인터페이스에 근거하여, 테스크 오프로딩(offloading) 및 협업 프로세싱을 수행 할 수 있다. 즉, MEC 서버는 소프트웨어를 기반으로 하는 개방형 동작환경을 갖으므로, 애플리케이션 제공 업체의 새로운 서비스들이 용이하게 제공될 수 있다. 또한, MEC 서버는 엔드-유저(end-user) 가까이에서 서비스가 수행되므로, 데이터 왕복시간이 단축되며 서비스 제공 속도가 빠르기 때문에 서비스 대기 시간을 감소시킬 수 있다. 또한 MEC 애플리케이션과 가상 네트워크 기능(VNF: Virtual Network Functions)은 서비스 환경에 있어서, 유연성 및 지리적 분포성을 제공할 수 있다. 이러한 가상화 기술을 사용하여 다양한 애플리케이션과 네트워크 기능이 프로그래밍 될 수 있을 뿐 아니라 특정 사용자 그룹만이 선택되거나 이들만을 위한 컴파일(compile)이 가능할 수 있다. 그러므로, 제공되는 서비스는 사용자 요구 사항에 보다 밀접하게 적용될 수 있다. 그리고 중앙 통제 능력과 더불어 MEC 서버는 기지국간의 상호작용을 최소화할 수 있다. 이는 셀 간의 핸드오버(handover)와 같은 네트워크의 기본 기능 수행을 위한 프로세스를 간략하게 할 수 있다. 이러한 기능은 특히 이용자가 많은 자율주행시스템에서 유용할 수 있다. 또한, 자율주행시스템에서 도로의 단말들은 다량의 작은 패킷을 주기적으로 생성할 수 있다. RAN에서 MEC 서버는 특정 서비스를 수행함으로써, 코어 네트워크로 전달되어야 하는 트래픽의 양을 감소시킬 수 있으며, 이를 통해 중앙 집중식 클라우드 시스템에서 클라우드의 프로세싱 부담을 줄일 수 있고, 네트워크의 혼잡을 최소화할 수 있다. 그리고 MEC 서버는 네트워크 제어 기능과 개별적인 서비스들을 통합하며, 이를 통해 모바일 네트워크 운영자(MNOs: Mobile Network Operators)의 수익성을 높일 수 있으며, 설치 밀도 조정을 통해 신속하고 효율적인 유지관리 및 업그레이드가 가능하도록 할 수 있다. 또한, 본 실시 예에서 제 2 서버(300)는 차량(100)에서 수행 가능한 서비스 애플리케이션들을 제공할 수 있도록 하는 서비스 애플리케이션 서버일 수 있다.The MEC server can serve as a general server, and is connected to a base station (BS) next to the road within a radio access network (RAN), providing flexible vehicle-related services and efficiently managing the network. Makes it possible to operate. In particular, network-slicing and traffic scheduling policies supported by the MEC server can help optimize the network. The MEC server is integrated in the RAN and may be located in an S1-User plane interface (eg, between a core network and a base station) in a 3GPP system. However, the present invention is not limited thereto and may be located in a base station. Each MEC server can be regarded as an independent network element, and does not affect the connection of an existing wireless network. The independent MEC server is connected to the base station through a dedicated communication network, and can provide specific services to several end-users located in the cell. These MEC servers and cloud servers can be connected to each other and share information through an internet-backbone. In addition, the MEC server is independently operated and can control a plurality of base stations. In particular, it is possible to perform services for autonomous vehicles, application operations such as virtual machines (VMs), and operations at the edge of a mobile network based on a virtualization platform. The base station (BS) is connected to both MEC servers and the core network to enable flexible user traffic scheduling required for performing a provided service. When a large amount of user traffic occurs in a specific cell, the MEC server may perform task offloading and cooperative processing based on an interface between adjacent base stations. That is, since the MEC server has an open operating environment based on software, new services from application providers can be easily provided. In addition, since the MEC server performs a service near the end-user, the data round trip time is shortened and the service provision speed is fast, so that the service waiting time can be reduced. In addition, MEC applications and Virtual Network Functions (VNF) can provide flexibility and geographical distribution in the service environment. Using this virtualization technology, not only various applications and network functions can be programmed, but only specific user groups can be selected or compiled only for them. Therefore, the provided service can be more closely applied to user requirements. And, along with the central control capability, the MEC server can minimize the interaction between base stations. This can simplify a process for performing basic functions of a network such as handover between cells. These functions can be particularly useful in autonomous driving systems with a large number of users. In addition, in the autonomous driving system, terminals on the road can periodically generate a large number of small packets. By performing a specific service in the RAN, the MEC server can reduce the amount of traffic that must be delivered to the core network, thereby reducing the processing burden of the cloud in the centralized cloud system and minimizing network congestion. . In addition, the MEC server integrates network control functions and individual services, thereby increasing the profitability of Mobile Network Operators (MNOs), and enabling rapid and efficient maintenance and upgrades through installation density adjustment. have. In addition, in this embodiment, the second server 300 may be a service application server that enables service applications that can be executed in the vehicle 100 to be provided.

차량(100)은 차량 통신 모듈, 차량 제어 모듈, 차량 사용자 인터페이스 모듈, 운전 조작 모듈, 차량 구동 모듈, 운행 모듈, 내비게이션 모듈 및 센싱 모듈 등을 포함할 수 있다. 실시 예에 따라 차량(100)은 상기 구성요소 외에 다른 구성요소를 포함하거나, 이하 설명되는 구성요소 중 일부를 포함하지 않을 수 있다.The vehicle 100 may include a vehicle communication module, a vehicle control module, a vehicle user interface module, a driving operation module, a vehicle driving module, a driving module, a navigation module, a sensing module, and the like. Depending on the embodiment, the vehicle 100 may include other components other than the above components, or may not include some of the components described below.

여기서, 차량(100)은 자율 주행 차량일 수 있으며, 차량 사용자 인터페이스 모듈을 통하여 수신되는 사용자 입력에 따라 자율 주행 모드에서 매뉴얼 모드로 전환되거나 매뉴얼 모드에서 자율 주행 모드로 전환될 수 있다. 아울러, 차량(100)은 주행 상황에 따라 자율 주행 모드에서 매뉴얼 모드로 전환되거나 매뉴얼 모드에서 자율 주행 모드로 전환될 수 있다. 여기서, 주행 상황은 차량 통신 모듈에 의해 수신된 정보, 센싱 모듈에 의해 검출된 외부 오브젝트 정보 및 내비게이션 모듈에 의해 획득된 내비게이션 정보 중 적어도 어느 하나에 의해 판단될 수 있다.Here, the vehicle 100 may be an autonomous vehicle, and may be switched from an autonomous driving mode to a manual mode or from a manual mode to an autonomous driving mode according to a user input received through the vehicle user interface module. In addition, the vehicle 100 may be switched from an autonomous driving mode to a manual mode or may be switched from a manual mode to an autonomous driving mode according to a driving situation. Here, the driving condition may be determined by at least one of information received by the vehicle communication module, external object information detected by the sensing module, and navigation information obtained by the navigation module.

차량(100)이 자율 주행 모드로 운행되는 경우, 차량(100)은 주행, 출차, 주차 동작을 제어하는 운행 모듈의 제어에 따라 운행될 수 있다. 한편, 차량(100)이 매뉴얼 모드로 운행되는 경우, 차량(100)은 운전자의 운전 조작 모듈을 통한 입력에 의해 운행될 수 있다. 차량(100)은 통신망을 통해 외부 서버에 연결되고, 자율주행 기술을 이용하여 운전자 개입 없이 미리 설정된 경로를 따라 이동 가능할 수 있다.When the vehicle 100 is operated in the autonomous driving mode, the vehicle 100 may be operated under the control of a driving module that controls driving, unloading, and parking operations. On the other hand, when the vehicle 100 is operated in a manual mode, the vehicle 100 may be driven by an input through a driver's driving operation module. The vehicle 100 may be connected to an external server through a communication network, and may be able to move along a preset route without driver intervention by using autonomous driving technology.

차량 사용자 인터페이스 모듈은 차량(100)과 차량 사용자와의 소통을 위한 것으로, 사용자의 입력 신호를 수신하고, 수신된 입력 신호를 차량 제어 모듈로 전달하며, 차량 제어 모듈의 제어에 의해 사용자에게 차량(100)이 보유하는 정보를 제공할 수 있다. 본 실시 예에서는 차량 사용자 인터페이스 모듈을 통해 충전 서비스 제공 서비스를 요청하거나 충전 서비스 정보를 수신할 수 있다. The vehicle user interface module is for communication between the vehicle 100 and the vehicle user, receives an input signal from the user, transmits the received input signal to the vehicle control module, and transmits the received input signal to the vehicle control module. 100) can provide information held. In this embodiment, a charging service providing service may be requested or charging service information may be received through the vehicle user interface module.

운행 모듈은 차량(100)의 각종 운행을 제어할 수 있으며, 특히 자율 주행 모드에서 차량(100)의 각종 운행을 제어할 수 있다. 운행 모듈은 주행 모듈, 출차 모듈 및 주차 모듈을 포함할 수 있으나, 이에 한정되지 않는다. 또한, 운행 모듈은 차량 제어 모듈의 제어를 받는 프로세서를 포함할 수 있다. 운행 모듈의 각 모듈은, 각각 개별적으로 프로세서를 포함할 수 있다. 실시 예에 따라, 운행 모듈이 소프트웨어적으로 구현되는 경우, 차량 제어 모듈의 하위 개념일 수도 있다. 이때, 주행 모듈, 출차 모듈 및 주차 모듈은 각각 차량(100)의 주행, 출차 및 주차를 수행할 수 있다. 또한 주행 모듈, 출차 모듈 및 주차 모듈은 각각 센싱 모듈로부터 오브젝트 정보를 제공받아, 차량 구동 모듈에 제어 신호를 제공하여, 차량(100)의 주행, 출차 및 주차를 수행할 수 있다. 또한, 주행 모듈, 출차 모듈 및 주차 모듈은 각각 차량 통신 모듈을 통해, 외부 디바이스로부터 신호를 제공받아, 차량 구동 모듈에 제어 신호를 제공하여, 차량(100)의 주행, 출차 및 주차를 수행할 수 있다. 그리고 주행 모듈, 출차 모듈 및 주차 모듈은 각각 내비게이션 모듈로부터 내비게이션 정보를 제공받아, 차량 구동 모듈에 제어 신호를 제공하여, 차량(100)의 주행, 출차 및 주차를 수행할 수 있다. 내비게이션 모듈은 차량 제어 모듈에 내비게이션 정보를 제공할 수 있다. 내비게이션 정보는 맵(map) 정보, 설정된 목적지 정보, 목적지 설정 따른 경로 정보, 경로 상의 다양한 오브젝트에 대한 정보, 차선 정보 및 차량의 현재 위치 정보 중 적어도 어느 하나를 포함할 수 있다. The driving module may control various operations of the vehicle 100, and in particular, may control various operations of the vehicle 100 in an autonomous driving mode. The driving module may include a driving module, an exit module, and a parking module, but is not limited thereto. In addition, the driving module may include a processor that is controlled by the vehicle control module. Each module of the driving module may individually include a processor. According to an embodiment, when the driving module is implemented in software, it may be a sub-concept of the vehicle control module. In this case, the driving module, the taking-out module, and the parking module may perform driving, taking out, and parking of the vehicle 100, respectively. In addition, the driving module, the taking-out module, and the parking module may each receive object information from a sensing module and provide a control signal to the vehicle driving module to perform driving, unloading, and parking of the vehicle 100. In addition, the driving module, the unloading module, and the parking module each receive a signal from an external device through a vehicle communication module, and provide a control signal to the vehicle driving module to perform driving, unloading, and parking of the vehicle 100. have. In addition, the driving module, the taking-out module, and the parking module may each receive navigation information from the navigation module and provide a control signal to the vehicle driving module to perform driving, unloading, and parking of the vehicle 100. The navigation module may provide navigation information to the vehicle control module. The navigation information may include at least one of map information, set destination information, route information according to destination setting, information on various objects on the route, lane information, and current location information of the vehicle.

센싱 모듈은 차량(100)에 장착된 센서를 이용하여 차량(100)의 상태를 센싱, 즉, 차량(100)의 상태에 관한 신호를 감지하고, 감지된 신호에 따라 차량(100)의 이동 경로 정보를 획득할 수 있다. 또한 센싱 모듈은 획득된 이동 경로 정보를 차량 제어 모듈에 제공할 수 있다. 또한 센싱 모듈은 차량(100)에 장착된 센서를 이용하여 차량(100) 주변의 오브젝트 등을 센싱 할 수 있다. The sensing module senses the state of the vehicle 100 using a sensor mounted on the vehicle 100, that is, detects a signal related to the state of the vehicle 100, and moves the vehicle 100 according to the detected signal. Information can be obtained. In addition, the sensing module may provide the acquired movement path information to the vehicle control module. In addition, the sensing module may sense objects around the vehicle 100 using a sensor mounted on the vehicle 100.

도 3은 본 발명의 일 실시 예에 따른 서버 워크로드 분산 시스템의 개략적인 블록도이다. 이하의 설명에서 도 1 및 도 2에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.3 is a schematic block diagram of a server workload distribution system according to an embodiment of the present invention. In the following description, portions overlapping with the descriptions of FIGS. 1 and 2 will be omitted.

도 3을 참조하면, 서버 워크로드 분산 시스템(1)은 제 1 차량(100-1)과 제 2 차량(100-2)을 포함하는 차량(100), 제 1 서버(200) 및 제 2 서버(300)를 포함할 수 있다. 차량(100)은 서비스를 요청하거나 서비스를 수행하는 것에서만 차이가 있을 뿐 그 구성은 동일하므로 차량(100)으로 통합하여 설명하도록 한다.3, the server workload distribution system 1 includes a vehicle 100 including a first vehicle 100-1 and a second vehicle 100-2, a first server 200, and a second server. It may include (300). The vehicle 100 differs only in requesting a service or performing a service, but the configuration is the same, so that the description will be integrated into the vehicle 100.

차량(100)은 통신 인터페이스(110), 메모리(120) 및 프로세서(130)를 포함할 수 있다.The vehicle 100 may include a communication interface 110, a memory 120 and a processor 130.

통신 인터페이스(110)는 제 1 서버(200), 제 2 서버(300) 및 차량 간 통신이 가능하도록 할 수 있다. 또한 통신 인터페이스(110)는 그 외 외부 장치와의 통신을 수행하기 위한 통신 모듈일 수 있다.The communication interface 110 may enable communication between the first server 200, the second server 300, and a vehicle. In addition, the communication interface 110 may be a communication module for performing communication with other external devices.

통신 인터페이스(110)는 복수 개의 통신 모드에 의한 통신을 지원하고, 제 1 서버(200) 및 제 2 서버(300)로부터 서버 신호를 수신하며, 제 1 서버(200) 및 제 2 서버(300)로 신호를 송신할 수 있다. 또한 통신 인터페이스(110)는 하나 이상의 타 차량으로부터 신호를 수신하고, 타 차량으로 신호를 송신할 수 있으며, 사용자 단말기로부터 신호를 수신하고, 사용자 단말기로 신호를 송신할 수 있다. 또한 통신 인터페이스(110)는 차량 내에서의 통신을 위한 통신 모듈을 포함할 수 있다. The communication interface 110 supports communication by a plurality of communication modes, receives server signals from the first server 200 and the second server 300, and receives the first server 200 and the second server 300. You can send a signal to it. In addition, the communication interface 110 may receive signals from one or more other vehicles, transmit signals to other vehicles, receive signals from user terminals, and transmit signals to user terminals. In addition, the communication interface 110 may include a communication module for communication in a vehicle.

여기서, 복수 개의 통신 모드는 타 차량과의 통신을 수행하는 차량 간 통신 모드, 외부 서버와 통신을 수행하는 서버 통신 모드, 차량 내 사용자 단말기 등 사용자 단말과 통신을 수행하는 근거리 통신 모드, 차량 내 유닛들과 통신하기 위한 차량 내 통신 모드 등을 포함할 수 있다. 즉, 통신 인터페이스(110)는 무선 통신 모듈, V2X 통신 모듈 및 근거리 통신 모듈 등을 포함할 수 있다. Here, the plurality of communication modes are a vehicle-to-vehicle communication mode that communicates with other vehicles, a server communication mode that communicates with an external server, a short-range communication mode that communicates with a user terminal such as an in-vehicle user terminal, and an in-vehicle unit. It may include an in-vehicle communication mode, etc. for communicating with them. That is, the communication interface 110 may include a wireless communication module, a V2X communication module, and a short-range communication module.

무선 통신 모듈은 이동 통신망을 통하여 사용자 단말기 또는 서버와 상호 신호를 송수신할 수 있다. 여기서, 이동 통신망은 사용한 시스템 자원(대역폭, 전송 파워 등)을 공유하여 다중 사용자의 통신을 지원할 수 있는 다중 접속(Multiple access) 시스템이다. 다중 접속 시스템의 예로는, CDMA(Code Division Multiple Access) 시스템, FDMA(Frequency Division Multiple Access) 시스템, TDMA(Time Division Multiple Access) 시스템, OFDMA(Orthogonal Frequency Division Multiple Access) 시스템, SC-FDMA(Single Carrier Frequency Division Multiple Access) 시스템, MC-FDMA(Multi Carrier Frequency Division Multiple Access) 시스템 등이 있다. The wireless communication module may transmit and receive signals to and from a user terminal or a server through a mobile communication network. Here, the mobile communication network is a multiple access system capable of supporting communication of multiple users by sharing used system resources (bandwidth, transmission power, etc.). Examples of multiple access systems include Code Division Multiple Access (CDMA) systems, Frequency Division Multiple Access (FDMA) systems, Time Division Multiple Access (TDMA) systems, Orthogonal Frequency Division Multiple Access (OFDMA) systems, and Single Carrier (SC-FDMA) systems. Frequency Division Multiple Access) system and MC-FDMA (Multi Carrier Frequency Division Multiple Access) system.

V2X 통신 모듈은, 무선 방식으로 V2I 통신 프로토콜을 통해 RSU와 상호 신호를 송수신하고, V2V 통신 프로토콜을 통해 타 차량과 상호 신호를 송수신하며, V2P 통신 프로토콜을 통해 사용자 단말기, 즉 보행자 또는 사용자와 상호 신호를 송수신할 수 있다. 즉 V2X 통신 모듈은 인프라와의 통신(V2I), 차량간 통신(V2V), 사용자 단말기와의 통신(V2P) 프로토콜이 구현 가능한 RF 회로를 포함할 수 있다. 즉, 통신 인터페이스(110)는 통신을 수행하기 위해 송신 안테나, 수신 안테나, 각종 통신 프로토콜이 구현 가능한 RF(Radio Frequency) 회로 및 RF 소자 중 적어도 어느 하나를 포함할 수 있다.The V2X communication module transmits and receives mutual signals with the RSU through the V2I communication protocol in a wireless manner, transmits and receives mutual signals with other vehicles through the V2V communication protocol, and mutual signals with the user terminal, that is, pedestrians or users through the V2P communication protocol. Can send and receive. That is, the V2X communication module may include an RF circuit capable of implementing communication with infrastructure (V2I), vehicle-to-vehicle communication (V2V), and communication with user terminal (V2P) protocols. That is, the communication interface 110 may include at least one of a transmission antenna, a reception antenna, a radio frequency (RF) circuit capable of implementing various communication protocols, and an RF element to perform communication.

그리고 근거리 통신 모듈은, 예를 들어 운전자의 사용자 단말기와 근거리 무선 통신 모듈을 통해 연결되도록 할 수 있다. 이때 근거리 통신 모듈은 사용자 단말기와 무선 통신뿐만 아니라 유선 통신으로 연결되도록 할 수도 있다. 예를 들어 근거리 통신 모듈은 운전자의 사용자 단말기가 사전에 등록된 경우, 차량(100)으로부터 일정 거리 내(예를 들어, 차량 내)에서 등록된 사용자 단말기가 인식되면 자동으로 차량(100)과 연결되도록 할 수 있다. 즉, 통신 인터페이스(110)는 근거리 통신(Short range communication), GPS 신호 수신, V2X 통신, 광통신, 방송 송수신 및 ITS(Intelligent Transport Systems) 통신 기능을 수행할 수 있다. 통신 인터페이스(110)는 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra-Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi(Wireless-Fidelity), Wi-Fi Direct, Wireless USB(Wireless Universal Serial Bus) 기술 중 적어도 하나를 이용하여, 근거리 통신을 지원할 수 있다. 실시 예에 따라, 통신 인터페이스(110)는 설명되는 기능 외에 다른 기능을 더 지원하거나, 설명되는 기능 중 일부를 지원하지 않을 수 있다. In addition, the short-range communication module may be connected to the driver's user terminal through a short-range wireless communication module, for example. In this case, the short-range communication module may be connected to the user terminal through wired communication as well as wireless communication. For example, when the driver's user terminal is registered in advance, the short-range communication module automatically connects to the vehicle 100 when the registered user terminal is recognized within a certain distance from the vehicle 100 (for example, in the vehicle). You can do it. That is, the communication interface 110 may perform short range communication, GPS signal reception, V2X communication, optical communication, broadcast transmission/reception, and Intelligent Transport Systems (ITS) communication functions. The communication interface 110 includes Bluetooth, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra-Wideband (UWB), ZigBee, Near Field Communication (NFC), and Wireless-Fi (Wi-Fi). Fidelity), Wi-Fi Direct, and Wireless Universal Serial Bus (USB) technologies may be used to support short-range communication. Depending on the embodiment, the communication interface 110 may further support other functions other than the described functions, or may not support some of the described functions.

또한, 실시 예에 따라, 통신 인터페이스(110)의 각 모듈은 통신 인터페이스(110) 내에 구비된 별도의 프로세서에 의해 전반적인 동작이 제어될 수 있다. 통신 인터페이스(110)는 복수 개의 프로세서를 포함하거나, 프로세서를 포함하지 않을 수도 있다. 통신 인터페이스(110)에 프로세서가 포함되지 않는 경우, 통신 인터페이스(110)는 차량(100) 내 다른 장치의 프로세서 또는 차량(100)의 프로세서(130)에 따라, 동작될 수 있다.In addition, according to an embodiment, the overall operation of each module of the communication interface 110 may be controlled by a separate processor provided in the communication interface 110. The communication interface 110 may or may not include a plurality of processors. When a processor is not included in the communication interface 110, the communication interface 110 may be operated according to a processor of another device in the vehicle 100 or a processor 130 of the vehicle 100.

한편, 도 4는 5G 통신 시스템에서 자율주행 차량과 5G 네트워크의 기본동작의 일 예를 나타낸 도면이다.Meanwhile, FIG. 4 is a diagram showing an example of a basic operation of an autonomous vehicle and a 5G network in a 5G communication system.

통신 인터페이스(110)는 차량(100)이 자율주행 모드로 운행되는 경우, 특정 정보를 5G 네트워크로 전송할 수 있다(S1).When the vehicle 100 is operated in an autonomous driving mode, the communication interface 110 may transmit specific information to the 5G network (S1).

이 때, 특정 정보는 자율주행 관련 정보를 포함할 수 있다.In this case, the specific information may include information related to autonomous driving.

자율주행 관련 정보는, 차량의 주행 제어와 직접적으로 관련된 정보일 수 있다. 예를 들어, 자율주행 관련 정보는 차량 주변의 오브젝트를 지시하는 오브젝트 데이터, 맵 데이터(map data), 차량 상태 데이터, 차량 위치 데이터 및 드라이빙 플랜 데이터(driving plan data) 중 하나 이상을 포함할 수 있다. The information related to autonomous driving may be information directly related to driving control of the vehicle. For example, the autonomous driving related information may include one or more of object data indicating objects around the vehicle, map data, vehicle state data, vehicle location data, and driving plan data. .

자율주행 관련 정보는 자율주행에 필요한 서비스 정보 등을 더 포함할 수 있다. 예를 들어, 특정 정보는, 사용자 인터페이스부를 통해 입력된 목적지와 차량의 안전 등급에 관한 정보를 포함할 수 있다.The information related to autonomous driving may further include service information necessary for autonomous driving. For example, the specific information may include information on a destination and a safety level of the vehicle input through the user interface unit.

또한, 5G 네트워크는 차량(100)의 원격 제어 여부를 결정할 수 있다(S2).In addition, the 5G network may determine whether to remotely control the vehicle 100 (S2).

여기서, 5G 네트워크는 자율주행 관련 원격 제어를 수행하는 서버 또는 모듈을 포함할 수 있다.Here, the 5G network may include a server or module that performs remote control related to autonomous driving.

또한, 5G 네트워크는 원격 제어와 관련된 정보(또는 신호)를 자율주행 차량으로 전송할 수 있다(S3).In addition, the 5G network may transmit information (or signals) related to remote control to the autonomous vehicle (S3).

전술한 바와 같이, 원격 제어와 관련된 정보는 자율주행 차량에 직접적으로 적용되는 신호일 수도 있고, 나아가 자율주행에 필요한 서비스 정보를 더 포함할 수 있다. 본 발명의 일 실시예에서 자율주행 차량은, 5G 네트워크에 연결된 서버를 통해 주행 경로 상에서 선택된 구간별 보험과 위험 구간 정보 등의 서비스 정보를 수신함으로써, 자율주행과 관련된 서비스를 제공할 수 있다.As described above, the information related to the remote control may be a signal directly applied to the autonomous vehicle, and may further include service information required for autonomous driving. In an embodiment of the present invention, the autonomous vehicle may provide a service related to autonomous driving by receiving service information such as insurance for each section selected on a driving route and information on dangerous sections through a server connected to a 5G network.

이하, 도 5 내지 도 9를 참조하여 자율주행이 가능한 차량(100)과 5G 네트워크 간의 5G 통신을 위한 필수 과정(예를 들어, 차량과 5G 네트워크 간의 초기 접속 절차 등)을 개략적으로 설명하면 다음과 같다.Hereinafter, an essential process for 5G communication between a vehicle 100 capable of autonomous driving and a 5G network (eg, an initial connection procedure between a vehicle and a 5G network) will be schematically described as follows with reference to FIGS. 5 to 9 same.

먼저, 5G 통신 시스템에서 수행되는 자율주행이 가능한 차량(100)과 5G 네트워크를 통한 응용 동작의 일 예는 다음과 같다.First, an example of a vehicle 100 capable of autonomous driving performed in a 5G communication system and an application operation through a 5G network is as follows.

차량(100)은 5G 네트워크와 초기 접속(Initial access) 절차를 수행한다(초기 접속 단계, S20). 이때, 초기 접속 절차는 하향 링크(Downlink, DL) 동기 획득을 위한 셀 서치(Cell search) 과정 및 시스템 정보(System information)를 획득하는 과정 등을 포함한다.The vehicle 100 performs an initial access procedure with the 5G network (initial access step, S20). In this case, the initial access procedure includes a cell search process for obtaining downlink (DL) synchronization and a process of obtaining system information.

또한, 차량(100)은 5G 네트워크와 임의 접속(Random access) 절차를 수행한다(임의 접속 단계, S21). 이때, 임의 접속 절차는 상향 링크(Uplink, UL) 동기 획득 과정 또는 UL 데이터 전송을 위한 프리엠블 전송 과정, 임의 접속 응답 수신 과정 등을 포함한다.In addition, the vehicle 100 performs a 5G network and a random access procedure (random access step, S21). In this case, the random access procedure includes an uplink (UL) synchronization acquisition process, a preamble transmission process for UL data transmission, a random access response reception process, and the like.

한편, 5G 네트워크는 자율주행이 가능한 차량(100)으로 특정 정보의 전송을 스케쥴링 하기 위한 UL 그랜트(Uplink grant)를 전송한다(UL 그랜트 수신 단계, S22).Meanwhile, the 5G network transmits an UL grant for scheduling transmission of specific information to the vehicle 100 capable of autonomous driving (UL grant reception step, S22).

차량(100)이 UL 그랜트를 수신하는 절차는 5G 네트워크로 UL 데이터의 전송을 위해 시간/주파수 자원을 배정받는 스케줄링 과정을 포함한다.The procedure for the vehicle 100 to receive the UL grant includes a scheduling procedure in which time/frequency resources are allocated for transmission of UL data to the 5G network.

또한, 자율주행이 가능한 차량(100)은 UL 그랜트에 기초하여 5G 네트워크로 특정 정보를 전송할 수 있다(특정 정보 전송 단계, S23).In addition, the vehicle 100 capable of autonomous driving may transmit specific information to the 5G network based on the UL grant (specific information transmission step, S23).

한편, 5G 네트워크는 차량(100)으로부터 전송된 특정 정보에 기초하여 차량(100)의 원격 제어 여부를 결정할 수 있다(차량의 원격 제어 여부 결정 단계, S24).Meanwhile, the 5G network may determine whether to remotely control the vehicle 100 based on specific information transmitted from the vehicle 100 (determining whether or not to remotely control the vehicle, S24).

또한, 자율주행이 가능한 차량(100)은 5G 네트워크로부터 기 전송된 특정 정보에 대한 응답을 수신하기 위해 물리 하향링크 제어 채널을 통해 DL 그랜트를 수신할 수 있다(DL 그랜트 수신 단계, S25).In addition, the vehicle 100 capable of autonomous driving may receive a DL grant through a physical downlink control channel in order to receive a response to specific information previously transmitted from the 5G network (DL grant reception step, S25).

이후에, 5G 네트워크는 DL 그랜트에 기초하여 자율주행이 가능한 차량(100)으로 원격 제어와 관련된 정보(또는 신호)를 전송할 수 있다(원격 제어와 관련된 정보 전송 단계, S26).Thereafter, the 5G network may transmit information (or signals) related to remote control to the vehicle 100 capable of autonomous driving based on the DL grant (a step of transmitting information related to remote control, S26).

한편, 앞서 자율주행이 가능한 차량(100)과 5G 네트워크의 초기 접속 과정 및/또는 임의 접속 과정 및 하향링크 그랜트 수신 과정이 결합된 절차를 예시적으로 설명하였지만, 본 발명은 이에 한정되지 않는다.Meanwhile, a procedure in which an initial access process and/or a random access process and a downlink grant reception process are combined between the vehicle 100 capable of autonomous driving and the 5G network has been exemplarily described above, but the present invention is not limited thereto.

예를 들어, 초기 접속 단계, UL 그랜트 수신 단계, 특정 정보 전송 단계, 차량의 원격 제어 여부 결정 단계 및 원격 제어와 관련된 정보 전송 단계를 통해 초기 접속 과정 및/또는 임의접속 과정을 수행할 수 있다. 또한, 예를 들어 임의 접속 단계, UL 그랜트 수신 단계, 특정 정보 전송 단계, 차량의 원격 제어 여부 결정 단계, 원격 제어와 관련된 정보 전송 단계를 통해 초기접속 과정 및/또는 임의 접속 과정을 수행할 수 있다. 또한, 특정 정보 전송 단계, 차량의 원격 제어 여부 결정 단계, DL 그랜트 수신 단계, 원격 제어와 관련된 정보 전송 단계를 통해, AI 동작과 DL 그랜트 수신 과정을 결합한 방식으로 자율주행이 가능한 차량(100)의 제어가 이루어질 수 있다.For example, an initial access process and/or a random access process may be performed through an initial access step, a UL grant reception step, a specific information transmission step, a determining whether to remotely control a vehicle, and a remote control-related information transmission step. In addition, the initial access process and/or the random access process may be performed through, for example, a random access step, a UL grant receiving step, a specific information transmission step, a determining whether to remotely control a vehicle, and a remote control-related information transmission step. . In addition, through the step of transmitting specific information, determining whether to remotely control the vehicle, receiving the DL grant, and transmitting the information related to the remote control, the vehicle 100 capable of autonomous driving is performed by combining the AI operation and the DL grant receiving process. Control can be made.

또한, 앞서 기술한 자율주행이 가능한 차량(100)의 동작은 예시적인 것이 불과하므로, 본 발명은 이에 한정되지 않는다.In addition, since the operation of the vehicle 100 capable of autonomous driving described above is merely exemplary, the present invention is not limited thereto.

예를 들어, 자율주행이 가능한 차량(100)의 동작은, 초기 접속 단계, 임의 접속 단계, UL 그랜트 수신 단계 또는 DL 그랜트 수신 단계가, 특정 정보 전송 단계 또는 원격 제어와 관련된 정보 전송 단계와 선택적으로 결합되어 동작할 수 있다. 아울러, 자율주행이 가능한 차량(100)의 동작은, 임의 접속 단계, UL 그랜트 수신 단계, 특정 정보 전송 단계 및 원격 제어와 관련된 정보 전송 단계로 구성될 수도 있다. 한편, 자율주행이 가능한 차량(100)의 동작은, 초기 접속 단계, 임의 접속 단계, 특정 정보 전송 단계 및 원격 제어와 관련된 정보 전송 단계로 구성될 수 있다. 또한, 자율주행이 가능한 차량(100)의 동작은, UL 그랜트 수신 단계, 특정 정보 전송 단계, DL 그랜트 수신 단계 및 원격 제어와 관련된 정보 전송 단계로 구성될 수 있다.For example, the operation of the vehicle 100 capable of autonomous driving may include an initial connection step, a random access step, a UL grant receiving step, or a DL grant receiving step, a specific information transmission step or a remote control-related information transmission step and selectively. Can be combined to operate. In addition, the operation of the vehicle 100 capable of autonomous driving may include a random access step, a UL grant reception step, a specific information transmission step, and a remote control-related information transmission step. Meanwhile, the operation of the vehicle 100 capable of autonomous driving may include an initial access step, a random access step, a specific information transmission step, and a remote control-related information transmission step. In addition, the operation of the vehicle 100 capable of autonomous driving may include a UL grant reception step, a specific information transmission step, a DL grant reception step, and a remote control-related information transmission step.

도 6에 도시된 바와 같이, 자율주행 모듈을 포함하는 차량(100)은 DL 동기 및 시스템 정보를 획득하기 위해 SSB(Synchronization Signal Block)에 기초하여 5G 네트워크와 초기 접속 절차를 수행할 수 있다(초기 접속 단계, S30). As shown in FIG. 6, the vehicle 100 including the autonomous driving module may perform an initial access procedure with a 5G network based on a synchronization signal block (SSB) in order to obtain DL synchronization and system information Connection step, S30).

또한, 자율주행이 가능한 차량(100)은 UL 동기 획득 및/또는 UL 전송을 위해 5G 네트워크와 임의 접속 절차를 수행할 수 있다(임의 접속 단계, S31).In addition, the vehicle 100 capable of autonomous driving may perform a random access procedure with a 5G network to obtain UL synchronization and/or transmit UL (random access step, S31).

한편, 자율주행이 가능한 차량(100)은 특정 정보를 전송하기 위해 5G 네트워크로부터 UL 그랜트를 수신할 수 있다(UL 그랜트 수신 단계, S32).Meanwhile, the vehicle 100 capable of autonomous driving may receive a UL grant from a 5G network in order to transmit specific information (UL grant reception step, S32).

또한, 자율주행이 가능한 차량(100)은 UL 그랜트에 기초하여 특정 정보를 5G 네트워크로 전송한다(특정 정보 전송 단계, S33).In addition, the vehicle 100 capable of autonomous driving transmits specific information to the 5G network based on the UL grant (specific information transmission step, S33).

또한, 자율주행이 가능한 차량(100)은 특정 정보에 대한 응답을 수신하기 위한 DL 그랜트를 5G 네트워크로부터 수신한다(DL 그랜트 수신 단계, S34).In addition, the vehicle 100 capable of autonomous driving receives a DL grant for receiving a response to specific information from the 5G network (DL grant reception step, S34).

또한, 자율주행이 가능한 차량(100)은 원격 제어와 관련된 정보(또는 신호)를 DL 그랜트에 기초하여 5G 네트워크로부터 수신한다(원격 제어 관련 정보 수신 단계, S35).In addition, the vehicle 100 capable of autonomous driving receives remote control-related information (or signals) from the 5G network based on the DL grant (remote control-related information receiving step, S35).

초기 접속 단계에 빔 관리(Beam Management, BM) 과정이 추가될 수 있으며, 임의 접속 단계에 PRACH(Physical Random Access CHannel) 전송과 관련된 빔 실패 복구(Beam failure recovery) 과정이 추가될 수 있으며, UL 그랜트 수신 단계에 UL 그랜트를 포함하는 PDCCH(Physical Downlink Control CHannel)의 빔 수신 방향과 관련하여 QCL(Quasi Co-Located) 관계가 추가될 수 있으며, 특정 정보 전송 단계에 특정 정보를 포함하는 PUCCH/PUSCH(Physical Uplink Shared CHannel)의 빔 전송 방향과 관련하여 QCL 관계가 추가될 수 있다. 또한, DL 그랜트 수신 단계에 DL 그랜트를 포함하는 PDCCH의 빔 수신 방향과 관련하여 QCL 관계가 추가될 수 있다.A beam management (BM) process may be added to the initial access stage, and a beam failure recovery process related to PRACH (Physical Random Access CHannel) transmission may be added to the random access stage, and UL grant In the reception step, a Quasi Co-Located (QCL) relationship may be added in relation to the beam reception direction of the PDCCH (Physical Downlink Control CHannel) including the UL grant, and PUCCH/PUSCH including specific information in the specific information transmission step ( A QCL relationship may be added in relation to the beam transmission direction of Physical Uplink Shared CHannel). In addition, in the DL grant reception step, a QCL relationship may be added in relation to the beam reception direction of the PDCCH including the DL grant.

도 7에 도시된 바와 같이, 자율주행이 가능한 차량(100)은 DL 동기 및 시스템 정보를 획득하기 위해 SSB에 기초하여 5G 네트워크와 초기 접속 절차를 수행한다(초기 접속 단계, S40).As shown in FIG. 7, the vehicle 100 capable of autonomous driving performs an initial access procedure with the 5G network based on the SSB in order to obtain DL synchronization and system information (initial access step, S40).

또한, 자율주행이 가능한 차량(100)은 UL 동기 획득 및/또는 UL 전송을 위해 5G 네트워크와 임의 접속 절차를 수행한다(임의 접속 단계, S41).In addition, the vehicle 100 capable of autonomous driving performs a random access procedure with the 5G network to obtain UL synchronization and/or transmit UL (random access step, S41).

또한, 자율주행이 가능한 차량(100)은 설정된 그랜트(Configured grant)에 기초하여 특정 정보를 5G 네트워크로 전송한다(UL 그랜트 수신 단계, S42). 즉, 상기 5G 네트워크로부터 UL 그랜트를 수신하는 과정 대신, 설정된 그랜트를 수신할 수 있다.In addition, the vehicle 100 capable of autonomous driving transmits specific information to the 5G network based on a configured grant (UL grant reception step, S42). That is, instead of receiving the UL grant from the 5G network, a set grant may be received.

또한, 자율주행이 가능한 차량(100)은 원격 제어와 관련된 정보(또는 신호)를 설정 그랜트에 기초하여 5G 네트워크로부터 수신한다(원격 제어 관련 정보 수신 단계, S43).In addition, the vehicle 100 capable of autonomous driving receives remote control-related information (or signals) from the 5G network based on a setting grant (remote control-related information receiving step, S43).

도 8에 도시된 바와 같이, 자율주행이 가능한 차량(100)은 DL 동기 및 시스템 정보를 획득하기 위해 SSB에 기초하여 5G 네트워크와 초기 접속 절차를 수행할 수 있다(초기 접속 단계, S50).As shown in FIG. 8, the vehicle 100 capable of autonomous driving may perform an initial access procedure with the 5G network based on the SSB in order to obtain DL synchronization and system information (initial access step, S50).

또한, 자율주행이 가능한 차량(100)은 UL 동기 획득 및/또는 UL 전송을 위해 5G 네트워크와 임의 접속 절차를 수행한다(임의 접속 단계, S51).In addition, the vehicle 100 capable of autonomous driving performs a random access procedure with the 5G network to acquire UL synchronization and/or transmit UL (random access step, S51).

또한, 자율주행이 가능한 차량(100)은 5G 네트워크로부터 DL 선점(Downlink Preemption) IE(Information Element)를 수신한다(DL 선점 IE 수신, S52).In addition, the vehicle 100 capable of autonomous driving receives a DL Preemption (DL) Information Element (IE) from the 5G network (DL preemption IE reception, S52).

또한, 자율주행이 가능한 차량(100)은 DL 선점 IE에 기초하여 선점 지시를 포함하는 DCI(Downlink Control Information) 포맷 2_1을 5G 네트워크로부터 수신한다(DCI 포맷 2_1 수신 단계, S53).In addition, the vehicle 100 capable of autonomous driving receives the DCI (Downlink Control Information) format 2_1 including the preemption instruction based on the DL preemption IE from the 5G network (DCI format 2_1 reception step, S53).

또한, 자율주행 가능한 차량(100)은 선점 지시(Pre-emption indication)에 의해 지시된 자원(PRB 및/또는 OFDM 심볼)에서 eMBB 데이터의 수신을 수행(또는 기대 또는 가정)하지 않는다(eMBB 데이터의 수신 미수행 단계, S54).In addition, the autonomous vehicle 100 does not perform (or expect or assume) the reception of eMBB data in the resource (PRB and/or OFDM symbol) indicated by the pre-emption indication (eMBB data Reception not performed step, S54).

또한, 자율주행이 가능한 차량(100)은 특정 정보를 전송하기 위해 5G 네트워크로 UL 그랜트를 수신한다(UL 그랜트 수신 단계, S55).In addition, the vehicle 100 capable of autonomous driving receives a UL grant through a 5G network to transmit specific information (UL grant reception step, S55).

또한, 자율주행이 가능한 차량(100)은 UL 그랜트에 기초하여 특정 정보를 5G 네트워크로 전송한다(특정 정보 전송 단계, S56).In addition, the vehicle 100 capable of autonomous driving transmits specific information to the 5G network based on the UL grant (specific information transmission step, S56).

또한, 자율주행이 가능한 차량(100)은 특정 정보에 대한 응답을 수신하기 위한 DL 그랜트를 5G 네트워크로부터 수신한다(DL 그랜트 수신 단계, S57).In addition, the vehicle 100 capable of autonomous driving receives a DL grant for receiving a response to specific information from the 5G network (DL grant reception step, S57).

또한, 자율주행이 가능한 차량(100)은 원격제어와 관련된 정보(또는 신호)를 DL 그랜트에 기초하여 5G 네트워크로부터 수신한다(원격 제어 관련 정보 수신 단계, S58).In addition, the vehicle 100 capable of autonomous driving receives remote control-related information (or signals) from the 5G network based on the DL grant (remote control-related information receiving step, S58).

도 9에 도시된 바에 의하면, 자율주행이 가능한 차량(100)은 DL 동기 및 시스템 정보를 획득하기 위해 SSB에 기초하여 5G 네트워크와 초기 접속 절차를 수행한다(초기 접속 단계, S60).As shown in FIG. 9, the vehicle 100 capable of autonomous driving performs an initial access procedure with the 5G network based on the SSB in order to obtain DL synchronization and system information (initial access step, S60).

또한, 자율주행이 가능한 차량(100)은 UL 동기 획득 및/또는 UL 전송을 위해 5G 네트워크와 임의 접속 절차를 수행한다(임의 접속 단계, S61).In addition, the vehicle 100 capable of autonomous driving performs a random access procedure with the 5G network to acquire UL synchronization and/or transmit UL (random access step, S61).

또한, 자율주행 가능한 차량(100)은 특정 정보를 전송하기 위해 5G 네트워크로 UL 그랜트를 수신한다(UL 그랜트 수신 단계, S62).In addition, the vehicle 100 capable of autonomous driving receives a UL grant through a 5G network to transmit specific information (UL grant reception step, S62).

UL 그랜트는 특정 정보의 전송이 반복적으로 이루어지는 경우, 그 반복 횟수에 대한 정보를 포함하고, 특정 정보는 반복 횟수에 대한 정보에 기초하여 반복하여 전송된다(특정 정보 반복 전송 단계, S63).When the transmission of specific information is repeatedly performed, the UL grant includes information on the number of repetitions, and the specific information is repeatedly transmitted based on the information on the number of repetitions (repetitive transmission of specific information, step S63).

또한, 자율주행이 가능한 차량(100)은 UL 그랜트에 기초하여 특정 정보를 5G 네트워크로 전송한다.In addition, the vehicle 100 capable of autonomous driving transmits specific information to the 5G network based on the UL grant.

또한, 특정 정보의 반복 전송은 주파수 호핑을 통해 수행되고, 첫 번째 특정 정보의 전송은 제 1 주파수 자원에서, 두 번째 특정 정보의 전송은 제 2 주파수 자원에서 전송될 수 있다.In addition, repetitive transmission of specific information may be performed through frequency hopping, transmission of first specific information may be transmitted on a first frequency resource, and transmission of second specific information may be transmitted on a second frequency resource.

특정 정보는 6RB(Resource Block) 또는 1RB(Resource Block)의 협대역(Narrowband)을 통해 전송될 수 있다.Specific information may be transmitted through a narrowband of 6RB (Resource Block) or 1RB (Resource Block).

또한, 자율주행이 가능한 차량(100)은 특정 정보에 대한 응답을 수신하기 위한 DL 그랜트를 5G 네트워크로부터 수신한다(DL 그랜트 수신 단계, S64).In addition, the vehicle 100 capable of autonomous driving receives a DL grant for receiving a response to specific information from the 5G network (DL grant reception step, S64).

또한, 자율주행이 가능한 차량(100)은 원격제어와 관련된 정보(또는 신호)를 DL 그랜트에 기초하여 5G 네트워크로부터 수신한다(원격 제어 관련 정보 수신 단계, S65).In addition, the vehicle 100 capable of autonomous driving receives information (or signals) related to remote control from the 5G network based on the DL grant (remote control related information receiving step, S65).

앞서 기술한 5G 통신 기술은 도 1 내지 도 14에서 후술할 본 명세서에서 제안하는 실시예와 결합되어 적용될 수 있으며, 또는 본 명세서에서 제안하는 실시예의 기술적 특징을 구체화하거나 명확하게 하는데 보충될 수 있다.The 5G communication technology described above may be applied in combination with the embodiments proposed in the present specification to be described later in FIGS. 1 to 14, or may be supplemented to specify or clarify the technical features of the embodiments proposed in the present specification.

메모리(120)는 하나 이상의 프로세서(130)와 연결되는 것으로, 프로세서(130)에 의해 실행될 때, 프로세서(130)로 하여금 서버 워크로드 분산 시스템(1)을 제어하도록 야기하는(cause) 코드들을 저장할 수 있다.The memory 120 is connected to one or more processors 130 and stores codes that cause the processor 130 to control the server workload distribution system 1 when executed by the processor 130. I can.

예를 들어, 메모리(120)는 차량(100)의 차량 정보 및 협업용 연산 정보를 제 1 서버(200)에 전송하고, 제 1 서버(200)로부터 아웃소싱 서비스의 수행 요청 및 아웃소싱 서비스에 필요한 데이터에 접근 가능한 경로를 포함하는 데이터 접근 정보를 수신하며, 데이터 접근 정보에 기반하여 아웃소싱 서비스를 수행하고, 아웃소싱 서비스의 서비스 대상 차량(100) 또는 제 2 서버(300)로 아웃소싱 서비스의 연산 결과의 적어도 일부를 전송하도록 야기하는(cause) 코드들을 저장할 수 있다. For example, the memory 120 transmits vehicle information and collaborative operation information of the vehicle 100 to the first server 200, and requests to perform outsourcing services from the first server 200 and data necessary for the outsourcing service. Receiving data access information including a path accessible to, performing an outsourcing service based on the data access information, and at least of the calculation result of the outsourcing service to the service target vehicle 100 or the second server 300 of the outsourcing service. You can store codes that cause some to be transmitted.

또한, 메모리(120)는 차량(100)의 가용 연산 리소스를 주기적으로 제 1 서버(200)로 업데이트 하도록 야기하는 코드들을 저장할 수 있다. 그리고 메모리(120)는 연산 결과를 전송하는 동작 이전에, 아웃소싱 서비스의 수행 완료를 제 1 서버(200)에 전송하고, 제 1 서버(200)로부터 서비스 대상 차량과의 통신을 위한 정보를 수신하도록 야기하는 코드들을 저장할 수 있다. 또한, 메모리(120)는 차량(100)이 제 1 서버(200)의 커버리지에서의 이탈을 보고함에 따라, 수행한 아웃소싱 서비스의 중간 결과를 제 2 서버(300)로 전송하도록 야기하는 코드들을 저장할 수 있다. 그리고 메모리(120)는 차량 인증을 위한 인증 정보를 제 2 서버(300)에 전송하고 애플리케이션을 다운로드 하도록 야기하는 코드들을 저장할 수 있다. 또한 메모리(120)에는 서버 워크로드 분산을 최적의 방법으로 수행할 수 있도록 미리 훈련된 심층 신경망 모델을 저장할 수 있다.In addition, the memory 120 may store codes that cause the available computational resources of the vehicle 100 to be periodically updated to the first server 200. And before the operation of transmitting the operation result, the memory 120 transmits the completion of the outsourcing service to the first server 200, and receives information for communication with the service target vehicle from the first server 200. You can store the resulting codes. In addition, the memory 120 stores codes that cause the vehicle 100 to transmit the intermediate result of the performed outsourcing service to the second server 300 as the vehicle 100 reports the deviation from the coverage of the first server 200. I can. In addition, the memory 120 may store codes that cause the authentication information for vehicle authentication to be transmitted to the second server 300 and to download an application. In addition, the memory 120 may store a pretrained deep neural network model to perform server workload distribution in an optimal manner.

즉, 메모리(120)는 서버 워크로드 분산 시스템(1)에서 필요한 각종 코드들, 각종 정보들을 저장하는 것으로, 휘발성 또는 비휘발성 기록 매체를 포함할 수 있다.That is, the memory 120 stores various codes and various information necessary for the server workload distribution system 1 and may include a volatile or nonvolatile recording medium.

여기서, 메모리(120)는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 이러한 메모리(120)는 내장 메모리 및/또는 외장 메모리를 포함할 수 있으며, DRAM, SRAM, 또는 SDRAM 등과 같은 휘발성 메모리, OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, NAND 플래시 메모리, 또는 NOR 플래시 메모리 등과 같은 비휘발성 메모리, SSD. CF(compact flash) 카드, SD 카드, Micro-SD 카드, Mini-SD 카드, Xd 카드, 또는 메모리 스틱(memory stick) 등과 같은 플래시 드라이브, 또는 HDD와 같은 저장 장치를 포함할 수 있다.Here, the memory 120 may include a magnetic storage medium or a flash storage medium, but the scope of the present invention is not limited thereto. The memory 120 may include internal memory and/or external memory, and volatile memory such as DRAM, SRAM, or SDRAM, one time programmable ROM (OTPROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, Non-volatile memory such as NAND flash memory, or NOR flash memory, SSD. A flash drive such as a compact flash (CF) card, an SD card, a Micro-SD card, a Mini-SD card, an Xd card, or a memory stick, or a storage device such as an HDD.

프로세서(130)는 차량(100)이 제 1 서버(200)의 워크로드 분산을 지원하도록 차량(100)의 동작을 제어할 수 있다. 즉 프로세서(130)는 차량 정보 및 협업용 연산 정보를 제 1 서버(200)에 전송하고, 제 1 서버(200)로부터 아웃소싱 서비스의 수행 요청 및 아웃소싱 서비스에 필요한 데이터에 접근 가능한 경로를 포함하는 데이터 접근 정보를 수신할 수 있다. 그리고 프로세서(130)는 데이터 접근 정보에 기초하여 아웃소싱 서비스를 수행할 수 있다. 또한 프로세서(130)는 아웃소싱 서비스의 서비스 대상 차량 또는 제 2 서버(300)로 아웃소싱 서비스의 연산 결과의 적어도 일부를 전송할 수 있다.The processor 130 may control the operation of the vehicle 100 so that the vehicle 100 supports workload distribution of the first server 200. That is, the processor 130 transmits vehicle information and operation information for collaboration to the first server 200, and the data including a path accessible to the data required for the outsourcing service and requesting the execution of the outsourcing service from the first server 200 Can receive access information. In addition, the processor 130 may perform an outsourcing service based on the data access information. In addition, the processor 130 may transmit at least a part of the calculation result of the outsourcing service to the service target vehicle of the outsourcing service or the second server 300.

프로세서(130)는 일종의 중앙처리장치로서 메모리(120)에 탑재된 제어 소프트웨어를 구동하여 차량(100) 전체의 동작을 제어할 수 있다. 프로세서(130)는 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), 프로세서(Processors), 제어기(Controllers), 마이크로 컨트롤러(Micro-controllers), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.The processor 130 is a kind of central processing unit and may control the operation of the entire vehicle 100 by driving control software installed in the memory 120. The processor 130 may include all types of devices capable of processing data. Here, the'processor' may refer to a data processing device embedded in hardware having a circuit physically structured to perform a function represented by, for example, a code included in a program or an instruction. As an example of a data processing device built into the hardware as described above, a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, and an application-specific integrated (ASIC) circuit), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Processors, Controllers, Micro-controllers, Field Programmable Gate Array (FPGA) It may cover a processing device such as, but the scope of the present invention is not limited thereto.

본 실시 예에서 프로세서(130)는 서버 워크로드 분산 시스템(1)이 최적의 서버 워크로드 분산을 수행하도록, 딥러닝(Deep Learning) 등 머신 러닝(machine learning)을 수행할 수 있고, 메모리는 머신 러닝에 사용되는 데이터, 결과 데이터 등을 저장할 수 있다.In this embodiment, the processor 130 may perform machine learning such as deep learning so that the server workload distribution system 1 performs optimal server workload distribution, and the memory is a machine. Data used for running, result data, etc. can be stored.

머신 러닝의 일종인 딥러닝(deep learning) 기술은 데이터를 기반으로 다단계로 깊은 수준까지 내려가 학습할 수 있다. 딥러닝은 단계를 높여갈수록 복수의 데이터들로부터 핵심적인 데이터를 추출하는 머신 러닝 알고리즘의 집합을 나타낼 수 있다.Deep learning technology, a kind of machine learning, can learn by going down to the deep level in multiple stages based on data. Deep learning can represent a set of machine learning algorithms that extract core data from a plurality of data as the level increases.

딥러닝 구조는 인공신경망(ANN)을 포함할 수 있으며, 예를 들어 딥러닝 구조는 CNN(convolutional neural network), RNN(recurrent neural network), DBN(deep belief network) 등 심층신경망(DNN)으로 구성될 수 있다. 본 실시 예에 따른 딥러닝 구조는 공지된 다양한 구조를 이용할 수 있다. 예를 들어, 본 발명에 따른 딥러닝 구조는 CNN, RNN, DBN 등을 포함할 수 있다. RNN은, 자연어 처리 등에 많이 이용되고 있으며, 시간의 흐름에 따라 변하는 시계열 데이터(time-series data) 처리에 효과적인 구조로 매 순간마다 레이어를 쌓아올려 인공신경망 구조를 구성할 수 있다. DBN은 딥러닝 기법인 RBM(restricted boltzman machine)을 다층으로 쌓아 구성되는 딥러닝 구조를 포함할 수 있다. RBM 학습을 반복하여, 일정 수의 레이어가 되면 해당 개수의 레이어를 가지는 DBN을 구성할 수 있다. CNN은 사람이 물체를 인식할 때 물체의 기본적인 특징들을 추출한 다음 뇌 속에서 복잡한 계산을 거쳐 그 결과를 기반으로 물체를 인식한다는 가정을 기반으로 만들어진 사람의 뇌 기능을 모사한 모델을 포함할 수 있다. The deep learning structure may include an artificial neural network (ANN), and for example, the deep learning structure consists of a deep neural network (DNN) such as a convolutional neural network (CNN), a recurrent neural network (RNN), and a deep belief network (DBN). Can be. The deep learning structure according to the present embodiment may use various known structures. For example, the deep learning structure according to the present invention may include CNN, RNN, DBN, and the like. RNN is widely used for natural language processing, etc., and is an effective structure for processing time-series data that changes with the passage of time, and can construct an artificial neural network structure by stacking layers every moment. The DBN may include a deep learning structure constituted by stacking RBM (restricted boltzman machine), which is a deep learning technique, in multiple layers. By repeating RBM learning, when a certain number of layers is reached, a DBN having the corresponding number of layers can be configured. CNN can include a model that simulates human brain function, which is made based on the assumption that when a person recognizes an object, it extracts the basic features of an object, then performs complex calculations in the brain and recognizes the object based on the result. .

한편, 인공신경망의 학습은 주어진 입력에 대하여 원하는 출력이 나오도록 노드간 연결선의 웨이트(weight)를 조정(필요한 경우 바이어스(bias) 값도 조정)함으로써 이루어질 수 있다. 또한, 인공신경망은 학습에 의해 웨이트(weight) 값을 지속적으로 업데이트시킬 수 있다. 또한, 인공신경망의 학습에는 역전파(back propagation) 등의 방법이 사용될 수 있다.On the other hand, learning of the artificial neural network can be accomplished by adjusting the weight of the connection line between nodes (if necessary, adjusting the bias value) so that a desired output is produced for a given input. In addition, the artificial neural network can continuously update the weight value by learning. In addition, a method such as back propagation may be used for learning of the artificial neural network.

즉 서버 워크로드 분산 시스템(1)에는 인공신경망(artificial neural network)이 탑재될 수 있으며, 즉 프로세서(130)는 인공신경망, 예를 들어, CNN, RNN, DBN 등 심층신경망(deep neural network: DNN)을 포함할 수 있다. 따라서 프로세서(130)는 서버 워크로드 분산 시스템(1)의 최적의 서버 워크로드 분산을 위해 심층신경망을 학습할 수 있다. 이러한 인공신경망의 머신 러닝 방법으로는 자율학습(unsupervised learning)과 지도학습(supervised learning)이 모두 사용될 수 있다. 프로세서(130)는 설정에 따라 학습 후 인공신경망 구조를 업데이트시키도록 제어할 수 있다.That is, the server workload distribution system 1 may be equipped with an artificial neural network, that is, the processor 130 is an artificial neural network, for example, a deep neural network (DNN) such as CNN, RNN, and DBN. ) Can be included. Therefore, the processor 130 may learn the deep neural network for optimal server workload distribution in the server workload distribution system 1. Both unsupervised learning and supervised learning can be used as a machine learning method of such an artificial neural network. The processor 130 may control to update the artificial neural network structure after learning according to the setting.

한편, 본 실시 예에서는 미리 훈련된 심층 신경망 학습을 위한 파라미터를 수집할 수 있다. 이때 본 실시 예에서는, 학습 모델을 정교화하기 위해서 실제 사용자가 사용한 데이터를 수집할 수 있다. 사용자로부터 사용자 데이터를 입력 받는 경우, 본 실시 예에서는 학습 모델의 결과와 상관없이 입력 데이터를 서버 및/또는 메모리에 저장할 수 있다. 즉 본 실시 예에서, 서버 워크로드 분산 시스템(1)은 최적의 서버 워크로드 분산을 위한 데이터를 서버에 저장하여 빅데이터를 구성하고, 서버단에서 딥러닝을 실행하여 관련 파라미터를 서버 워크로드 분산 시스템(1) 내부에 업데이트하여 점차 정교해지도록 할 수 있다. 다만 본 실시 예에서는 차량(100)의 엣지(edge) 단, 즉 제 1 서버(200)에서 자체적으로 딥러닝을 실행하여 업데이트를 수행할 수 있다. 즉 본 실시 예는, 서버 워크로드 분산 시스템(1)의 초기 설정 시에는 실험실 조건의 딥러닝 파라미터를 내장하고, 서버 워크로드 분산을 위한 동작이 수행될수록 누적되는 데이터를 통해 업데이트를 수행할 수 있다. 따라서 본 실시 예에서는 수집한 데이터를 라벨링하여 지도학습을 통한 결과물을 얻을 수 있도록 하며, 이를 서버 워크로드 분산 시스템 자체 메모리에 저장하여 진화하는 알고리즘이 완성되도록 할 수 있다. 즉, 서버 워크로드 분산 시스템(1)은 최적의 서버 워크로드 분산을 위한 데이터들을 수집하여 학습 데이터 세트를 생성하고, 학습 데이터 세트를 기계학습 알고리즘을 통해 학습시켜서 학습된 모델을 결정할 수 있다. 그리고 서버 워크로드 분산 시스템(1)은 실제 사용자가 사용한 데이터를 수집하여 서버에서 재 학습시켜서 재 학습된 모델을 생성할 수 있다. 따라서 본 실시 예는, 학습된 모델로 판단한 후에도 계속 데이터를 수집하고, 기계학습모델을 적용하여 재 학습시켜서, 재 학습된 모델로 성능을 향상시킬 수 있다. 이하 프로세서(130)의 상세한 내용은 도 10을 참조하여 설명하도록 한다.Meanwhile, in the present embodiment, parameters for training a pre-trained deep neural network may be collected. At this time, in this embodiment, data used by an actual user may be collected in order to refine the learning model. When receiving user data from a user, in this embodiment, the input data may be stored in the server and/or memory regardless of the result of the learning model. That is, in this embodiment, the server workload distribution system 1 stores data for optimal server workload distribution in the server to configure big data, and executes deep learning at the server side to distribute the related parameters to the server workload. It can be updated inside the system (1) so that it is gradually elaborated. However, in the present embodiment, the edge of the vehicle 100, that is, the first server 200 may execute deep learning by itself to perform the update. That is, in the present embodiment, when the server workload distribution system 1 is initially set, deep learning parameters of laboratory conditions are embedded, and the update can be performed through data that is accumulated as an operation for server workload distribution is performed. . Accordingly, in the present embodiment, the collected data can be labeled to obtain a result through supervised learning, and the evolving algorithm can be completed by storing it in its own memory of the server workload distribution system. That is, the server workload distribution system 1 may collect data for optimal server workload distribution to generate a training data set, and train the training data set through a machine learning algorithm to determine a trained model. In addition, the server workload distribution system 1 may generate a retrained model by collecting data used by an actual user and retraining it in the server. Accordingly, in the present embodiment, even after determining as a trained model, data is continuously collected and retrained by applying a machine learning model, thereby improving performance with the retrained model. Hereinafter, details of the processor 130 will be described with reference to FIG. 10.

도 10은 본 발명의 일 실시 예에 따른 차량의 프로세서를 나타낸 개략적인 블록도이다. 이하의 설명에서 도 1 내지 도 9에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.10 is a schematic block diagram illustrating a processor of a vehicle according to an embodiment of the present invention. In the following description, descriptions of portions overlapping with those of FIGS. 1 to 9 will be omitted.

도 10을 참조하면, 차량(100)의 프로세서(130)는 가용 리소스 관리부(131), 지원 요청 수신부(132), 액세스 정보 수신부(133), 다운로드 관리부(134), 서비스 수행부(135), 처리결과 제공부(136), 업데이트 관리부(137), 차량 통신 관리부(138) 및 컨트롤러(139)를 포함할 수 있다. 한편, 도 10에서의 차량(100)은 아웃소싱 서비스 수행을 요청 받는 제 2 차량(100-2)을 의미할 수 있다.Referring to FIG. 10, the processor 130 of the vehicle 100 includes an available resource management unit 131, a support request receiving unit 132, an access information receiving unit 133, a download management unit 134, a service execution unit 135, A processing result providing unit 136, an update management unit 137, a vehicle communication management unit 138, and a controller 139 may be included. Meanwhile, the vehicle 100 in FIG. 10 may refer to a second vehicle 100-2 that is requested to perform an outsourcing service.

가용 리소스 관리부(131)는 차량(100)의 차량 정보 및 협업용 연산 정보를 제 1 서버(200)에 전송할 수 있다. 즉 차량(100)은 제 1 서버(200)의 커버리지에 진입함에 따라 차량(100)의 차량 정보 및 협업용 연산 정보를 등록할 수 있다. 이때, 차량 정보는 차량(100)의 식별자, 차량(100)의 종류, 차량(100)의 용도, 차량(100)의 생산연도, 및 차량(100)의 브랜드 중 적어도 하나를 포함할 수 있다. 그리고 협업용 연산 정보는 차량(100)의 연산 리소스, 실행 가능한 분산 연산 플랫폼(distributed computing platform) 및 사용 가능한 통신 프로토콜 중 적어도 하나를 포함할 수 있다. 예를 들어, 협업용 연산 정보는 CPU, GPU, NPU 등의 정보를 포함할 수 있고, SW 분산 실행 가능한 VM, Container 등의 플랫폼 정보를 포함할 수 있다.The available resource management unit 131 may transmit vehicle information and collaborative operation information of the vehicle 100 to the first server 200. That is, as the vehicle 100 enters the coverage of the first server 200, vehicle information of the vehicle 100 and operation information for cooperation may be registered. In this case, the vehicle information may include at least one of an identifier of the vehicle 100, a type of the vehicle 100, a purpose of the vehicle 100, a production year of the vehicle 100, and a brand of the vehicle 100. In addition, the operation information for collaboration may include at least one of an operation resource of the vehicle 100, an executable distributed computing platform, and an available communication protocol. For example, the operation information for collaboration may include information such as CPU, GPU, and NPU, and may include platform information such as a VM and container capable of distributed software execution.

또한 가용 리소스 관리부(131)는 차량(100)의 가용 연산 리소스를 주기적으로 제 1 서버(200)로 업데이트 할 수 있다. 이때 가용 리소스 관리부(131)는 차량(100)의 가장 최근의 가용 연산 리소스를 송신하거나, 차량(100)의 일정 기간 동안의 가용 연산 리소스의 평균치를 송신할 수 있다.In addition, the available resource management unit 131 may periodically update the available computational resources of the vehicle 100 to the first server 200. In this case, the available resource management unit 131 may transmit the most recent available computational resource of the vehicle 100 or may transmit an average value of the available computational resources of the vehicle 100 for a predetermined period.

지원 요청 수신부(132)는 제 1 서버(200)로부터 아웃소싱 서비스의 수행 요청을 수신할 수 있다.The support request receiving unit 132 may receive a request to perform an outsourcing service from the first server 200.

액세스 정보 수신부(133)는 제 1 서버(200)로부터 아웃소싱 서비스에 필요한 데이터에 접근 가능한 경로를 포함하는 데이터 접근 정보를 수신할 수 있다. 또한 액세스 정보 수신부(133)는 아웃소싱 서비스에 관련된 애플리케이션을 다운로드 하기 위한 경로 및 인증 정보를 수신할 수 있다. 여기서 데이터 접근 정보는 제 2 서버(300), 서비스 애플리케이션 및 데이터에 대한 정보를 포함할 수 있다.The access information receiving unit 133 may receive data access information including a path accessible to data required for an outsourcing service from the first server 200. In addition, the access information receiving unit 133 may receive a path and authentication information for downloading an application related to an outsourcing service. Here, the data access information may include information on the second server 300, a service application, and data.

다운로드 관리부(134)는 제 2 서버(300)로부터 다운로드 받은 서비스 할 애플리케이션을 관리할 수 있다. 즉 다운로드 관리부(134)는 아웃소싱 서비스의 수행 요청과 함께, 아웃소싱 서비스에 관련된 애플리케이션을 다운로드 하기 위한 경로 및 다운로드를 위한 인증 정보를 수신하여 관리할 수 있다. 이때 서비스 할 애플리케이션은 데이터 및 이미지를 포함할 수 있는데, 서비스를 수행 할 차량의 플랫폼의 VM, Container 환경에서 실행 가능한 포맷으로, 해당 실행 환경을 갖춘 차량에서 애플리케이션이 실행 가능한 포맷이어야 한다.The download management unit 134 may manage an application to be serviced downloaded from the second server 300. That is, the download management unit 134 may receive and manage a path for downloading an application related to the outsourcing service and authentication information for downloading, together with a request to perform the outsourcing service. At this time, the application to be serviced may include data and images, and it must be a format that can be executed in a VM or container environment of the platform of the vehicle to be serviced, and the application can be executed in a vehicle equipped with the execution environment.

서비스 수행부(135)는 아웃소싱 서비스에 필요한 데이터에 접근 가능한 경로를 포함하는 데이터 접근 정보에 기초하여 아웃소싱 서비스를 수행할 수 있다. 서비스 수행부(135)는 제 1 서버(200)로부터 수신 받은 데이터 접근 정보에 기초하여 제 2 서버(300)에 연결할 수 있다. 이때 제 2 서버(300)는 차량(100)이 허가 받은 차량인지 인증을 수행할 수 있다. 서비스 수행부(135)는 제 2 서버(300)에 데이터를 액세스하여 아웃소싱 서비스와 관련된 애플리케이션을 제 2 서버(300)로부터 다운로드 하고, 애플리케이션을 실행할 수 있다. 그리고 서비스 수행부(135)는 해당 서비스를 러닝(running)할 수 있다. 즉 서비스 수행부(135)는 애플리케이션을 실행하고 제 2 서버(300)에 저장된 아웃소싱 서비스와 관련된 데이터를 이용하여 아웃소싱 서비스를 수행할 수 있다.The service execution unit 135 may perform an outsourcing service based on data access information including a path accessible to data required for the outsourcing service. The service execution unit 135 may connect to the second server 300 based on the data access information received from the first server 200. At this time, the second server 300 may perform authentication whether the vehicle 100 is a licensed vehicle. The service execution unit 135 may access data to the second server 300 to download an application related to an outsourcing service from the second server 300 and execute the application. In addition, the service execution unit 135 may run a corresponding service. That is, the service execution unit 135 may execute an application and perform an outsourcing service using data related to the outsourcing service stored in the second server 300.

처리결과 제공부(136)는 서비스 수행부(135)에서 아웃소싱 서비스를 수행한 후, 아웃소싱 서비스의 서비스 대상 차량(예를 들어, 제 1 차량) 또는 제 2 서버(300)로 아웃소싱 서비스의 연산 결과의 적어도 일부를 전송할 수 있다. 그리고 처리결과 제공부(136)는 연산 결과를 전송하기 전에 아웃소싱 서비스의 수행 완료를 제 1 서버(200)에 전송할 수 있다. 즉 처리결과 제공부(136)는 제 1 서버(200)로 아웃소싱 서비스의 수행 상태를 보고할 수 있다. 한편, 처리결과 제공부(136)는 차량(100)이 제 1 서버(200)의 커버리지에서 이탈하면, 수행한 아웃소싱 서비스의 중간 결과를 제 2 서버(300)로 전송할 수 있다.After the outsourcing service is performed by the service execution unit 135, the processing result providing unit 136 performs an outsourcing service calculation result to a service target vehicle (eg, a first vehicle) or a second server 300 of the outsourcing service. At least some of the can be transmitted. In addition, the processing result providing unit 136 may transmit the completion of the outsourcing service to the first server 200 before transmitting the operation result. That is, the processing result providing unit 136 may report the execution status of the outsourcing service to the first server 200. Meanwhile, when the vehicle 100 deviates from the coverage of the first server 200, the processing result providing unit 136 may transmit an intermediate result of the performed outsourcing service to the second server 300.

업데이트 관리부(137)는 서비스 실행 내용을 제 1 서버(200) 및 제 2 서버(300)에 전송하여 업데이트 할 수 있다. 그리고 업데이트 관리부(137)는 서비스 요청 차량으로 아웃소싱 서비스의 연산 결과물을 전송할 수 있다.The update management unit 137 may transmit and update service execution details to the first server 200 and the second server 300. In addition, the update management unit 137 may transmit an operation result of the outsourcing service to the service requesting vehicle.

차량 통신 관리부(138)는 제 1 서버(200)로부터 서비스 대상 차량과의 통신을 위한 정보를 수신할 수 있다. 즉 차량 통신 관리부(138)는 제 1 서버(200)로부터 서비스 요청 차량과 서비스 수행 차량 간의 통신이 가능하도록 하는 통신 정보를 수신할 수 있다.The vehicle communication management unit 138 may receive information for communication with a service target vehicle from the first server 200. That is, the vehicle communication management unit 138 may receive communication information enabling communication between the service requesting vehicle and the service performing vehicle from the first server 200.

컨트롤러(139)는 프로세서(130)의 전반적인 동작을 제어하는 것으로, 프로세서(130)와 일체로 형성되거나 별도로 구비될 수 있다. 다만 본 실시 에에서는 프로세서(130) 내에 구비되는 제어모듈을 의미할 수 있다.The controller 139 controls the overall operation of the processor 130 and may be formed integrally with the processor 130 or may be provided separately. However, in this embodiment, it may mean a control module provided in the processor 130.

제 1 서버(200)는 차량(100)에서 실행 가능한 차량 실시간 서비스 및 비실시간 서비스를 제공할 수 있으며, 리소스 모니터링부(210), 워크로드 관리부(220) 및 데이터 관리부(230)를 포함할 수 있다. 본 실시 예에서 제 1 서버(200)는 엣지 서버(Edge Server)일 수 있다. The first server 200 may provide a vehicle real-time service and a non-real-time service that can be executed in the vehicle 100, and may include a resource monitoring unit 210, a workload management unit 220, and a data management unit 230. have. In this embodiment, the first server 200 may be an edge server.

IT 인프라에서 엣지는 사용자와 가장 가까운 네트워크에 위치한 서버 혹은 노드를 의미할 수 있다. 사용자가 요청한 데이터 또는 콘텐츠를 사용자 가장 가까이에서 전송하고 처리할 수 있도록 인프라를 구성할 수 있다. 또한, 엣지 컴퓨팅은 중앙에서 데이터를 집중 처리하는 클라우드 컴퓨팅 방식이 아닌, 여러 지점에서 소규모 설비로 데이터를 처리하는 컴퓨팅 방식을 말한다. 사물 인터넷 시대에 본격 진입하게 되면 다양한 경로를 통해 중앙으로 수집되는 데이터의 양이 많아지고, 실시간 처리가 중요한 사물 인터넷 환경에서는 집중된 데이터를 지연 없이 처리해야 한다. 즉 이러한 문제를 보완하기 위해 여러 곳에 설치한 엣지 서버에서 바로 데이터를 처리하고, 결과를 알려줄 수 있도록 한다.In the IT infrastructure, the edge can mean a server or node located in the network closest to the user. The infrastructure can be configured so that the data or content requested by the user can be transmitted and processed closest to the user. In addition, edge computing refers to a computing method in which data is processed by a small facility at several points rather than a cloud computing method in which data is centrally processed. When entering the IoT era in earnest, the amount of data collected centrally through various routes increases, and in an IoT environment where real-time processing is important, concentrated data must be processed without delay. In other words, to compensate for this problem, the edge server installed in several places can process data immediately and notify the result.

즉, 제 1 서버(200)는 제 1 차량(100-1)으로부터 서비스 요청을 수신하고, 제 1 서버(200)의 가용 연산 리소스(computing resource)에 기초하여 서비스 요청에 대한 서버의 서비스 수행 가능성을 판단할 수 있다. 다시 말해, 제 1 서버(200)는 제 1 서버(200)의 연산 리소스를 모니터링 하여, 현재 서비스 제공 중인 연산 리소스가 요청 받은 서비스를 수행할 수 있는지를 체크하고, 제 1 서버(200)에서 수행 가능한 경우 서비스를 실행할 수 있다. 반면, 요청 받은 서비스를 수행할 수 없는 경우(예를 들어, 과부하 상황), 리소스 모니터링을 통해 서비스 실행 가능한 차량을 찾을 수 있다.That is, the first server 200 receives a service request from the first vehicle 100-1, and the server's service execution possibility for the service request based on the available computing resources of the first server 200 Can be judged. In other words, the first server 200 monitors the computational resource of the first server 200, checks whether the computational resource currently providing the service can perform the requested service, and executes it in the first server 200. If possible, you can run the service. On the other hand, when the requested service cannot be performed (for example, an overload situation), a vehicle capable of performing the service can be found through resource monitoring.

그리고 제 1 서버(200)는 제 2 차량(100-2)의 가용 연산 리소스에 기초하여 제 2 차량(100-2)을 결정할 수 있다. 이때, 제 1 서버(200)는 결정된 아웃소싱 서비스에 기초하여 가용 연산 임계치를 결정하고, 제 1 서버(200)와 통신하는 차량들 중 가용 연산 리소스가 가용 연산 임계치 이상인 서비스 수행 대상 차량들을 결정할 수 있다. 그리고 제 1 서버(200)는 서비스 수행 대상 차량들의 주행 정보에 기초하여 서비스 수행 대상 차량들의 제 1 서버(200)의 커버리지 내 잔류 시간을 예측하고, 잔류 시간에 기초하여 서비스 수행 대상 차량들 중 제 2 차량(100-2)을 선별할 수 있다.In addition, the first server 200 may determine the second vehicle 100-2 based on the available computational resources of the second vehicle 100-2. At this time, the first server 200 may determine an available calculation threshold based on the determined outsourcing service, and among vehicles communicating with the first server 200, the available calculation resources may determine service execution target vehicles having an available calculation threshold or more. . In addition, the first server 200 predicts the remaining time within the coverage of the first server 200 of the service target vehicles based on driving information of the service target vehicles, and the first among the service target vehicles based on the remaining time. 2 Vehicle 100-2 can be selected.

또한 제 1 서버(200)는 서비스 수행 가능성의 판단에 기초하여 서비스 요청과 관련된 서비스 또는 제 1 서버(200)에서 수행 중인 서비스들 중 제 1 서버(200)에서 수행하지 않을 적어도 하나의 아웃소싱 서비스를 결정할 수 있다. 그리고 제 1 서버(200)는 제 2 차량(100-2)에 아웃소싱 서비스의 수행을 요청하고, 아웃소싱 서비스에 필요한 데이터에 접근 가능한 경로를 포함하는 데이터 접근 정보를 제 2 차량(100-2)에 전송할 수 있다. 그리고 제 1 서버(200)는 제 2 차량(100-2)으로부터 아웃소싱 서비스의 수행 상태를 수신할 수 있다.In addition, the first server 200 may provide at least one outsourcing service that is not to be performed by the first server 200 among services related to the service request or among the services being performed by the first server 200 based on the determination of the possibility of performing the service. You can decide. In addition, the first server 200 requests the second vehicle 100-2 to perform an outsourcing service, and transmits data access information including a path accessible to the data required for the outsourcing service to the second vehicle 100-2. Can be transmitted. In addition, the first server 200 may receive an execution status of an outsourcing service from the second vehicle 100-2.

리소스 모니터링부(210)는 제 1 서버(200)와, 제 1 차량(100-1) 및 제 2 차량(100-2)의 리소스를 모니터링 할 수 있다. 이때 제 1 차량(100-1) 및 제 2 차량(100-2)은 제 1 서버(200)의 커버리지 내에 진입한 차량들을 의미할 수 있다. The resource monitoring unit 210 may monitor resources of the first server 200 and the first vehicle 100-1 and the second vehicle 100-2. In this case, the first vehicle 100-1 and the second vehicle 100-2 may refer to vehicles that have entered the coverage of the first server 200.

특히 리소스 모니터링부(210)는 제 2 차량(100-2)의 차량 정보 및 협업용 연산 정보를 수신할 수 있다. 여기서, 차량 정보는, 차량(100)의 식별자, 차량(100)의 종류, 차량(100)의 용도, 차량(100)의 생산연도, 및 차량(100)의 브랜드 중 적어도 하나를 포함할 수 있다. 또한, 협업용 연산 정보는, 차량(100)의 연산 리소스, 실행 가능한 분산 연산 플랫폼(distributed computing platform) 및 사용 가능한 통신 프로토콜 중 적어도 하나를 포함할 수 있다. 여기서, 차량(100)의 연산 리소스는 차량(100)의 최대 연산 리소스, 또는 주행을 위해 사용되는 연산 리소스를 제외한 평균적 가용 연산 리소스 등을 의미할 수 있다.In particular, the resource monitoring unit 210 may receive vehicle information and collaborative operation information of the second vehicle 100-2. Here, the vehicle information may include at least one of an identifier of the vehicle 100, a type of the vehicle 100, a purpose of the vehicle 100, a production year of the vehicle 100, and a brand of the vehicle 100. . In addition, the operation information for collaboration may include at least one of an operation resource of the vehicle 100, an executable distributed computing platform, and an available communication protocol. Here, the computational resource of the vehicle 100 may mean a maximum computational resource of the vehicle 100 or an average available computational resource excluding computational resources used for driving.

그리고 리소스 모니터링부(210)는 제 1 서버(200)와 통신하는 제 2 차량(100-2)의 가용 연산 리소스를 주기적으로 모니터링 하여 업데이트 할 수 있다. 이때 리소스 모니터링부(210)는 제 2 차량(100-2)의 가장 최근에 모니터링 된 가용 연산 리소스를 저장하거나, 제 2 차량(100-2)의 일정 기간 동안 모니터링 된 가용 연산 리소스의 평균치를 저장할 수 있다. 또한 리소스 모니터링부(210)는 제 1 서버(200)에서 현재 서비스 중인 서비스에 대한 리소스를 모니터링 할 수 있다.In addition, the resource monitoring unit 210 may periodically monitor and update the available computational resources of the second vehicle 100-2 communicating with the first server 200. At this time, the resource monitoring unit 210 stores the most recently monitored available computational resources of the second vehicle 100-2 or the average value of the available computational resources monitored for a certain period of the second vehicle 100-2. I can. In addition, the resource monitoring unit 210 may monitor a resource for a service currently being serviced by the first server 200.

워크로드 관리부(220)는 서비스 요청과 관련된 서비스 또는 제 1 서버(200)에서 수행 중인 서비스들의 안전 관련성 및 실시간 제공 필요성에 기초하여 아웃소싱 서비스를 결정할 수 있다. 이때 워크로드 관리부(220)는 서비스 요청과 관련된 서비스 또는 제 1 서버(200)에서 수행 중인 서비스들 중에서 안전과 관련되지 않은 것으로 미리 설정된 서비스를 아웃소싱 서비스로 결정할 수 있다. 또한, 워크로드 관리부(220)는 각 서비스의 수행에 필요한 네트워크 대역폭(Network Bandwidth) 및 각 서비스의 보안 민감도 중 적어도 하나를 고려하여 아웃소싱 서비스를 결정할 수 있다.The workload management unit 220 may determine an outsourcing service based on a safety relevance of a service related to a service request or a service being performed in the first server 200 and a need for real-time provision. In this case, the workload management unit 220 may determine a service related to a service request or a service set in advance as not related to safety among services being executed by the first server 200 as an outsourcing service. In addition, the workload management unit 220 may determine an outsourcing service in consideration of at least one of a network bandwidth required to perform each service and a security sensitivity of each service.

즉 워크로드 관리부(220)는 제 1 차량(100-1)으로부터 수신된 서비스 요청을 제 1 서버(200)에서 수행할 수 없다는 판단에 따라 제 1 서버(200)에서 수행 중인 서비스들 중 외부에 요청할 수 있는 아웃소싱 서비스를 적어도 서비스들의 우선순위에 기초하여 결정할 수 있다. 이때, 워크로드 관리부(220)는 안전과 관련되지 않은 것으로 미리 설정된 서비스들 중에서 실시간 제공 필요성이 낮은 서비스부터 아웃소싱 서비스로 결정할 수 있다. 여기서 우선순위는 서비스의 속성(안전과 관련된 핵심 서비스인지, 안전과 관련 없는 부가적 서비스인지), 서비스의 시급성(바로 처리되어야 하는지), 서비스의 복잡도 등에 기초하여 결정될 수 있다. 예를 들어, 워크로드 관리부(220)는 안전과 관련된 핵심 서비스를 제공하기 위한 부하가 늘어나는 경우, 요청된 서비스 애플리케이션 별로 네트워크 대역폭(Network Bandwidth), 실시간(Real-time) 속성을 고려할 수 있다. 그리고 워크로드 관리부(220)는 선정한 Emergency Degree(우선순위) 값에 따라서, 안전과 관련되지 않은 부가적 서비스를 Offloading할 서비스 애플리케이션을 선정하고, 이를 실행할 수 있는 차량을 찾을 수 있다.In other words, the workload management unit 220 determines that the service request received from the first vehicle 100-1 cannot be performed by the first server 200. The outsourced services that can be requested can be determined based at least on the priorities of the services. In this case, the workload management unit 220 may determine an outsourcing service from a service having a low need for real-time provision among services set in advance as not related to safety. Here, the priority may be determined based on the properties of the service (whether it is a core service related to safety or an additional service not related to safety), the urgency of the service (whether it should be processed immediately), and the complexity of the service. For example, when the load for providing safety-related core services increases, the workload management unit 220 may consider network bandwidth and real-time properties for each requested service application. In addition, the workload management unit 220 may select a service application to offload an additional service that is not related to safety, and find a vehicle capable of executing the service application according to the selected emergency degree value.

도 11은 본 발명의 일 실시 예에 따른 서비스 애플리케이션 목록의 예시도이다. 도 11을 참조하여, 안전과 관련된 핵심 서비스와 안전과 관련 없는 부가적 서비스를 분류할 수 있다. 예를 들어, 안전과 관련된 핵심 서비스에는 신호등 관리(traffic light management), 차량 트래킹(vehicle tracking), HD 맵 업데이트(HD map update), 군집주행(platooning), 응급 차량 경고(emergency vehicle warning)에 대한 서비스 애플리케이션이 있다. 또한 안전과 관련 없는 부가적 서비스에는 지능형 드라이빙(intelligent driving), 주차장 정보(parking lot`s information), 인포테인먼트 서비스(infotainment services), 건강 모니터링 시스템(health monitoring system), VR, AR, 비디오 스트리밍(video streaming), 운전자 행동(driver behavior)에 대한 서비스 애플리케이션이 있다. 또한 본 실시 예에서는 각각의 애플리케이션에 대하여 네트워크 대역폭, 실시간 제공 필요성, 보안 민감도 등이 저장되어 있을 수 있다. 즉 본 실시 예에서, 워크로드 관리부(220)는 워크로드 분산을 처리하는 데 있어서, 제 1 서버(200)에서 안전관 관련된 서비스의 처리해야 할 로드가 높아지는 경우, 처리 가능한 가용 차량, 즉 제 2 차량(100-2)을 찾아, 제 1 서버(200)에서 실행 중인 안전과 관련되지 않은 서비스를 우선순위가 낮은 순서대로 제 2 차량(100-2)으로 위임하여 실행할 수 있다. 또한 제 1 서버(200)와 제 2 차량(100-2) 간 병렬 처리를 수행하여, 안전 관련 서비스의 실시간성을 보장할 수 있도록 할 수도 있다.11 is an exemplary diagram of a service application list according to an embodiment of the present invention. Referring to FIG. 11, core services related to safety and additional services not related to safety may be classified. For example, key safety-related services include traffic light management, vehicle tracking, HD map update, platooning, and emergency vehicle warning. I have a service application. In addition, additional services not related to safety include intelligent driving, parking lot`s information, infotainment services, health monitoring system, VR, AR, video streaming. streaming), driver behavior. In addition, in the present embodiment, network bandwidth, real-time provisioning necessity, security sensitivity, and the like may be stored for each application. That is, in the present embodiment, the workload management unit 220, in processing workload distribution, when the load to be processed of the safety-related service in the first server 200 increases, the available vehicle that can be processed, that is, the second It is possible to find the vehicle 100-2 and delegate and execute a service not related to safety, which is being executed in the first server 200, to the second vehicle 100-2 in the order of low priority. In addition, by performing parallel processing between the first server 200 and the second vehicle 100-2, it is possible to ensure real-time safety-related services.

제 1 서버(200)는 아웃소싱 서비스의 수행 완료를 수신하고, 제 1 차량(100-1)과의 통신을 위한 정보를 제 2 차량(100-2)으로 송신하며, 제 2 차량(100-2)과의 통신을 위한 정보를 제 1 차량(100-1)으로 송신할 수 있다.The first server 200 receives completion of the outsourcing service, transmits information for communication with the first vehicle 100-1 to the second vehicle 100-2, and transmits the second vehicle 100-2. ) May be transmitted to the first vehicle 100-1.

데이터 관리부(230)는 서비스에서 사용하는 데이터 및 애플리케이션을 관리하는 것으로, 제 2 차량(100-2)에서 실행 가능한 포맷의 서비스 애플리케이션을 제 2 서버(300)에 업로드 할 수 있다. 즉 데이터 관리부(230)는 제 2 차량(100-2)에 대해 미리 등록된 실행 가능한 분산 연산 플랫폼에 기초하여 애플리케이션 및 데이터의 포맷을 결정하여 제 2 서버(300)에 업로드 할 수 있다. The data management unit 230 manages data and applications used in a service, and may upload a service application in a format executable in the second vehicle 100-2 to the second server 300. That is, the data management unit 230 may determine the format of the application and data based on an executable distributed computing platform previously registered for the second vehicle 100-2 and upload it to the second server 300.

그리고 데이터 관리부(230)는 순항(cruising) 데이터, 생체 인증(biometric) 데이터, 제어(control) 데이터, 카메라(camera) 데이터 및 센서(sensor) 데이터를 제 2 서버(300)에 업데이트 할 수 있다.In addition, the data management unit 230 may update cruising data, biometric data, control data, camera data, and sensor data to the second server 300.

제 2 서버(300)는 서비스 애플리케이션 서버일 수 있으며, 차량 서비스에 대한 애플리케이션, 즉 데이터 및 애플리케이션 이미지가 포함될 수 있다. 여기서 이미지는 시스템과 서비스에 필요한 코드를 모아둔 최소한의 단위를 의미할 수 있다. 예를 들어, 제 2 서버(300)는 제 1 서버(200)로부터 워크로드 분산을 위한, 제 2 차량(100-2)에서 실행 가능한 포맷의 서비스 애플리케이션을 입력 받을 수 있다. 그리고 제 2 서버(300)는 제 1 서버(200)로부터 순항(cruising) 데이터, 생체 인증(biometric) 데이터, 제어(control) 데이터, 카메라(camera) 데이터 및 센서(sensor) 데이터를 입력 받아 업데이트 할 수 있다.The second server 300 may be a service application server, and may include an application for vehicle service, that is, data and application images. Here, the image may mean the minimum unit in which codes necessary for the system and service are collected. For example, the second server 300 may receive a service application in a format executable in the second vehicle 100-2 for workload distribution from the first server 200. In addition, the second server 300 receives and updates cruising data, biometric data, control data, camera data, and sensor data from the first server 200. I can.

한편, 본 실시 예에서는 가용 리소스가 없는 경우, 실행 중인 서비스가 끝나거나, 가용 차량, 즉 서비스 실행이 가능한 차량이 발생할 때까지 대기할 수 있다.Meanwhile, in the present embodiment, when there is no available resource, it may wait until a service being executed ends or an available vehicle, that is, a vehicle capable of executing the service, is generated.

도 12는 본 발명의 일 실시 예에 따른 서버의 워크로드 분산 방법을 설명하기 위한 흐름도이다. 이하의 설명에서 도 1 내지 도 11에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.12 is a flowchart illustrating a method of distributing a workload of a server according to an embodiment of the present invention. In the following description, portions overlapping with the descriptions of FIGS. 1 to 11 will be omitted.

도 12를 참조하면, S100 단계에서, 제 1 서버(200)는 제 1 차량(100-1)으로부터 서비스 요청을 수신한다. 이때, 제 1 차량(100-1)으로부터 수신되는 서비스는 안전과 관련된 서비스와 안전과 관련되지 않은 서비스로 구분될 수 있으며, 이는 미리 설정될 수 있다.Referring to FIG. 12, in step S100, the first server 200 receives a service request from the first vehicle 100-1. In this case, the service received from the first vehicle 100-1 may be classified into a safety-related service and a non-safety-related service, which may be set in advance.

S110 단계에서, 제 1 서버(200)는 제 1 서버(200)의 서비스 수행 가능성을 판단한다. 즉 제 1 서버(200)는 제 1 서버(200)의 연산 리소스를 모니터링 하여, 현재 서비스 제공 중인 연산 리소스가 요청 받은 서비스를 수행할 수 있는지를 체크할 수 있다.In step S110, the first server 200 determines the possibility of performing the service of the first server 200. That is, the first server 200 may monitor the computational resource of the first server 200 and check whether the computational resource currently providing the service can perform the requested service.

S120 단계에서, 제 1 서버(200)는 제 2 차량(100-2)을 결정한다. 즉, 제 1 서버(200)는 요청 받은 서비스를 수행할 수 없는 경우(예를 들어, 과부하 상황), 리소스 모니터링을 통해 서비스 실행 가능한 차량을 찾을 수 있다. 이때 제 1 서버(200)는 제 2 차량(100-2)의 가용 연산 리소스에 기초하여 제 2 차량(100-2)을 결정할 수 있다. 보다 구체적으로, 제 1 서버(200)는 결정된 아웃소싱 서비스에 기초하여 가용 연산 임계치를 결정하고, 제 1 서버(200)와 통신하는 차량들 중 가용 연산 리소스가 가용 연산 임계치 이상인 서비스 수행 대상 차량들을 결정할 수 있다. 그리고 제 1 서버(200)는 서비스 수행 대상 차량들의 주행 정보에 기초하여 서비스 수행 대상 차량들의 제 1 서버(200)의 커버리지 내 잔류 시간을 예측하고, 잔류 시간에 기초하여 서비스 수행 대상 차량들 중 제 2 차량(100-2)을 선별할 수 있다.In step S120, the first server 200 determines the second vehicle 100-2. That is, when the first server 200 cannot perform the requested service (eg, an overload situation), the first server 200 may find a vehicle capable of executing the service through resource monitoring. In this case, the first server 200 may determine the second vehicle 100-2 based on the available computational resources of the second vehicle 100-2. More specifically, the first server 200 determines an available computational threshold based on the determined outsourcing service, and determines service execution target vehicles whose available computational resources are equal to or greater than the available computational threshold among vehicles communicating with the first server 200. I can. In addition, the first server 200 predicts the remaining time within the coverage of the first server 200 of the service target vehicles based on driving information of the service target vehicles, and the first among the service target vehicles based on the remaining time. 2 Vehicle 100-2 can be selected.

S130 단계에서, 제 1 서버(200)는 아웃소싱 서비스를 결정한다. 즉, 제 1 서버(200)는 서비스 요청과 관련된 서비스 또는 제 1 서버(200)에서 수행 중인 서비스들의 안전 관련성 및 실시간 제공 필요성에 기초하여 아웃소싱 서비스를 결정할 수 있다. 이때, 제 1 서버(200)는 서비스 요청과 관련된 서비스 또는 제 1 서버(200)에서 수행 중인 서비스들 중에서 안전과 관련되지 않은 것으로 미리 설정된 서비스를 아웃소싱 서비스로 결정할 수 있다. 또한, 제 1 서버(200)는 각 서비스의 수행에 필요한 네트워크 대역폭(Network Bandwidth) 및 각 서비스의 보안 민감도 중 적어도 하나를 고려하여 아웃소싱 서비스를 결정할 수 있다. 그리고 제 1 서버(200)는 제 1 서버(200)에서 수행 중인 서비스들 중 외부에 요청할 수 있는 아웃소싱 서비스를 적어도 서비스들의 우선순위에 기초하여 결정할 수 있으며, 안전과 관련되지 않은 것으로 미리 설정된 서비스들 중에서 실시간 제공 필요성이 낮은 서비스부터 아웃소싱 서비스로 결정할 수 있다.In step S130, the first server 200 determines an outsourcing service. That is, the first server 200 may determine an outsourcing service based on a service related to a service request or a safety relevance of services being performed by the first server 200 and a need for real-time provision. In this case, the first server 200 may determine a service related to a service request or a service set in advance as not related to safety among services being executed by the first server 200 as an outsourcing service. In addition, the first server 200 may determine an outsourcing service in consideration of at least one of a network bandwidth required to perform each service and a security sensitivity of each service. In addition, the first server 200 may determine an outsourcing service that can be requested from the outside among the services being performed by the first server 200 based on at least the priority of the services, and services set in advance as not related to safety. Among them, a service with a low need for real-time provision can be determined as an outsourcing service.

한편, 본 실시 예에서는 제 2 차량(100-2)을 결정한 후 아웃소싱 서비스를 결정하는 순서로 기재하고 있으나, 이에 한정되는 것은 아니다. 즉, 본 실시 예에서는 아웃소싱 서비스를 결정한 후 제 2 차량(100-2)을 결정할 수 있다. 다시 말해, 제 2 차량(100-2) 선정 단계는 아웃소싱 서비스 결정 단계 이전 또는 이후에 모두 가능할 수 있다. 또한, 본 실시 예에서, 제 2 차량(100-2)을 결정하는 것과 아웃소싱 서비스를 결정하는 것은 동시에 수행될 수도 있다. Meanwhile, in the present embodiment, the second vehicle 100-2 is determined and then the outsourcing service is determined in an order, but is not limited thereto. That is, in this embodiment, after determining the outsourcing service, the second vehicle 100-2 may be determined. In other words, the step of selecting the second vehicle 100-2 may be both before or after the step of determining the outsourcing service. In addition, in this embodiment, determining the second vehicle 100-2 and determining the outsourcing service may be performed at the same time.

S140 단계에서, 제 1 서버(200)는 제 2 차량(100-2)에 아웃소싱 서비스 수행을 요청한다.In step S140, the first server 200 requests the second vehicle 100-2 to perform an outsourcing service.

S150 단계에서, 제 1 서버(200)는 제 2 차량(100-2)에 데이터 접근 정보를 전송한다. 즉 제 1 서버(200)는 제 2 차량(100-2)에 아웃소싱 서비스에 필요한 데이터에 접근 가능한 경로를 포함하는 데이터 접근 정보를 전송할 수 있다. 또한 제 1 서버(200)는 아웃소싱 서비스에 관련된 애플리케이션을 다운로드 하기 위한 경로 및 인증 정보를 제 2 차량(100-2)에 전송할 수 있다. 여기서 데이터 접근 정보는 제 2 서버(300), 서비스 애플리케이션 및 데이터에 대한 정보를 포함할 수 있다.In step S150, the first server 200 transmits data access information to the second vehicle 100-2. That is, the first server 200 may transmit data access information including a path accessible to data required for an outsourcing service to the second vehicle 100-2. In addition, the first server 200 may transmit a path and authentication information for downloading an application related to an outsourcing service to the second vehicle 100-2. Here, the data access information may include information on the second server 300, a service application, and data.

S160 단계에서, 제 1 서버(200)는 제 2 차량(100-2)으로부터 아웃소싱 서비스 수행 완료가 수신되었는지 확인한다. 즉 제 1 서버(200)는 제 2 차량(100-2)으로부터 아웃소싱 서비스의 수행 상태를 수신 받을 수 있으며, 수행 완료가 수신되면 서비스 수행이 완료되었다고 확인할 수 있다.In step S160, the first server 200 checks whether an outsourcing service completion has been received from the second vehicle 100-2. That is, the first server 200 may receive the execution status of the outsourcing service from the second vehicle 100-2, and when the execution completion is received, it may confirm that the service execution has been completed.

도 13은 본 발명의 일 실시 예에 따른 차량의 서버 워크로드 지원 방법을 설명하기 위한 흐름도이다. 이하의 설명에서 도 1 내지 도 12에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.13 is a flowchart illustrating a method of supporting a server workload of a vehicle according to an embodiment of the present invention. In the following description, portions overlapping with the descriptions of FIGS. 1 to 12 will be omitted.

도 13을 참조하면, S200 단계에서, 제 2 차량(100-2)은 제 1 서버(200)에 차량 정보 및 협업용 연산 정보를 전송한다.Referring to FIG. 13, in step S200, the second vehicle 100-2 transmits vehicle information and operation information for cooperation to the first server 200.

S210 단계에서, 제 2 차량(100-2)은 제 1 서버(200)로부터 아웃소싱 서비스 수행 요청을 수신한다. 이때, 제 2 차량(100-2)은 제 1 서버(200)의 커버리지 내에 진입한 차량일 수 있다. 그리고 제 2 차량(100-2)이 제 1 서버(200)의 커버리지에 진입하면, 차량 정보 및 협업용 연산 정보를 제 1 서버(200)에 전송할 수 있다. 즉 본 실시 예에서는, 제 2 차량(100-2)에서 주기적으로 연산 리소스 정보를 전송할 수 있으며, 이에 제 1 서버(200)에서는 제 2 차량(100-2)의 연산 리소스 정보를 모니터링 할 수 있다. In step S210, the second vehicle 100-2 receives a request to perform an outsourcing service from the first server 200. In this case, the second vehicle 100-2 may be a vehicle that has entered the coverage of the first server 200. In addition, when the second vehicle 100-2 enters the coverage of the first server 200, vehicle information and collaborative operation information may be transmitted to the first server 200. That is, in this embodiment, the second vehicle 100-2 may periodically transmit computational resource information, and the first server 200 may monitor computational resource information of the second vehicle 100-2. .

S220 단계에서, 제 2 차량(100-2)은 제 1 서버(200)로부터 데이터 접근 정보를 수신한다. 즉 제 2 차량(100-2)은 제 1 서버(200)로부터 아웃소싱 서비스에 필요한 데이터에 접근 가능한 경로를 포함하는 데이터 접근 정보를 수신할 수 있다. 또한 제 2 차량(100-2)은 아웃소싱 서비스에 관련된 애플리케이션을 다운로드 하기 위한 경로 및 인증 정보를 수신할 수 있다. In step S220, the second vehicle 100-2 receives data access information from the first server 200. That is, the second vehicle 100-2 may receive data access information including a path accessible to data required for outsourcing service from the first server 200. In addition, the second vehicle 100-2 may receive a path and authentication information for downloading an application related to an outsourcing service.

S230 단계에서, 제 2 차량(100-2)은 아웃소싱 서비스를 수행한다. 즉 제 2 차량(100-2)은 아웃소싱 서비스에 필요한 데이터에 접근 가능한 경로를 포함하는 데이터 접근 정보에 기초하여 아웃소싱 서비스를 수행할 수 있다. 이때 제 2 차량(100-2)은 제 2 서버(300)로부터 다운로드 받은 애플리케이션을 실행하고 제 2 서버(300)에 저장된 아웃소싱 서비스와 관련된 데이터를 이용하여 아웃소싱 서비스를 수행할 수 있다.In step S230, the second vehicle 100-2 performs an outsourcing service. That is, the second vehicle 100-2 may perform the outsourcing service based on data access information including a path accessible to data required for the outsourcing service. In this case, the second vehicle 100-2 may execute an application downloaded from the second server 300 and perform an outsourcing service using data related to the outsourcing service stored in the second server 300.

S240 단계에서, 제 2 차량(100-2)은 제 1 서버(200)의 커버리지를 이탈하였는지 확인한다.In step S240, the second vehicle 100-2 checks whether the coverage of the first server 200 has been deviated.

S250 단계에서, 제 2 차량(100-2)은 제 2 서버(300)에 아웃소싱 서비스 중간 결과를 전송한다(S240 단계의 예). 즉 제 2 차량(100-2)은 제 1 서버(200)의 커버리지를 이탈한 경우, 제 2 서버(300)에 아웃소싱 서비스 수행에 대한 중간 결과를 전송할 수 있다. In step S250, the second vehicle 100-2 transmits an intermediate result of the outsourcing service to the second server 300 (example of step S240). That is, when the second vehicle 100-2 leaves the coverage of the first server 200, the second vehicle 100-2 may transmit an intermediate result of the outsourcing service execution to the second server 300.

S260 단계에서, 제 2 차량(100-2)은 아웃소싱 서비스 수행이 완료되었는지 확인한다(S240 단계의 아니오).In step S260, the second vehicle 100-2 checks whether the outsourcing service has been performed (No in step S240).

S270 단계에서, 제 2 차량(100-2)은 제 1 서버(200)에 아웃소싱 서비스 수행 완료를 전송한다(S260 단계의 예). 즉, 제 2 차량(100-2)은 아웃소싱 서비스 수행이 완료된 경우, 제 1 서버(200)에 아웃소싱 서비스 수행 완료를 보고하여 알릴 수 있다.In step S270, the second vehicle 100-2 transmits the completion of the outsourcing service to the first server 200 (example of step S260). That is, when the outsourcing service is completed, the second vehicle 100-2 may report and notify the completion of the outsourcing service to the first server 200.

S280 단계에서, 제 2 차량(100-2)은 아웃소싱 서비스의 서비스 대상 차량 또는 제 2 서버(300)로 아웃소싱 서비스 연산 결과를 전송한다. 즉, 제 2 차량(100-2)은 아웃소싱 서비스를 수행한 후, 아웃소싱 서비스의 서비스 대상 차량(예를 들어, 제 1 차량) 또는 제 2 서버(300)로 아웃소싱 서비스의 연산 결과의 적어도 일부를 전송할 수 있다.In step S280, the second vehicle 100-2 transmits the outsourcing service calculation result to the service target vehicle of the outsourcing service or the second server 300. That is, after performing the outsourcing service, the second vehicle 100-2 transmits at least a part of the calculation result of the outsourcing service to the service target vehicle (eg, the first vehicle) of the outsourcing service or the second server 300. Can be transmitted.

도 14는 본 발명의 일 실시 예에 따른 서버 워크로드 분산 시스템을 설명하기 위한 흐름도이다. 이하의 설명에서 도 1 내지 도 13에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.14 is a flowchart illustrating a server workload distribution system according to an embodiment of the present invention. In the following description, portions overlapping with the descriptions of FIGS. 1 to 13 will be omitted.

도 14를 참조하면, S1 단계 및 S2 단계에서, 제 1 차량(100-1) 및 제 2 차량(100-2)은 제 1 서버(200)에 연산 리소스를 등록한다. Referring to FIG. 14, in steps S1 and S2, the first vehicle 100-1 and the second vehicle 100-2 register computational resources in the first server 200.

S3 단계에서, 제 1 서버(200)는 제 1 차량(100-1), 제 2 차량(100-2) 및 제 1 서버(200)의 연산 리소스를 모니터링 한다. 즉 제 1 서버(200)는 제 1 차량(100-1) 및 제 2 차량(100-2)의 주기적인 가용 연산 리소스 업데이트를 통해, 제 1 차량(100-1) 및 제 2 차량(100-2)의 가용 연산 리소스를 모니터링 할 수 있다. 이때 제 1 차량(100-1) 및 제 2 차량(100-2)은 제 1 차량(100-1) 및 제 2 차량(100-2) 각각의 가장 최근의 가용 연산 리소스를 송신하거나, 제 1 차량(100-1) 및 제 2 차량(100-2) 각각의 일정 기간 동안의 가용 연산 리소스의 평균치를 송신할 수 있다.In step S3, the first server 200 monitors the computational resources of the first vehicle 100-1, the second vehicle 100-2, and the first server 200. That is, the first server 200 is configured by periodically updating available computational resources of the first vehicle 100-1 and the second vehicle 100-2, and the first vehicle 100-1 and the second vehicle 100- 2) You can monitor the available computational resources. At this time, the first vehicle 100-1 and the second vehicle 100-2 transmit the most recent available computational resources of each of the first vehicle 100-1 and the second vehicle 100-2, or Each of the vehicle 100-1 and the second vehicle 100-2 may transmit an average value of available computational resources for a predetermined period.

S4 단계에서, 제 1 차량(100-1)은 제 1 서버(200)에 서비스를 요청한다.In step S4, the first vehicle 100-1 requests a service from the first server 200.

S5 단계에서, 제 1 서버(200)는 서비스 수행 가능성을 판단한다. 즉, 제 1 서버(200)는 제 1 차량(100-1)으로부터 서비스 요청을 수신하고, 제 1 서버(200)의 가용 연산 리소스에 기초하여 서비스 요청에 대한 서버의 서비스 수행 가능성을 판단할 수 있다.In step S5, the first server 200 determines the possibility of performing a service. That is, the first server 200 may receive a service request from the first vehicle 100-1 and determine the possibility of the server performing a service for the service request based on the available computational resources of the first server 200. have.

S6 단계에서, 제 2 차량(100-2)은 차량 정보 및 협업용 연산 정보를 제 1 서버(200)에 전송한다. 즉, 제 2 차량(100-2)은 제 2 차량(100-2)의 차량 정보 및 협업용 연산 정보를 등록할 수 있다. In step S6, the second vehicle 100-2 transmits vehicle information and operation information for cooperation to the first server 200. That is, the second vehicle 100-2 may register vehicle information and cooperation operation information of the second vehicle 100-2.

S7 단계에서, 제 1 서버(200)는 제 2 차량(100-2)을 결정한다. 이때 제 1 서버(200)는 제 2 차량(100-2)의 가용 연산 리소스에 기초하여 제 2 차량(100-2)을 결정할 수 있다. 보다 구체적으로, 제 1 서버(200)는 결정된 아웃소싱 서비스에 기초하여 가용 연산 임계치를 결정하고, 제 1 서버(200)와 통신하는 차량들 중 가용 연산 리소스가 가용 연산 임계치 이상인 서비스 수행 대상 차량들을 결정할 수 있다. 그리고 제 1 서버(200)는 서비스 수행 대상 차량들의 주행 정보에 기초하여 서비스 수행 대상 차량들의 제 1 서버(200)의 커버리지 내 잔류 시간을 예측하고, 잔류 시간에 기초하여 서비스 수행 대상 차량들 중 제 2 차량(100-2)을 선별할 수 있다.In step S7, the first server 200 determines the second vehicle 100-2. In this case, the first server 200 may determine the second vehicle 100-2 based on the available computational resources of the second vehicle 100-2. More specifically, the first server 200 determines an available computational threshold based on the determined outsourcing service, and determines service execution target vehicles whose available computational resources are equal to or greater than the available computational threshold among vehicles communicating with the first server 200. I can. In addition, the first server 200 predicts the remaining time within the coverage of the first server 200 of the service target vehicles based on driving information of the service target vehicles, and the first among the service target vehicles based on the remaining time. 2 Vehicle 100-2 can be selected.

S8 단계에서, 제 1 서버(200)는 아웃소싱 서비스를 결정한다. 즉 제 1 서버(200)는 서비스 수행 가능성의 판단에 기초하여 서비스 요청과 관련된 서비스 또는 제 1 서버(200)에서 수행 중인 서비스들 중 제 1 서버(200)에서 수행하지 않을 적어도 하나의 아웃소싱 서비스를 결정할 수 있다.In step S8, the first server 200 determines an outsourcing service. That is, the first server 200 provides at least one outsourcing service that is not to be performed by the first server 200 among services related to the service request or among the services being performed by the first server 200 based on the determination of the possibility of performing the service. You can decide.

S9 단게에서, 제 1 서버(200)는 제 2 서버(300)에 애플리케이션을 업로드 한다.In step S9, the first server 200 uploads the application to the second server 300.

S10 단계에서, 제 2 서버(300)는 업로드 된 애플리케이션을 업데이트 한다.In step S10, the second server 300 updates the uploaded application.

제 1 서버(200)는 제 2 차량(100-2)에서 실행 가능한 포맷의 서비스 애플리케이션을 제 2 서버(300)에 업로드 할 수 있다. 즉 제 1 서버(200)는 제 2 차량(100-2)에 대해 미리 등록된 실행 가능한 분산 연산 플랫폼에 기초하여 애플리케이션 및 데이터의 포맷을 결정하여 제 2 서버(300)에 업로드 할 수 있다. 그리고 제 1 서버(200)는 순항(cruising) 데이터, 생체 인증(biometric) 데이터, 제어(control) 데이터, 카메라(camera) 데이터 및 센서(sensor) 데이터를 제 2 서버(300)에 업데이트 할 수 있다.The first server 200 may upload a service application in a format executable in the second vehicle 100-2 to the second server 300. That is, the first server 200 may determine the format of the application and data based on an executable distributed computing platform previously registered for the second vehicle 100-2 and upload it to the second server 300. In addition, the first server 200 may update cruising data, biometric data, control data, camera data, and sensor data to the second server 300. .

S11 단계에서, 제 1 서버(200)는 제 2 차량(100-2)에 아웃소싱 서비스 수행을 요청한다. 즉 제 1 서버(200)는 서비스 요청과 관련된 서비스 또는 제 1 서버(200)에서 수행 중인 서비스들 중 제 1 서버(200)에서 수행하지 않을 적어도 하나의 아웃소싱 서비스에 대하여 수행을 요청할 수 있다.In step S11, the first server 200 requests the second vehicle 100-2 to perform an outsourcing service. That is, the first server 200 may request execution of at least one outsourcing service that is not to be performed by the first server 200 among services related to a service request or among services being performed by the first server 200.

S12 단계에서, 제 1 서버(200)는 제 2 차량(100-2)에 데이터 접근 정보를 전송한다. 제 1 서버(200)는 제 2 차량(100-2)에 아웃소싱 서비스 수행을 요청하면서 데이터 접근 정보를 함께 전송할 수 있다.In step S12, the first server 200 transmits data access information to the second vehicle 100-2. The first server 200 may transmit data access information together while requesting the second vehicle 100-2 to perform an outsourcing service.

S13 단계에서, 제 2 차량(100-2)은 데이터 접근 정보에 기초하여 제 2 서버(300)에 액세스 한다. 즉 제 2 차량(100-2)은 제 2 서버(300)의 데이터 및 이미지에 접근 시도 할 수 있다.In step S13, the second vehicle 100-2 accesses the second server 300 based on the data access information. That is, the second vehicle 100-2 may attempt to access data and images of the second server 300.

S14 단계에서, 제 2 서버(300)는 제 2 차량(100-2)을 인증한다. 제 2 서버(300)에서는 미리 설정된 인증 방법 또는 제 2 차량(100-2)의 식별 정보에 기초하여 제 2 차량(100-2)이 허가된 차량인지 인증할 수 있다.In step S14, the second server 300 authenticates the second vehicle 100-2. The second server 300 may authenticate whether the second vehicle 100-2 is an authorized vehicle based on a preset authentication method or identification information of the second vehicle 100-2.

S15 단계에서, 제 2 차량(100-2)은 제 2 서버(300)로부터 애플리케이션을 다운로드 한다. 제 2 차량(100-2)은 수행 가능한 포맷의 애플리케이션을 다운로드 할 수 있다.In step S15, the second vehicle 100-2 downloads an application from the second server 300. The second vehicle 100-2 may download an application in an executable format.

S16 단계에서, 제 2 차량(100-2)은 아웃소싱 서비스를 수행한다. 즉, 제 2 차량(100-2)은 제 2 서버(300)에 데이터를 액세스하여 아웃소싱 서비스와 관련된 애플리케이션을 제 2 서버(300)로부터 다운로드 하고, 애플리케이션을 실행할 수 있다. 그리고 제 2 차량(100-2)은 애플리케이션을 실행하고 제 2 서버(300)에 저장된 아웃소싱 서비스와 관련된 데이터를 이용하여 아웃소싱 서비스를 수행할 수 있다.In step S16, the second vehicle 100-2 performs an outsourcing service. That is, the second vehicle 100-2 may access data to the second server 300 to download an application related to the outsourcing service from the second server 300 and execute the application. In addition, the second vehicle 100-2 may execute the application and perform the outsourcing service by using data related to the outsourcing service stored in the second server 300.

S17 단계에서, 제 2 차량(100-2)은 제 1 서버(200)에 수행 완료를 보고한다.In step S17, the second vehicle 100-2 reports the completion of the execution to the first server 200.

S18 단계에서, 제 1 서버(200)는 제 1 차량(100-1)과 제 2 차량(100-2) 간의 통신을 위한 통신 정보를 전송한다. 즉 제 1 서버(200)는 제 1 차량(100-1)과 제 2 차량(100-2) 간의 통신을 위한 정보를 수신할 수 있다. 즉 제 1 서버(200)는 서비스 요청 차량과 서비스 수행 차량 간의 통신이 가능하도록 하는 통신 정보를 전송할 수 있다.In step S18, the first server 200 transmits communication information for communication between the first vehicle 100-1 and the second vehicle 100-2. That is, the first server 200 may receive information for communication between the first vehicle 100-1 and the second vehicle 100-2. That is, the first server 200 may transmit communication information enabling communication between the service requesting vehicle and the service performing vehicle.

S19 단계에서, 제 2 차량(100-2)은 제 1 차량(100-1) 및 제 2 서버(300)에 연산 결과를 전송한다. 즉 제 2 차량(100-2)은 서비스 실행 내용을 제 1 서버(200) 및 제 2 서버(300)에 전송하여 업데이트 할 수 있다. 그리고 제 2 차량(100-2)은 서비스 요청 차량으로 아웃소싱 서비스의 연산 결과물을 전송하여 서비스 실행 내용을 업데이트 할 수 있다.In step S19, the second vehicle 100-2 transmits the calculation result to the first vehicle 100-1 and the second server 300. That is, the second vehicle 100-2 may transmit and update the service execution content to the first server 200 and the second server 300. In addition, the second vehicle 100-2 may transmit a result of the outsourcing service operation to the service requesting vehicle to update the service execution content.

본 개시의 실시 예에 의하면, 엣지 서버 과부하 상황에서 차량의 가용 연산 리소스를 활용하여 엣지 서버의 워크로드를 차량으로 분산 처리할 수 있도록 함으로써, 안전 관련 서비스의 실시간성을 보장하도록 할 수 있다.According to an embodiment of the present disclosure, it is possible to ensure real-time safety-related services by distributing and processing the workload of the edge server to the vehicle by utilizing the available computational resources of the vehicle in the event of an overload of the edge server.

또한, 엣지 서버 과부하 상황에서 엣지 서버의 워크로드를 차량으로 분산 처리할 수 있도록 하여, 엣지 서버와 차량간 서비스 병렬 처리가 가능하도록 함으로써, 서버 워크로드 분산 시스템의 성능을 향상시킬 수 있다.In addition, it is possible to distribute the workload of the edge server to the vehicle in the event of an overload of the edge server, thereby enabling parallel processing of services between the edge server and the vehicle, thereby improving the performance of the server workload distribution system.

또한, 현재 사용중인 연산 리소스와 제공할 서비스의 리소스 모니터링을 통해 과부하 상황을 인지하여 기 설정된 기준에 따라 구분된 서비스를 차량에 요청함으로써, 차량으로의 최적의 분산 처리가 가능하도록 할 수 있다.In addition, by recognizing an overload situation through resource monitoring of a computational resource currently in use and a service to be provided, and requesting a service classified according to a preset criterion to the vehicle, the optimal distributed processing to the vehicle may be possible.

또한, 엣지 서버 과부하 상황에서 엣지 서버에서 수행할 수 없는 실시간 연산 태스크에 대하여 차량에서 대신 수행 가능하도록 함으로써, 제품 신뢰도를 향상시킬 수 있다.In addition, it is possible to improve product reliability by enabling a vehicle to perform real-time computation tasks that cannot be performed by the edge server in an overload situation of the edge server.

또한, 5G 네트워크 기반 통신을 통해 서버 워크로드 분산을 수행함으로써, 신속한 데이터 처리가 가능하므로 서버 워크로드 분산 시스템의 성능을 보다 향상시킬 수 있다.In addition, by performing server workload distribution through 5G network-based communication, rapid data processing is possible, and thus the performance of the server workload distribution system can be further improved.

또한, 서버 워크로드 지원 차량 자체는 대량 생산된 획일적인 제품이지만, 사용자는 서버 워크로드 지원 차량을 개인화된 장치로 인식하므로 사용자 맞춤형 제품의 효과를 낼 수 있다.In addition, although the server workload supporting vehicle itself is a mass-produced uniform product, the user recognizes the server workload supporting vehicle as a personalized device, so that the effect of a user-customized product can be achieved.

본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to those mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

이상 설명된 본 발명에 따른 실시 예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.The embodiment according to the present invention described above may be implemented in the form of a computer program that can be executed through various components on a computer, and such a computer program may be recorded in a computer-readable medium. In this case, the medium is a magnetic medium such as a hard disk, a floppy disk, and a magnetic tape, an optical recording medium such as a CD-ROM and a DVD, a magnetic-optical medium such as a floptical disk, and a ROM. It may include a hardware device specially configured to store and execute program instructions, such as, RAM, flash memory, and the like.

한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.Meanwhile, the computer program may be specially designed and configured for the present invention, or may be known and usable to a person skilled in the computer software field. Examples of the computer program may include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.

본 발명의 명세서(특히 특허청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. In the specification of the present invention (especially in the claims), the use of the term "above" and the reference term similar thereto may correspond to both the singular and the plural. In addition, when a range is described in the present invention, the invention to which an individual value falling within the range is applied (unless otherwise stated), and each individual value constituting the range is described in the detailed description of the invention. Same as.

본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.If there is no explicit order or contradictory description of the steps constituting the method according to the present invention, the steps may be performed in a suitable order. The present invention is not necessarily limited according to the order of description of the steps. The use of all examples or illustrative terms (for example, etc.) in the present invention is merely for describing the present invention in detail, and the scope of the present invention is limited by the above examples or illustrative terms unless limited by the claims. It does not become. In addition, those skilled in the art can recognize that various modifications, combinations, and changes may be configured according to design conditions and factors within the scope of the appended claims or their equivalents.

따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention is limited to the above-described embodiments and should not be defined, and all ranges equivalent to or equivalently changed from the claims to be described later as well as the claims to be described later are the scope of the spirit of the present invention. It will be said to belong to.

1 : 서버 워크로드 분산 시스템
10 : 클라우드 네트워크(Cloud Network)
20 : AI 서버(AI Server)
30a : 로봇(Robot)
30b : 자율 주행 차량(Self-Driving Vehicle)
30c : XR 장치(XR Device)
30d : 스마트폰(Smartphone)
30e : 가전(Home Appliance )
1: Server workload distribution system
10: Cloud Network
20: AI Server
30a: Robot
30b: Self-Driving Vehicle
30c: XR Device
30d: Smartphone
30e: Home Appliance

Claims (20)

서버의 워크로드를 분산하는 방법으로서,
제 1 차량으로부터 서비스 요청을 수신하는 단계;
서버의 가용 연산 리소스(computing resource)에 기초하여 상기 서비스 요청에 대한 상기 서버의 서비스 수행 가능성을 판단하는 단계;
상기 서비스 수행 가능성의 판단에 기초하여 상기 서비스 요청과 관련된 서비스 또는 상기 서버에서 수행 중인 서비스들 중 상기 서버에서 수행하지 않을 적어도 하나의 아웃소싱 서비스를 결정하는 단계;
상기 서버와 통신하는 차량들의 가용 연산 리소스에 기초하여 제 2 차량을 결정하는 단계; 및
상기 제 2 차량에 상기 아웃소싱 서비스의 수행을 요청하고, 상기 아웃소싱 서비스에 필요한 데이터에 접근 가능한 경로를 포함하는 데이터 접근 정보를 상기 제 2 차량에 전송하는 단계를 포함하는,
서버의 워크로드 분산 방법.
As a method of distributing the workload of the server,
Receiving a service request from the first vehicle;
Determining a possibility of performing a service by the server in response to the service request based on available computing resources of the server;
Determining at least one outsourcing service not to be performed by the server from among services related to the service request or services being performed by the server based on the determination of the possibility of performing the service;
Determining a second vehicle based on available computational resources of vehicles communicating with the server; And
Requesting the second vehicle to perform the outsourcing service, and transmitting data access information including a path accessible to the data required for the outsourcing service to the second vehicle,
How to distribute the workload of the server.
제 1 항에 있어서,
상기 제 2 차량의 차량 정보 및 협업용 연산 정보를 수신하는 단계를 더 포함하고,
상기 차량 정보는, 상기 차량의 식별자, 차량의 종류, 차량의 용도, 차량의 생산연도, 및 차량의 브랜드 중 적어도 하나를 포함하며,
상기 협업용 연산 정보는, 상기 차량의 연산 리소스, 실행 가능한 분산 연산 플랫폼(distributed computing platform) 및 사용 가능한 통신 프로토콜 중 적어도 하나를 포함하는,
서버의 워크로드 분산 방법.
The method of claim 1,
Further comprising the step of receiving vehicle information and collaborative operation information of the second vehicle,
The vehicle information includes at least one of the vehicle identifier, vehicle type, vehicle usage, vehicle production year, and vehicle brand,
The collaborative operation information includes at least one of an operation resource of the vehicle, an executable distributed computing platform, and an available communication protocol,
How to distribute the workload of the server.
제 1 항에 있어서,
상기 서버와 통신하는 상기 제 2 차량의 가용 연산 리소스를 주기적으로 모니터링 하여 업데이트하는 단계를 더 포함하고,
상기 업데이트하는 단계는,
상기 제 2 차량의 가장 최근에 모니터링 된 가용 연산 리소스를 저장하는 단계; 또는
상기 제 2 차량의 일정 기간 동안 모니터링 된 가용 연산 리소스의 평균치를 저장하는 단계를 포함하는,
서버의 워크로드 분산 방법.
The method of claim 1,
Further comprising the step of periodically monitoring and updating the available computational resources of the second vehicle in communication with the server,
The updating step,
Storing the most recently monitored available computational resources of the second vehicle; or
Including the step of storing an average value of the available computational resources monitored for a predetermined period of the second vehicle,
How to distribute the workload of the server.
제 1 항에 있어서,
상기 아웃소싱 서비스를 결정하는 단계는,
상기 서비스 요청과 관련된 서비스 또는 상기 서버에서 수행 중인 서비스들의 안전 관련성 및 실시간 제공 필요성에 기초하여 상기 아웃소싱 서비스를 결정하는 단계를 포함하는,
서버의 워크로드 분산 방법.
The method of claim 1,
The step of determining the outsourcing service,
Including the step of determining the outsourcing service based on the safety relevance of the service related to the service request or the services being performed in the server and the need for real-time provision,
How to distribute the workload of the server.
제 1 항에 있어서,
상기 아웃소싱 서비스를 결정하는 단계는,
상기 서비스 요청과 관련된 서비스 또는 상기 서버에서 수행 중인 서비스들 중에서 안전과 관련되지 않은 것으로 미리 설정된 서비스를 상기 아웃소싱 서비스로 결정하는 단계를 포함하는,
서버의 워크로드 분산 방법.
The method of claim 1,
The step of determining the outsourcing service,
Including the step of determining as the outsourcing service a service related to the service request or a service set in advance as not related to safety among services being performed by the server,
How to distribute the workload of the server.
제 1 항에 있어서,
상기 아웃소싱 서비스를 결정하는 단계는,
각 서비스의 수행에 필요한 네트워크 대역폭 및 각 서비스의 보안 민감도 중 적어도 하나를 고려하여 상기 아웃소싱 서비스를 결정하는 단계를 포함하는,
서버의 워크로드 분산 방법.
The method of claim 1,
The step of determining the outsourcing service,
Including the step of determining the outsourcing service in consideration of at least one of a network bandwidth required to perform each service and a security sensitivity of each service,
How to distribute the workload of the server.
제 1 항에 있어서,
상기 아웃소싱 서비스의 수행 완료를 수신하는 단계;
상기 제 1 차량과의 통신을 위한 정보를 상기 제 2 차량으로 송신하는 단계; 및
상기 제 2 차량과의 통신을 위한 정보를 상기 제 1 차량으로 송신하는 단계를 더 포함하는,
서버의 워크로드 분산 방법.
The method of claim 1,
Receiving completion of the outsourcing service;
Transmitting information for communication with the first vehicle to the second vehicle; And
Further comprising the step of transmitting information for communication with the second vehicle to the first vehicle,
How to distribute the workload of the server.
제 1 항에 있어서,
상기 제 2 차량을 결정하는 단계는,
상기 결정된 아웃소싱 서비스에 기초하여 가용 연산 임계치를 결정하는 단계;
상기 서버와 통신하는 차량들 중 가용 연산 리소스가 상기 가용 연산 임계치 이상인 서비스 수행 대상 차량들을 결정하는 단계;
상기 서비스 수행 대상 차량들의 주행 정보에 기초하여 상기 서비스 수행 대상 차량들의 서버의 커버리지 내 잔류 시간을 예측하는 단계; 및
상기 잔류 시간에 기초하여 상기 서비스 수행 대상 차량들 중 상기 제 2 차량을 선별하는 단계를 포함하는,
서버의 워크로드 분산 방법.
The method of claim 1,
The step of determining the second vehicle,
Determining an available computation threshold based on the determined outsourcing service;
Determining a service execution target vehicle in which an available computation resource is equal to or greater than the available computation threshold among vehicles communicating with the server;
Estimating a remaining time in coverage of a server of the service target vehicles based on driving information of the service target vehicles; And
Including the step of selecting the second vehicle from among the vehicles to perform the service based on the remaining time,
How to distribute the workload of the server.
차량이 제 1 서버의 워크로드 분산을 지원하는 방법으로서,
차량이 차량 정보 및 협업용 연산 정보를 제 1 서버에 전송하는 단계;
상기 제 1 서버로부터 아웃소싱 서비스의 수행 요청 및 상기 아웃소싱 서비스에 필요한 데이터에 접근 가능한 경로를 포함하는 데이터 접근 정보를 수신하는 단계;
상기 데이터 접근 정보에 기초하여 상기 아웃소싱 서비스를 수행하는 단계; 및
상기 아웃소싱 서비스의 서비스 대상 차량 또는 제 2 서버로 상기 아웃소싱 서비스의 연산 결과의 적어도 일부를 전송하는 단계를 포함하는,
차량의 서버 워크로드 지원 방법.
As a method for the vehicle to support the workload distribution of the first server,
Transmitting, by the vehicle, vehicle information and collaborative operation information to a first server;
Receiving data access information including a request to perform an outsourcing service and a path accessible to data required for the outsourcing service from the first server;
Performing the outsourcing service based on the data access information; And
Transmitting at least a part of the calculation result of the outsourcing service to a service target vehicle of the outsourcing service or a second server,
How to support the vehicle's server workload.
제 9 항에 있어서,
상기 차량 정보는, 상기 차량의 식별자, 차량의 종류, 차량의 용도, 차량의 생산연도, 및 차량의 브랜드 중 적어도 하나를 포함하고,
상기 협업용 연산 정보는, 상기 차량의 연산 리소스, 실행 가능한 분산 연산 플랫폼(distributed computing platform) 및 사용 가능한 통신 프로토콜 중 적어도 하나를 포함하는,
차량의 서버 워크로드 지원 방법.
The method of claim 9,
The vehicle information includes at least one of the vehicle identifier, vehicle type, vehicle usage, vehicle production year, and vehicle brand,
The collaborative operation information includes at least one of an operation resource of the vehicle, an executable distributed computing platform, and an available communication protocol,
How to support the vehicle's server workload.
제 9 항에 있어서,
상기 차량의 가용 연산 리소스를 주기적으로 상기 제 1 서버로 업데이트 하는 단계를 더 포함하고,
상기 업데이트 하는 단계는,
상기 차량의 가장 최근의 가용 연산 리소스를 송신하는 단계; 또는
상기 차량의 일정 기간 동안의 가용 연산 리소스의 평균치를 송신하는 단계를 포함하는,
차량의 서버 워크로드 지원 방법.
The method of claim 9,
Further comprising periodically updating the available computational resources of the vehicle to the first server,
The updating step,
Transmitting the most recent available computational resource of the vehicle; or
Including the step of transmitting an average value of the available computational resources for a certain period of the vehicle,
How to support the vehicle's server workload.
제 9 항에 있어서,
상기 연산 결과를 전송하는 단계 이전에,
상기 아웃소싱 서비스의 수행 완료를 상기 제 1 서버에 전송하는 단계; 및
상기 제 1 서버로부터 상기 서비스 대상 차량과의 통신을 위한 정보를 수신하는 단계를 더 포함하는,
차량의 서버 워크로드 지원 방법.
The method of claim 9,
Before the step of transmitting the calculation result,
Transmitting completion of the outsourcing service to the first server; And
Further comprising the step of receiving information for communication with the service target vehicle from the first server,
How to support the vehicle's server workload.
제 9 항에 있어서,
상기 차량이 상기 제 1 서버의 커버리지에서의 이탈을 보고하는 단계; 및
상기 차량이 수행한 상기 아웃소싱 서비스의 중간 결과를 상기 제 2 서버로 전송하는 단계를 더 포함하는,
차량의 서버 워크로드 지원 방법.
The method of claim 9,
Reporting, by the vehicle, a departure from coverage of the first server; And
Further comprising transmitting an intermediate result of the outsourcing service performed by the vehicle to the second server,
How to support the vehicle's server workload.
제 9 항에 있어서,
상기 제 1 서버로부터 상기 데이터 접근 정보를 수신하는 단계는,
상기 아웃소싱 서비스에 관련된 애플리케이션을 다운로드 하기 위한 경로 및 인증 정보를 수신하는 단계를 포함하고,
상기 인증 정보를 상기 제 2 서버에 전송하고 상기 애플리케이션을 다운로드 하는 단계를 더 포함하는,
차량의 서버 워크로드 지원 방법.
The method of claim 9,
Receiving the data access information from the first server,
Including the step of receiving a path and authentication information for downloading an application related to the outsourcing service,
Further comprising the step of transmitting the authentication information to the second server and downloading the application,
How to support the vehicle's server workload.
제 1 서버의 워크로드 분산을 지원하는 차량으로서,
제 1 서버와 통신하는 통신 인터페이스;
하나 이상의 프로세서; 및
상기 하나 이상의 프로세서와 연결되는 메모리를 포함하고,
상기 메모리는, 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
차량의 차량 정보 및 협업용 연산 정보를 상기 제 1 서버에 전송하고,
상기 제 1 서버로부터 아웃소싱 서비스의 수행 요청 및 상기 아웃소싱 서비스에 필요한 데이터에 접근 가능한 경로를 포함하는 데이터 접근 정보를 수신하며,
상기 데이터 접근 정보에 기초하여 상기 아웃소싱 서비스를 수행하고,
상기 아웃소싱 서비스의 서비스 대상 차량 또는 제 2 서버로 상기 아웃소싱 서비스의 연산 결과의 적어도 일부를 전송하도록 야기하는(cause) 코드들을 저장하는,
서버 워크로드 지원 차량.
As a vehicle that supports workload distribution of the first server,
A communication interface in communication with the first server;
One or more processors; And
Including a memory connected to the one or more processors,
The memory, when executed by the processor, causes the processor to:
Transmitting vehicle information and cooperation operation information of the vehicle to the first server,
Receiving data access information including a request to perform an outsourcing service and a path accessible to data necessary for the outsourcing service from the first server,
Performing the outsourcing service based on the data access information,
Storing codes that cause at least a part of the operation result of the outsourcing service to be transmitted to a service target vehicle of the outsourcing service or a second server,
Server workload support vehicle.
제 15 항에 있어서,
상기 차량 정보는, 상기 차량의 식별자, 차량의 종류, 차량의 용도, 차량의 생산연도, 및 차량의 브랜드 중 적어도 하나를 포함하고,
상기 협업용 연산 정보는, 상기 차량의 연산 리소스, 실행 가능한 분산 연산 플랫폼(distributed computing platform) 및 사용 가능한 통신 프로토콜 중 적어도 하나를 포함하는,
서버 워크로드 지원 차량.
The method of claim 15,
The vehicle information includes at least one of the vehicle identifier, vehicle type, vehicle usage, vehicle production year, and vehicle brand,
The collaborative operation information includes at least one of an operation resource of the vehicle, an executable distributed computing platform, and an available communication protocol,
Server workload support vehicle.
제 15 항에 있어서,
상기 메모리는, 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
상기 차량의 가용 연산 리소스를 주기적으로 상기 제 1 서버로 업데이트 하도록 야기하는 코드들을 저장하고,
상기 업데이트 하는 동작은,
상기 차량의 가장 최근의 가용 연산 리소스를 송신하거나, 상기 차량의 일정 기간 동안의 가용 연산 리소스의 평균치를 송신하는 동작을 포함하는,
서버 워크로드 지원 차량.
The method of claim 15,
The memory, when executed by the processor, causes the processor to:
Storing codes that cause the vehicle's available computational resources to be periodically updated to the first server,
The updating operation,
Transmitting the most recent available computational resources of the vehicle, or transmitting an average value of the available computational resources for a predetermined period of the vehicle,
Server workload support vehicle.
제 15 항에 있어서,
상기 메모리는, 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
상기 연산 결과를 전송하는 동작 이전에,
상기 아웃소싱 서비스의 수행 완료를 상기 제 1 서버에 전송하고,
상기 제 1 서버로부터 상기 서비스 대상 차량과의 통신을 위한 정보를 수신하도록 야기하는 코드들을 저장하는,
서버 워크로드 지원 차량.
The method of claim 15,
The memory, when executed by the processor, causes the processor to:
Before the operation of transmitting the calculation result,
Transmitting completion of the outsourcing service to the first server,
Storing codes that cause to receive information for communication with the service target vehicle from the first server,
Server workload support vehicle.
제 15 항에 있어서,
상기 메모리는, 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
상기 차량이 상기 제 1 서버의 커버리지에서의 이탈을 보고함에 따라 수행한 상기 아웃소싱 서비스의 중간 결과를 상기 제 2 서버로 전송하도록 야기하는 코드들을 저장하는,
서버 워크로드 지원 차량.
The method of claim 15,
The memory, when executed by the processor, causes the processor to:
Storing codes that cause the vehicle to transmit an intermediate result of the outsourcing service performed as the vehicle reports departure from the coverage of the first server to the second server,
Server workload support vehicle.
제 15 항에 있어서,
상기 제 1 서버로부터 상기 데이터 접근 정보를 수신하는 동작은,
상기 아웃소싱 서비스에 관련된 애플리케이션을 다운로드 하기 위한 경로 및 인증 정보를 수신하는 동작을 포함하고,
상기 메모리는, 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
상기 인증 정보를 상기 제 2 서버에 전송하고 상기 애플리케이션을 다운로드 하도록 야기하는 코드들을 저장하는,
서버 워크로드 지원 차량.
The method of claim 15,
The operation of receiving the data access information from the first server,
Including an operation of receiving a path and authentication information for downloading an application related to the outsourcing service,
The memory, when executed by the processor, causes the processor to:
Storing codes that cause the authentication information to be transmitted to the second server and to cause the application to be downloaded,
Server workload support vehicle.
KR1020190143468A 2019-11-11 2019-11-11 A method for distributing workload on a server, and a method for support6ing workload of a server on a vehicle and the vehicle thereof KR20210056708A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190143468A KR20210056708A (en) 2019-11-11 2019-11-11 A method for distributing workload on a server, and a method for support6ing workload of a server on a vehicle and the vehicle thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190143468A KR20210056708A (en) 2019-11-11 2019-11-11 A method for distributing workload on a server, and a method for support6ing workload of a server on a vehicle and the vehicle thereof

Publications (1)

Publication Number Publication Date
KR20210056708A true KR20210056708A (en) 2021-05-20

Family

ID=76143125

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190143468A KR20210056708A (en) 2019-11-11 2019-11-11 A method for distributing workload on a server, and a method for support6ing workload of a server on a vehicle and the vehicle thereof

Country Status (1)

Country Link
KR (1) KR20210056708A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023128085A1 (en) * 2021-12-27 2023-07-06 주식회사 이노그리드 System and method for collection of edge cloud monitoring data using artificial intelligence
WO2023177019A1 (en) * 2022-03-18 2023-09-21 엘지전자 주식회사 Edge-cloud collaboration system and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023128085A1 (en) * 2021-12-27 2023-07-06 주식회사 이노그리드 System and method for collection of edge cloud monitoring data using artificial intelligence
WO2023177019A1 (en) * 2022-03-18 2023-09-21 엘지전자 주식회사 Edge-cloud collaboration system and method
WO2023177018A1 (en) * 2022-03-18 2023-09-21 엘지전자 주식회사 System and method for collaboration between edge and cloud

Similar Documents

Publication Publication Date Title
US11513583B2 (en) Methods and systems for managing machine learning involving mobile devices
US20210112441A1 (en) Transportation operator collaboration system
US20230115259A1 (en) Malleable fabric attached virtual artificial intelligence (ai) training appliances
KR20190121275A (en) System, apparatus and method for indoor positioning
US20210129697A1 (en) System, apparatus and method for providing mobile charging service
US20210149397A1 (en) Apparatus and method for controlling the user experience of a vehicle
US20160048399A1 (en) Orchestrated sensor set
Abouaomar et al. A deep reinforcement learning approach for service migration in mec-enabled vehicular networks
US10757711B2 (en) Vehicle terminal and operation method thereof
US10154419B2 (en) Control of data connections and/or data transmissions in a mobile radio device
US10785297B2 (en) Intelligent dataset migration and delivery to mobile internet of things devices using fifth-generation networks
KR20210056708A (en) A method for distributing workload on a server, and a method for support6ing workload of a server on a vehicle and the vehicle thereof
Zhu et al. Deep reinforcement learning for unmanned aerial vehicle-assisted vehicular networks
US20200026546A1 (en) Method and apparatus for controlling virtual machine related to vehicle
Jose et al. Optimization based routing model for the dynamic path planning of emergency vehicles
US11993287B2 (en) Fleet-level AV simulation system and method
US20200089172A1 (en) Electronic apparatus and operation method thereof
JP7465147B2 (en) Vehicle control device, server, verification system
Shabir et al. A federated multi-agent deep reinforcement learning for vehicular fog computing
Xie et al. Mobility-aware task parallel offloading for vehicle fog computing
US20190380016A1 (en) Electronic apparatus and method for providing information for a vehicle
US20200005121A1 (en) Artificial intelligence-based apparatus and method for providing wake-up time and bed time information
EP4250664A1 (en) Communication related to federated learning
Wang et al. Digital twins for autonomous driving: A comprehensive implementation and demonstration
Han et al. Average service time analysis of a clustered VNF chaining scheme in NFV-based V2X networks