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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H04L67/32—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling 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
Description
본 발명은 차량의 가용 연산 리소스를 활용하여 엣지(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
이때, 로봇(30a)은 스스로 보유한 능력에 의해 주어진 일을 자동으로 처리하거나 작동하는 기계를 의미할 수 있다. 특히, 환경을 인식하고 스스로 판단하여 동작을 수행하는 기능을 갖는 로봇을 지능형 로봇이라 칭할 수 있다. 로봇(30a)은 사용 목적이나 분야에 따라 산업용, 의료용, 가정용, 군사용 등으로 분류할 수 있다. In this case, the
자율 주행 차량(30b)은 사용자의 조작 없이 또는 사용자의 최소한의 조작으로 주행하는 차량(Vehicle)을 의미하며, AutonomousDriving Vehicle이라고도 할 수 있다. 예컨대, 자율 주행에는 주행중인 차선을 유지하는 기술, 어댑티브 크루즈 컨트롤과 같이 속도를 자동으로 조절하는 기술, 정해진 경로를 따라 자동으로 주행하는 기술, 목적지가 설정되면 자동으로 경로를 설정하여 주행하는 기술 등이 모두 포함될 수 있다. 이때, 자율 주행 차량은 자율 주행 기능을 가진 로봇으로 볼 수 있다.The
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
사용자 단말기(30d)는 서버 워크로드 분산 시스템 애플리케이션 또는 서버 워크로드 분산 시스템 사이트에 접속한 후 인증 과정을 통하여 서버 워크로드 분산 시스템의 작동 또는 제어를 위한 서비스를 제공받을 수 있다. 본 실시 예에서 인증 과정을 마친 사용자 단말기(30d)는 서버 워크로드 분산 시스템(1)을 작동시키고, 제어할 수 있다. 본 실시 예에서 사용자 단말기(30d)는 사용자가 조작하는 데스크 탑 컴퓨터, 스마트폰, 노트북, 태블릿 PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 또한, 사용자 단말기(30d)는 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 단말기 일 수 있다. 사용자 단말기(30d)는 상술한 내용에 제한되지 아니하며, 웹 브라우징이 가능한 단말기는 제한 없이 차용될 수 있다.The
가전(30e)은 가정 내 구비되는 모든 전자 디바이스 중 어느 하나를 포함할 수 있으며, 특히 음성인식, 인공지능 등이 구현 가능한 단말, 오디오 신호 및 비디오 신호 중 하나 이상을 출력하는 단말 등을 포함할 수 있다. 또한 가전(30e)은 특정 전자 디바이스에 국한되지 않고 다양한 홈 어플라이언스(예를 들어, 세탁기, 건조기, 의류 처리 장치, 에어컨, 김치 냉장고 등)를 포함할 수 있다.The
클라우드 네트워크(10)는 클라우드 컴퓨팅 인프라의 일부를 구성하거나 클라우드 컴퓨팅 인프라 안에 존재하는 네트워크를 의미할 수 있다. 여기서, 클라우드 네트워크(10)는 3G 네트워크, 4G 또는 LTE(Long Term Evolution) 네트워크 또는 5G 네트워크 등을 이용하여 구성될 수 있다. 즉, 서버 워크로드 분산 시스템 환경을 구성하는 각 장치들(30a 내지 30e, 20)은 클라우드 네트워크(10)를 통해 서로 연결될 수 있다. 특히, 각 장치들(30a 내지 30e, 20)은 기지국을 통해서 서로 통신할 수도 있지만, 기지국을 통하지 않고 직접 서로 통신할 수도 있다.The
이러한 클라우드 네트워크(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) 기술을 포함할 수 있다.
또한, 클라우드 네트워크(10)는 허브, 브리지, 라우터, 스위치 및 게이트웨이와 같은 네트워크 요소들의 연결을 포함할 수 있다. 클라우드 네트워크(10)는 인터넷과 같은 공용 네트워크 및 안전한 기업 사설 네트워크와 같은 사설 네트워크를 비롯한 하나 이상의 연결된 네트워크들, 예컨대 다중 네트워크 환경을 포함할 수 있다. 클라우드 네트워크(10)에의 액세스는 하나 이상의 유선 또는 무선 액세스 네트워크들을 통해 제공될 수 있다. 더 나아가 클라우드 네트워크(10)는 사물 등 분산된 구성 요소들 간에 정보를 주고받아 처리하는 IoT(Internet of Things, 사물인터넷) 망 및/또는 5G 통신을 지원할 수 있다.Further, the
AI 서버(20)는 AI 프로세싱을 수행하는 서버와 빅 데이터에 대한 연산을 수행하는 서버를 포함할 수 있다. 또한, AI 서버(20)는 각종 인공 지능 알고리즘을 적용하는데 필요한 빅데이터와, 서버 워크로드 분산 시스템(1)을 동작시키는 데이터를 제공하는 데이터베이스 서버일 수 있다. 그 밖에 AI 서버(20)는 사용자 단말기(30d)에 설치된 서버 워크로드 분산 시스템 애플리케이션 또는 서버 워크로드 분산 시스템 웹 브라우저를 이용하여 서버 워크로드 분산 시스템(1)의 동작을 원격에서 제어할 수 있도록 하는 웹 서버 또는 애플리케이션 서버를 포함할 수 있다. The
또한, 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
여기서 인공 지능(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
본 실시 예에서는, 차량 혼잡으로 인한 엣지 서버(이하 제 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
다시 말해, 본 실시 예에서, 서버 워크로드 분산 시스템(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
또한, 서버 워크로드 분산 시스템(1)은 그 외 사용자 단말기, 네트워크, 제 n 차량(100-n)들 등의 구성요소를 더 포함할 수 있다. 그리고 본 실시 예에서는, 서비스를 요청하는 차량과 서비스를 수행하는 차량을 구분하기 위하여 부호를 다르게 표시하였으나, 제 1 차량(100-1)과 제 2 차량(100-2)은 차량(100)에 포함될 수 있다. In addition, the server
본 실시 예에서 제 1 서버(200)는 MEC(Mobile Edge Computing) 서버일 수 있으며, 상기 도 1의 AI 서버(20), 서버 워크로드 분산 시스템(1)의 프로세서를 위한 서버 등을 포함할 수 있다. 또한 제 2 서버(300)는 AI 서버(20), 서버 워크로드 분산 시스템(1)의 프로세서를 위한 서버, 관제 서버 등을 포함할 수 있으며, 이들을 통칭하는 의미일 수도 있다. 제 1 서버(200) 및 제 2 서버(300)가 본 실시 예에서 명시되지 않은 다른 서버인 경우 도 2에 도시된 연결관계 등은 달라질 수 있다.In this embodiment, the
AI 서버는 차량(100)으로부터 수집되는 데이터를 수신하여, 서버 과부하 상황에서 최적의 워크로드 분산을 위한 학습을 수행할 수 있다. The AI server may receive data collected from the
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
차량(100)은 차량 통신 모듈, 차량 제어 모듈, 차량 사용자 인터페이스 모듈, 운전 조작 모듈, 차량 구동 모듈, 운행 모듈, 내비게이션 모듈 및 센싱 모듈 등을 포함할 수 있다. 실시 예에 따라 차량(100)은 상기 구성요소 외에 다른 구성요소를 포함하거나, 이하 설명되는 구성요소 중 일부를 포함하지 않을 수 있다.The
여기서, 차량(100)은 자율 주행 차량일 수 있으며, 차량 사용자 인터페이스 모듈을 통하여 수신되는 사용자 입력에 따라 자율 주행 모드에서 매뉴얼 모드로 전환되거나 매뉴얼 모드에서 자율 주행 모드로 전환될 수 있다. 아울러, 차량(100)은 주행 상황에 따라 자율 주행 모드에서 매뉴얼 모드로 전환되거나 매뉴얼 모드에서 자율 주행 모드로 전환될 수 있다. 여기서, 주행 상황은 차량 통신 모듈에 의해 수신된 정보, 센싱 모듈에 의해 검출된 외부 오브젝트 정보 및 내비게이션 모듈에 의해 획득된 내비게이션 정보 중 적어도 어느 하나에 의해 판단될 수 있다.Here, the
차량(100)이 자율 주행 모드로 운행되는 경우, 차량(100)은 주행, 출차, 주차 동작을 제어하는 운행 모듈의 제어에 따라 운행될 수 있다. 한편, 차량(100)이 매뉴얼 모드로 운행되는 경우, 차량(100)은 운전자의 운전 조작 모듈을 통한 입력에 의해 운행될 수 있다. 차량(100)은 통신망을 통해 외부 서버에 연결되고, 자율주행 기술을 이용하여 운전자 개입 없이 미리 설정된 경로를 따라 이동 가능할 수 있다.When the
차량 사용자 인터페이스 모듈은 차량(100)과 차량 사용자와의 소통을 위한 것으로, 사용자의 입력 신호를 수신하고, 수신된 입력 신호를 차량 제어 모듈로 전달하며, 차량 제어 모듈의 제어에 의해 사용자에게 차량(100)이 보유하는 정보를 제공할 수 있다. 본 실시 예에서는 차량 사용자 인터페이스 모듈을 통해 충전 서비스 제공 서비스를 요청하거나 충전 서비스 정보를 수신할 수 있다. The vehicle user interface module is for communication between the
운행 모듈은 차량(100)의 각종 운행을 제어할 수 있으며, 특히 자율 주행 모드에서 차량(100)의 각종 운행을 제어할 수 있다. 운행 모듈은 주행 모듈, 출차 모듈 및 주차 모듈을 포함할 수 있으나, 이에 한정되지 않는다. 또한, 운행 모듈은 차량 제어 모듈의 제어를 받는 프로세서를 포함할 수 있다. 운행 모듈의 각 모듈은, 각각 개별적으로 프로세서를 포함할 수 있다. 실시 예에 따라, 운행 모듈이 소프트웨어적으로 구현되는 경우, 차량 제어 모듈의 하위 개념일 수도 있다. 이때, 주행 모듈, 출차 모듈 및 주차 모듈은 각각 차량(100)의 주행, 출차 및 주차를 수행할 수 있다. 또한 주행 모듈, 출차 모듈 및 주차 모듈은 각각 센싱 모듈로부터 오브젝트 정보를 제공받아, 차량 구동 모듈에 제어 신호를 제공하여, 차량(100)의 주행, 출차 및 주차를 수행할 수 있다. 또한, 주행 모듈, 출차 모듈 및 주차 모듈은 각각 차량 통신 모듈을 통해, 외부 디바이스로부터 신호를 제공받아, 차량 구동 모듈에 제어 신호를 제공하여, 차량(100)의 주행, 출차 및 주차를 수행할 수 있다. 그리고 주행 모듈, 출차 모듈 및 주차 모듈은 각각 내비게이션 모듈로부터 내비게이션 정보를 제공받아, 차량 구동 모듈에 제어 신호를 제공하여, 차량(100)의 주행, 출차 및 주차를 수행할 수 있다. 내비게이션 모듈은 차량 제어 모듈에 내비게이션 정보를 제공할 수 있다. 내비게이션 정보는 맵(map) 정보, 설정된 목적지 정보, 목적지 설정 따른 경로 정보, 경로 상의 다양한 오브젝트에 대한 정보, 차선 정보 및 차량의 현재 위치 정보 중 적어도 어느 하나를 포함할 수 있다. The driving module may control various operations of the
센싱 모듈은 차량(100)에 장착된 센서를 이용하여 차량(100)의 상태를 센싱, 즉, 차량(100)의 상태에 관한 신호를 감지하고, 감지된 신호에 따라 차량(100)의 이동 경로 정보를 획득할 수 있다. 또한 센싱 모듈은 획득된 이동 경로 정보를 차량 제어 모듈에 제공할 수 있다. 또한 센싱 모듈은 차량(100)에 장착된 센서를 이용하여 차량(100) 주변의 오브젝트 등을 센싱 할 수 있다. The sensing module senses the state of the
도 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
차량(100)은 통신 인터페이스(110), 메모리(120) 및 프로세서(130)를 포함할 수 있다.The
통신 인터페이스(110)는 제 1 서버(200), 제 2 서버(300) 및 차량 간 통신이 가능하도록 할 수 있다. 또한 통신 인터페이스(110)는 그 외 외부 장치와의 통신을 수행하기 위한 통신 모듈일 수 있다.The
통신 인터페이스(110)는 복수 개의 통신 모드에 의한 통신을 지원하고, 제 1 서버(200) 및 제 2 서버(300)로부터 서버 신호를 수신하며, 제 1 서버(200) 및 제 2 서버(300)로 신호를 송신할 수 있다. 또한 통신 인터페이스(110)는 하나 이상의 타 차량으로부터 신호를 수신하고, 타 차량으로 신호를 송신할 수 있으며, 사용자 단말기로부터 신호를 수신하고, 사용자 단말기로 신호를 송신할 수 있다. 또한 통신 인터페이스(110)는 차량 내에서의 통신을 위한 통신 모듈을 포함할 수 있다. The
여기서, 복수 개의 통신 모드는 타 차량과의 통신을 수행하는 차량 간 통신 모드, 외부 서버와 통신을 수행하는 서버 통신 모드, 차량 내 사용자 단말기 등 사용자 단말과 통신을 수행하는 근거리 통신 모드, 차량 내 유닛들과 통신하기 위한 차량 내 통신 모드 등을 포함할 수 있다. 즉, 통신 인터페이스(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
무선 통신 모듈은 이동 통신망을 통하여 사용자 단말기 또는 서버와 상호 신호를 송수신할 수 있다. 여기서, 이동 통신망은 사용한 시스템 자원(대역폭, 전송 파워 등)을 공유하여 다중 사용자의 통신을 지원할 수 있는 다중 접속(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
그리고 근거리 통신 모듈은, 예를 들어 운전자의 사용자 단말기와 근거리 무선 통신 모듈을 통해 연결되도록 할 수 있다. 이때 근거리 통신 모듈은 사용자 단말기와 무선 통신뿐만 아니라 유선 통신으로 연결되도록 할 수도 있다. 예를 들어 근거리 통신 모듈은 운전자의 사용자 단말기가 사전에 등록된 경우, 차량(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
또한, 실시 예에 따라, 통신 인터페이스(110)의 각 모듈은 통신 인터페이스(110) 내에 구비된 별도의 프로세서에 의해 전반적인 동작이 제어될 수 있다. 통신 인터페이스(110)는 복수 개의 프로세서를 포함하거나, 프로세서를 포함하지 않을 수도 있다. 통신 인터페이스(110)에 프로세서가 포함되지 않는 경우, 통신 인터페이스(110)는 차량(100) 내 다른 장치의 프로세서 또는 차량(100)의 프로세서(130)에 따라, 동작될 수 있다.In addition, according to an embodiment, the overall operation of each module of the
한편, 도 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
이 때, 특정 정보는 자율주행 관련 정보를 포함할 수 있다.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
먼저, 5G 통신 시스템에서 수행되는 자율주행이 가능한 차량(100)과 5G 네트워크를 통한 응용 동작의 일 예는 다음과 같다.First, an example of a
차량(100)은 5G 네트워크와 초기 접속(Initial access) 절차를 수행한다(초기 접속 단계, S20). 이때, 초기 접속 절차는 하향 링크(Downlink, DL) 동기 획득을 위한 셀 서치(Cell search) 과정 및 시스템 정보(System information)를 획득하는 과정 등을 포함한다.The
또한, 차량(100)은 5G 네트워크와 임의 접속(Random access) 절차를 수행한다(임의 접속 단계, S21). 이때, 임의 접속 절차는 상향 링크(Uplink, UL) 동기 획득 과정 또는 UL 데이터 전송을 위한 프리엠블 전송 과정, 임의 접속 응답 수신 과정 등을 포함한다.In addition, the
한편, 5G 네트워크는 자율주행이 가능한 차량(100)으로 특정 정보의 전송을 스케쥴링 하기 위한 UL 그랜트(Uplink grant)를 전송한다(UL 그랜트 수신 단계, S22).Meanwhile, the 5G network transmits an UL grant for scheduling transmission of specific information to the
차량(100)이 UL 그랜트를 수신하는 절차는 5G 네트워크로 UL 데이터의 전송을 위해 시간/주파수 자원을 배정받는 스케줄링 과정을 포함한다.The procedure for the
또한, 자율주행이 가능한 차량(100)은 UL 그랜트에 기초하여 5G 네트워크로 특정 정보를 전송할 수 있다(특정 정보 전송 단계, S23).In addition, the
한편, 5G 네트워크는 차량(100)으로부터 전송된 특정 정보에 기초하여 차량(100)의 원격 제어 여부를 결정할 수 있다(차량의 원격 제어 여부 결정 단계, S24).Meanwhile, the 5G network may determine whether to remotely control the
또한, 자율주행이 가능한 차량(100)은 5G 네트워크로부터 기 전송된 특정 정보에 대한 응답을 수신하기 위해 물리 하향링크 제어 채널을 통해 DL 그랜트를 수신할 수 있다(DL 그랜트 수신 단계, S25).In addition, the
이후에, 5G 네트워크는 DL 그랜트에 기초하여 자율주행이 가능한 차량(100)으로 원격 제어와 관련된 정보(또는 신호)를 전송할 수 있다(원격 제어와 관련된 정보 전송 단계, S26).Thereafter, the 5G network may transmit information (or signals) related to remote control to the
한편, 앞서 자율주행이 가능한 차량(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
예를 들어, 초기 접속 단계, 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
또한, 앞서 기술한 자율주행이 가능한 차량(100)의 동작은 예시적인 것이 불과하므로, 본 발명은 이에 한정되지 않는다.In addition, since the operation of the
예를 들어, 자율주행이 가능한 차량(100)의 동작은, 초기 접속 단계, 임의 접속 단계, UL 그랜트 수신 단계 또는 DL 그랜트 수신 단계가, 특정 정보 전송 단계 또는 원격 제어와 관련된 정보 전송 단계와 선택적으로 결합되어 동작할 수 있다. 아울러, 자율주행이 가능한 차량(100)의 동작은, 임의 접속 단계, UL 그랜트 수신 단계, 특정 정보 전송 단계 및 원격 제어와 관련된 정보 전송 단계로 구성될 수도 있다. 한편, 자율주행이 가능한 차량(100)의 동작은, 초기 접속 단계, 임의 접속 단계, 특정 정보 전송 단계 및 원격 제어와 관련된 정보 전송 단계로 구성될 수 있다. 또한, 자율주행이 가능한 차량(100)의 동작은, UL 그랜트 수신 단계, 특정 정보 전송 단계, DL 그랜트 수신 단계 및 원격 제어와 관련된 정보 전송 단계로 구성될 수 있다.For example, the operation of the
도 6에 도시된 바와 같이, 자율주행 모듈을 포함하는 차량(100)은 DL 동기 및 시스템 정보를 획득하기 위해 SSB(Synchronization Signal Block)에 기초하여 5G 네트워크와 초기 접속 절차를 수행할 수 있다(초기 접속 단계, S30). As shown in FIG. 6, the
또한, 자율주행이 가능한 차량(100)은 UL 동기 획득 및/또는 UL 전송을 위해 5G 네트워크와 임의 접속 절차를 수행할 수 있다(임의 접속 단계, S31).In addition, the
한편, 자율주행이 가능한 차량(100)은 특정 정보를 전송하기 위해 5G 네트워크로부터 UL 그랜트를 수신할 수 있다(UL 그랜트 수신 단계, S32).Meanwhile, the
또한, 자율주행이 가능한 차량(100)은 UL 그랜트에 기초하여 특정 정보를 5G 네트워크로 전송한다(특정 정보 전송 단계, S33).In addition, the
또한, 자율주행이 가능한 차량(100)은 특정 정보에 대한 응답을 수신하기 위한 DL 그랜트를 5G 네트워크로부터 수신한다(DL 그랜트 수신 단계, S34).In addition, the
또한, 자율주행이 가능한 차량(100)은 원격 제어와 관련된 정보(또는 신호)를 DL 그랜트에 기초하여 5G 네트워크로부터 수신한다(원격 제어 관련 정보 수신 단계, S35).In addition, the
초기 접속 단계에 빔 관리(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
또한, 자율주행이 가능한 차량(100)은 UL 동기 획득 및/또는 UL 전송을 위해 5G 네트워크와 임의 접속 절차를 수행한다(임의 접속 단계, S41).In addition, the
또한, 자율주행이 가능한 차량(100)은 설정된 그랜트(Configured grant)에 기초하여 특정 정보를 5G 네트워크로 전송한다(UL 그랜트 수신 단계, S42). 즉, 상기 5G 네트워크로부터 UL 그랜트를 수신하는 과정 대신, 설정된 그랜트를 수신할 수 있다.In addition, the
또한, 자율주행이 가능한 차량(100)은 원격 제어와 관련된 정보(또는 신호)를 설정 그랜트에 기초하여 5G 네트워크로부터 수신한다(원격 제어 관련 정보 수신 단계, S43).In addition, the
도 8에 도시된 바와 같이, 자율주행이 가능한 차량(100)은 DL 동기 및 시스템 정보를 획득하기 위해 SSB에 기초하여 5G 네트워크와 초기 접속 절차를 수행할 수 있다(초기 접속 단계, S50).As shown in FIG. 8, the
또한, 자율주행이 가능한 차량(100)은 UL 동기 획득 및/또는 UL 전송을 위해 5G 네트워크와 임의 접속 절차를 수행한다(임의 접속 단계, S51).In addition, the
또한, 자율주행이 가능한 차량(100)은 5G 네트워크로부터 DL 선점(Downlink Preemption) IE(Information Element)를 수신한다(DL 선점 IE 수신, S52).In addition, the
또한, 자율주행이 가능한 차량(100)은 DL 선점 IE에 기초하여 선점 지시를 포함하는 DCI(Downlink Control Information) 포맷 2_1을 5G 네트워크로부터 수신한다(DCI 포맷 2_1 수신 단계, S53).In addition, the
또한, 자율주행 가능한 차량(100)은 선점 지시(Pre-emption indication)에 의해 지시된 자원(PRB 및/또는 OFDM 심볼)에서 eMBB 데이터의 수신을 수행(또는 기대 또는 가정)하지 않는다(eMBB 데이터의 수신 미수행 단계, S54).In addition, the
또한, 자율주행이 가능한 차량(100)은 특정 정보를 전송하기 위해 5G 네트워크로 UL 그랜트를 수신한다(UL 그랜트 수신 단계, S55).In addition, the
또한, 자율주행이 가능한 차량(100)은 UL 그랜트에 기초하여 특정 정보를 5G 네트워크로 전송한다(특정 정보 전송 단계, S56).In addition, the
또한, 자율주행이 가능한 차량(100)은 특정 정보에 대한 응답을 수신하기 위한 DL 그랜트를 5G 네트워크로부터 수신한다(DL 그랜트 수신 단계, S57).In addition, the
또한, 자율주행이 가능한 차량(100)은 원격제어와 관련된 정보(또는 신호)를 DL 그랜트에 기초하여 5G 네트워크로부터 수신한다(원격 제어 관련 정보 수신 단계, S58).In addition, the
도 9에 도시된 바에 의하면, 자율주행이 가능한 차량(100)은 DL 동기 및 시스템 정보를 획득하기 위해 SSB에 기초하여 5G 네트워크와 초기 접속 절차를 수행한다(초기 접속 단계, S60).As shown in FIG. 9, the
또한, 자율주행이 가능한 차량(100)은 UL 동기 획득 및/또는 UL 전송을 위해 5G 네트워크와 임의 접속 절차를 수행한다(임의 접속 단계, S61).In addition, the
또한, 자율주행 가능한 차량(100)은 특정 정보를 전송하기 위해 5G 네트워크로 UL 그랜트를 수신한다(UL 그랜트 수신 단계, S62).In addition, the
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
또한, 특정 정보의 반복 전송은 주파수 호핑을 통해 수행되고, 첫 번째 특정 정보의 전송은 제 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
또한, 자율주행이 가능한 차량(100)은 원격제어와 관련된 정보(또는 신호)를 DL 그랜트에 기초하여 5G 네트워크로부터 수신한다(원격 제어 관련 정보 수신 단계, S65).In addition, the
앞서 기술한 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
예를 들어, 메모리(120)는 차량(100)의 차량 정보 및 협업용 연산 정보를 제 1 서버(200)에 전송하고, 제 1 서버(200)로부터 아웃소싱 서비스의 수행 요청 및 아웃소싱 서비스에 필요한 데이터에 접근 가능한 경로를 포함하는 데이터 접근 정보를 수신하며, 데이터 접근 정보에 기반하여 아웃소싱 서비스를 수행하고, 아웃소싱 서비스의 서비스 대상 차량(100) 또는 제 2 서버(300)로 아웃소싱 서비스의 연산 결과의 적어도 일부를 전송하도록 야기하는(cause) 코드들을 저장할 수 있다. For example, the
또한, 메모리(120)는 차량(100)의 가용 연산 리소스를 주기적으로 제 1 서버(200)로 업데이트 하도록 야기하는 코드들을 저장할 수 있다. 그리고 메모리(120)는 연산 결과를 전송하는 동작 이전에, 아웃소싱 서비스의 수행 완료를 제 1 서버(200)에 전송하고, 제 1 서버(200)로부터 서비스 대상 차량과의 통신을 위한 정보를 수신하도록 야기하는 코드들을 저장할 수 있다. 또한, 메모리(120)는 차량(100)이 제 1 서버(200)의 커버리지에서의 이탈을 보고함에 따라, 수행한 아웃소싱 서비스의 중간 결과를 제 2 서버(300)로 전송하도록 야기하는 코드들을 저장할 수 있다. 그리고 메모리(120)는 차량 인증을 위한 인증 정보를 제 2 서버(300)에 전송하고 애플리케이션을 다운로드 하도록 야기하는 코드들을 저장할 수 있다. 또한 메모리(120)에는 서버 워크로드 분산을 최적의 방법으로 수행할 수 있도록 미리 훈련된 심층 신경망 모델을 저장할 수 있다.In addition, the
즉, 메모리(120)는 서버 워크로드 분산 시스템(1)에서 필요한 각종 코드들, 각종 정보들을 저장하는 것으로, 휘발성 또는 비휘발성 기록 매체를 포함할 수 있다.That is, the
여기서, 메모리(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
프로세서(130)는 차량(100)이 제 1 서버(200)의 워크로드 분산을 지원하도록 차량(100)의 동작을 제어할 수 있다. 즉 프로세서(130)는 차량 정보 및 협업용 연산 정보를 제 1 서버(200)에 전송하고, 제 1 서버(200)로부터 아웃소싱 서비스의 수행 요청 및 아웃소싱 서비스에 필요한 데이터에 접근 가능한 경로를 포함하는 데이터 접근 정보를 수신할 수 있다. 그리고 프로세서(130)는 데이터 접근 정보에 기초하여 아웃소싱 서비스를 수행할 수 있다. 또한 프로세서(130)는 아웃소싱 서비스의 서비스 대상 차량 또는 제 2 서버(300)로 아웃소싱 서비스의 연산 결과의 적어도 일부를 전송할 수 있다.The
프로세서(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
본 실시 예에서 프로세서(130)는 서버 워크로드 분산 시스템(1)이 최적의 서버 워크로드 분산을 수행하도록, 딥러닝(Deep Learning) 등 머신 러닝(machine learning)을 수행할 수 있고, 메모리는 머신 러닝에 사용되는 데이터, 결과 데이터 등을 저장할 수 있다.In this embodiment, the
머신 러닝의 일종인 딥러닝(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
한편, 본 실시 예에서는 미리 훈련된 심층 신경망 학습을 위한 파라미터를 수집할 수 있다. 이때 본 실시 예에서는, 학습 모델을 정교화하기 위해서 실제 사용자가 사용한 데이터를 수집할 수 있다. 사용자로부터 사용자 데이터를 입력 받는 경우, 본 실시 예에서는 학습 모델의 결과와 상관없이 입력 데이터를 서버 및/또는 메모리에 저장할 수 있다. 즉 본 실시 예에서, 서버 워크로드 분산 시스템(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
도 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
가용 리소스 관리부(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
또한 가용 리소스 관리부(131)는 차량(100)의 가용 연산 리소스를 주기적으로 제 1 서버(200)로 업데이트 할 수 있다. 이때 가용 리소스 관리부(131)는 차량(100)의 가장 최근의 가용 연산 리소스를 송신하거나, 차량(100)의 일정 기간 동안의 가용 연산 리소스의 평균치를 송신할 수 있다.In addition, the available resource management unit 131 may periodically update the available computational resources of the
지원 요청 수신부(132)는 제 1 서버(200)로부터 아웃소싱 서비스의 수행 요청을 수신할 수 있다.The support
액세스 정보 수신부(133)는 제 1 서버(200)로부터 아웃소싱 서비스에 필요한 데이터에 접근 가능한 경로를 포함하는 데이터 접근 정보를 수신할 수 있다. 또한 액세스 정보 수신부(133)는 아웃소싱 서비스에 관련된 애플리케이션을 다운로드 하기 위한 경로 및 인증 정보를 수신할 수 있다. 여기서 데이터 접근 정보는 제 2 서버(300), 서비스 애플리케이션 및 데이터에 대한 정보를 포함할 수 있다.The access
다운로드 관리부(134)는 제 2 서버(300)로부터 다운로드 받은 서비스 할 애플리케이션을 관리할 수 있다. 즉 다운로드 관리부(134)는 아웃소싱 서비스의 수행 요청과 함께, 아웃소싱 서비스에 관련된 애플리케이션을 다운로드 하기 위한 경로 및 다운로드를 위한 인증 정보를 수신하여 관리할 수 있다. 이때 서비스 할 애플리케이션은 데이터 및 이미지를 포함할 수 있는데, 서비스를 수행 할 차량의 플랫폼의 VM, Container 환경에서 실행 가능한 포맷으로, 해당 실행 환경을 갖춘 차량에서 애플리케이션이 실행 가능한 포맷이어야 한다.The download management unit 134 may manage an application to be serviced downloaded from the
서비스 수행부(135)는 아웃소싱 서비스에 필요한 데이터에 접근 가능한 경로를 포함하는 데이터 접근 정보에 기초하여 아웃소싱 서비스를 수행할 수 있다. 서비스 수행부(135)는 제 1 서버(200)로부터 수신 받은 데이터 접근 정보에 기초하여 제 2 서버(300)에 연결할 수 있다. 이때 제 2 서버(300)는 차량(100)이 허가 받은 차량인지 인증을 수행할 수 있다. 서비스 수행부(135)는 제 2 서버(300)에 데이터를 액세스하여 아웃소싱 서비스와 관련된 애플리케이션을 제 2 서버(300)로부터 다운로드 하고, 애플리케이션을 실행할 수 있다. 그리고 서비스 수행부(135)는 해당 서비스를 러닝(running)할 수 있다. 즉 서비스 수행부(135)는 애플리케이션을 실행하고 제 2 서버(300)에 저장된 아웃소싱 서비스와 관련된 데이터를 이용하여 아웃소싱 서비스를 수행할 수 있다.The
처리결과 제공부(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
업데이트 관리부(137)는 서비스 실행 내용을 제 1 서버(200) 및 제 2 서버(300)에 전송하여 업데이트 할 수 있다. 그리고 업데이트 관리부(137)는 서비스 요청 차량으로 아웃소싱 서비스의 연산 결과물을 전송할 수 있다.The update management unit 137 may transmit and update service execution details to the
차량 통신 관리부(138)는 제 1 서버(200)로부터 서비스 대상 차량과의 통신을 위한 정보를 수신할 수 있다. 즉 차량 통신 관리부(138)는 제 1 서버(200)로부터 서비스 요청 차량과 서비스 수행 차량 간의 통신이 가능하도록 하는 통신 정보를 수신할 수 있다.The vehicle
컨트롤러(139)는 프로세서(130)의 전반적인 동작을 제어하는 것으로, 프로세서(130)와 일체로 형성되거나 별도로 구비될 수 있다. 다만 본 실시 에에서는 프로세서(130) 내에 구비되는 제어모듈을 의미할 수 있다.The controller 139 controls the overall operation of the
제 1 서버(200)는 차량(100)에서 실행 가능한 차량 실시간 서비스 및 비실시간 서비스를 제공할 수 있으며, 리소스 모니터링부(210), 워크로드 관리부(220) 및 데이터 관리부(230)를 포함할 수 있다. 본 실시 예에서 제 1 서버(200)는 엣지 서버(Edge Server)일 수 있다. The
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
그리고 제 1 서버(200)는 제 2 차량(100-2)의 가용 연산 리소스에 기초하여 제 2 차량(100-2)을 결정할 수 있다. 이때, 제 1 서버(200)는 결정된 아웃소싱 서비스에 기초하여 가용 연산 임계치를 결정하고, 제 1 서버(200)와 통신하는 차량들 중 가용 연산 리소스가 가용 연산 임계치 이상인 서비스 수행 대상 차량들을 결정할 수 있다. 그리고 제 1 서버(200)는 서비스 수행 대상 차량들의 주행 정보에 기초하여 서비스 수행 대상 차량들의 제 1 서버(200)의 커버리지 내 잔류 시간을 예측하고, 잔류 시간에 기초하여 서비스 수행 대상 차량들 중 제 2 차량(100-2)을 선별할 수 있다.In addition, the
또한 제 1 서버(200)는 서비스 수행 가능성의 판단에 기초하여 서비스 요청과 관련된 서비스 또는 제 1 서버(200)에서 수행 중인 서비스들 중 제 1 서버(200)에서 수행하지 않을 적어도 하나의 아웃소싱 서비스를 결정할 수 있다. 그리고 제 1 서버(200)는 제 2 차량(100-2)에 아웃소싱 서비스의 수행을 요청하고, 아웃소싱 서비스에 필요한 데이터에 접근 가능한 경로를 포함하는 데이터 접근 정보를 제 2 차량(100-2)에 전송할 수 있다. 그리고 제 1 서버(200)는 제 2 차량(100-2)으로부터 아웃소싱 서비스의 수행 상태를 수신할 수 있다.In addition, the
리소스 모니터링부(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
특히 리소스 모니터링부(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
그리고 리소스 모니터링부(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
워크로드 관리부(220)는 서비스 요청과 관련된 서비스 또는 제 1 서버(200)에서 수행 중인 서비스들의 안전 관련성 및 실시간 제공 필요성에 기초하여 아웃소싱 서비스를 결정할 수 있다. 이때 워크로드 관리부(220)는 서비스 요청과 관련된 서비스 또는 제 1 서버(200)에서 수행 중인 서비스들 중에서 안전과 관련되지 않은 것으로 미리 설정된 서비스를 아웃소싱 서비스로 결정할 수 있다. 또한, 워크로드 관리부(220)는 각 서비스의 수행에 필요한 네트워크 대역폭(Network Bandwidth) 및 각 서비스의 보안 민감도 중 적어도 하나를 고려하여 아웃소싱 서비스를 결정할 수 있다.The
즉 워크로드 관리부(220)는 제 1 차량(100-1)으로부터 수신된 서비스 요청을 제 1 서버(200)에서 수행할 수 없다는 판단에 따라 제 1 서버(200)에서 수행 중인 서비스들 중 외부에 요청할 수 있는 아웃소싱 서비스를 적어도 서비스들의 우선순위에 기초하여 결정할 수 있다. 이때, 워크로드 관리부(220)는 안전과 관련되지 않은 것으로 미리 설정된 서비스들 중에서 실시간 제공 필요성이 낮은 서비스부터 아웃소싱 서비스로 결정할 수 있다. 여기서 우선순위는 서비스의 속성(안전과 관련된 핵심 서비스인지, 안전과 관련 없는 부가적 서비스인지), 서비스의 시급성(바로 처리되어야 하는지), 서비스의 복잡도 등에 기초하여 결정될 수 있다. 예를 들어, 워크로드 관리부(220)는 안전과 관련된 핵심 서비스를 제공하기 위한 부하가 늘어나는 경우, 요청된 서비스 애플리케이션 별로 네트워크 대역폭(Network Bandwidth), 실시간(Real-time) 속성을 고려할 수 있다. 그리고 워크로드 관리부(220)는 선정한 Emergency Degree(우선순위) 값에 따라서, 안전과 관련되지 않은 부가적 서비스를 Offloading할 서비스 애플리케이션을 선정하고, 이를 실행할 수 있는 차량을 찾을 수 있다.In other words, the
도 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
제 1 서버(200)는 아웃소싱 서비스의 수행 완료를 수신하고, 제 1 차량(100-1)과의 통신을 위한 정보를 제 2 차량(100-2)으로 송신하며, 제 2 차량(100-2)과의 통신을 위한 정보를 제 1 차량(100-1)으로 송신할 수 있다.The
데이터 관리부(230)는 서비스에서 사용하는 데이터 및 애플리케이션을 관리하는 것으로, 제 2 차량(100-2)에서 실행 가능한 포맷의 서비스 애플리케이션을 제 2 서버(300)에 업로드 할 수 있다. 즉 데이터 관리부(230)는 제 2 차량(100-2)에 대해 미리 등록된 실행 가능한 분산 연산 플랫폼에 기초하여 애플리케이션 및 데이터의 포맷을 결정하여 제 2 서버(300)에 업로드 할 수 있다. The
그리고 데이터 관리부(230)는 순항(cruising) 데이터, 생체 인증(biometric) 데이터, 제어(control) 데이터, 카메라(camera) 데이터 및 센서(sensor) 데이터를 제 2 서버(300)에 업데이트 할 수 있다.In addition, the
제 2 서버(300)는 서비스 애플리케이션 서버일 수 있으며, 차량 서비스에 대한 애플리케이션, 즉 데이터 및 애플리케이션 이미지가 포함될 수 있다. 여기서 이미지는 시스템과 서비스에 필요한 코드를 모아둔 최소한의 단위를 의미할 수 있다. 예를 들어, 제 2 서버(300)는 제 1 서버(200)로부터 워크로드 분산을 위한, 제 2 차량(100-2)에서 실행 가능한 포맷의 서비스 애플리케이션을 입력 받을 수 있다. 그리고 제 2 서버(300)는 제 1 서버(200)로부터 순항(cruising) 데이터, 생체 인증(biometric) 데이터, 제어(control) 데이터, 카메라(camera) 데이터 및 센서(sensor) 데이터를 입력 받아 업데이트 할 수 있다.The
한편, 본 실시 예에서는 가용 리소스가 없는 경우, 실행 중인 서비스가 끝나거나, 가용 차량, 즉 서비스 실행이 가능한 차량이 발생할 때까지 대기할 수 있다.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
S110 단계에서, 제 1 서버(200)는 제 1 서버(200)의 서비스 수행 가능성을 판단한다. 즉 제 1 서버(200)는 제 1 서버(200)의 연산 리소스를 모니터링 하여, 현재 서비스 제공 중인 연산 리소스가 요청 받은 서비스를 수행할 수 있는지를 체크할 수 있다.In step S110, the
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
S130 단계에서, 제 1 서버(200)는 아웃소싱 서비스를 결정한다. 즉, 제 1 서버(200)는 서비스 요청과 관련된 서비스 또는 제 1 서버(200)에서 수행 중인 서비스들의 안전 관련성 및 실시간 제공 필요성에 기초하여 아웃소싱 서비스를 결정할 수 있다. 이때, 제 1 서버(200)는 서비스 요청과 관련된 서비스 또는 제 1 서버(200)에서 수행 중인 서비스들 중에서 안전과 관련되지 않은 것으로 미리 설정된 서비스를 아웃소싱 서비스로 결정할 수 있다. 또한, 제 1 서버(200)는 각 서비스의 수행에 필요한 네트워크 대역폭(Network Bandwidth) 및 각 서비스의 보안 민감도 중 적어도 하나를 고려하여 아웃소싱 서비스를 결정할 수 있다. 그리고 제 1 서버(200)는 제 1 서버(200)에서 수행 중인 서비스들 중 외부에 요청할 수 있는 아웃소싱 서비스를 적어도 서비스들의 우선순위에 기초하여 결정할 수 있으며, 안전과 관련되지 않은 것으로 미리 설정된 서비스들 중에서 실시간 제공 필요성이 낮은 서비스부터 아웃소싱 서비스로 결정할 수 있다.In step S130, the
한편, 본 실시 예에서는 제 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
S150 단계에서, 제 1 서버(200)는 제 2 차량(100-2)에 데이터 접근 정보를 전송한다. 즉 제 1 서버(200)는 제 2 차량(100-2)에 아웃소싱 서비스에 필요한 데이터에 접근 가능한 경로를 포함하는 데이터 접근 정보를 전송할 수 있다. 또한 제 1 서버(200)는 아웃소싱 서비스에 관련된 애플리케이션을 다운로드 하기 위한 경로 및 인증 정보를 제 2 차량(100-2)에 전송할 수 있다. 여기서 데이터 접근 정보는 제 2 서버(300), 서비스 애플리케이션 및 데이터에 대한 정보를 포함할 수 있다.In step S150, the
S160 단계에서, 제 1 서버(200)는 제 2 차량(100-2)으로부터 아웃소싱 서비스 수행 완료가 수신되었는지 확인한다. 즉 제 1 서버(200)는 제 2 차량(100-2)으로부터 아웃소싱 서비스의 수행 상태를 수신 받을 수 있으며, 수행 완료가 수신되면 서비스 수행이 완료되었다고 확인할 수 있다.In step S160, the
도 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
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
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
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
S240 단계에서, 제 2 차량(100-2)은 제 1 서버(200)의 커버리지를 이탈하였는지 확인한다.In step S240, the second vehicle 100-2 checks whether the coverage of the
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
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
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
도 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
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
S4 단계에서, 제 1 차량(100-1)은 제 1 서버(200)에 서비스를 요청한다.In step S4, the first vehicle 100-1 requests a service from the
S5 단계에서, 제 1 서버(200)는 서비스 수행 가능성을 판단한다. 즉, 제 1 서버(200)는 제 1 차량(100-1)으로부터 서비스 요청을 수신하고, 제 1 서버(200)의 가용 연산 리소스에 기초하여 서비스 요청에 대한 서버의 서비스 수행 가능성을 판단할 수 있다.In step S5, the
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
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
S8 단계에서, 제 1 서버(200)는 아웃소싱 서비스를 결정한다. 즉 제 1 서버(200)는 서비스 수행 가능성의 판단에 기초하여 서비스 요청과 관련된 서비스 또는 제 1 서버(200)에서 수행 중인 서비스들 중 제 1 서버(200)에서 수행하지 않을 적어도 하나의 아웃소싱 서비스를 결정할 수 있다.In step S8, the
S9 단게에서, 제 1 서버(200)는 제 2 서버(300)에 애플리케이션을 업로드 한다.In step S9, the
S10 단계에서, 제 2 서버(300)는 업로드 된 애플리케이션을 업데이트 한다.In step S10, the
제 1 서버(200)는 제 2 차량(100-2)에서 실행 가능한 포맷의 서비스 애플리케이션을 제 2 서버(300)에 업로드 할 수 있다. 즉 제 1 서버(200)는 제 2 차량(100-2)에 대해 미리 등록된 실행 가능한 분산 연산 플랫폼에 기초하여 애플리케이션 및 데이터의 포맷을 결정하여 제 2 서버(300)에 업로드 할 수 있다. 그리고 제 1 서버(200)는 순항(cruising) 데이터, 생체 인증(biometric) 데이터, 제어(control) 데이터, 카메라(camera) 데이터 및 센서(sensor) 데이터를 제 2 서버(300)에 업데이트 할 수 있다.The
S11 단계에서, 제 1 서버(200)는 제 2 차량(100-2)에 아웃소싱 서비스 수행을 요청한다. 즉 제 1 서버(200)는 서비스 요청과 관련된 서비스 또는 제 1 서버(200)에서 수행 중인 서비스들 중 제 1 서버(200)에서 수행하지 않을 적어도 하나의 아웃소싱 서비스에 대하여 수행을 요청할 수 있다.In step S11, the
S12 단계에서, 제 1 서버(200)는 제 2 차량(100-2)에 데이터 접근 정보를 전송한다. 제 1 서버(200)는 제 2 차량(100-2)에 아웃소싱 서비스 수행을 요청하면서 데이터 접근 정보를 함께 전송할 수 있다.In step S12, the
S13 단계에서, 제 2 차량(100-2)은 데이터 접근 정보에 기초하여 제 2 서버(300)에 액세스 한다. 즉 제 2 차량(100-2)은 제 2 서버(300)의 데이터 및 이미지에 접근 시도 할 수 있다.In step S13, the second vehicle 100-2 accesses the
S14 단계에서, 제 2 서버(300)는 제 2 차량(100-2)을 인증한다. 제 2 서버(300)에서는 미리 설정된 인증 방법 또는 제 2 차량(100-2)의 식별 정보에 기초하여 제 2 차량(100-2)이 허가된 차량인지 인증할 수 있다.In step S14, the
S15 단계에서, 제 2 차량(100-2)은 제 2 서버(300)로부터 애플리케이션을 다운로드 한다. 제 2 차량(100-2)은 수행 가능한 포맷의 애플리케이션을 다운로드 할 수 있다.In step S15, the second vehicle 100-2 downloads an application from the
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
S17 단계에서, 제 2 차량(100-2)은 제 1 서버(200)에 수행 완료를 보고한다.In step S17, the second vehicle 100-2 reports the completion of the execution to the
S18 단계에서, 제 1 서버(200)는 제 1 차량(100-1)과 제 2 차량(100-2) 간의 통신을 위한 통신 정보를 전송한다. 즉 제 1 서버(200)는 제 1 차량(100-1)과 제 2 차량(100-2) 간의 통신을 위한 정보를 수신할 수 있다. 즉 제 1 서버(200)는 서비스 요청 차량과 서비스 수행 차량 간의 통신이 가능하도록 하는 통신 정보를 전송할 수 있다.In step S18, the
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
본 개시의 실시 예에 의하면, 엣지 서버 과부하 상황에서 차량의 가용 연산 리소스를 활용하여 엣지 서버의 워크로드를 차량으로 분산 처리할 수 있도록 함으로써, 안전 관련 서비스의 실시간성을 보장하도록 할 수 있다.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.
상기 제 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.
상기 서버와 통신하는 상기 제 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.
상기 아웃소싱 서비스를 결정하는 단계는,
상기 서비스 요청과 관련된 서비스 또는 상기 서버에서 수행 중인 서비스들의 안전 관련성 및 실시간 제공 필요성에 기초하여 상기 아웃소싱 서비스를 결정하는 단계를 포함하는,
서버의 워크로드 분산 방법.
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.
상기 아웃소싱 서비스를 결정하는 단계는,
상기 서비스 요청과 관련된 서비스 또는 상기 서버에서 수행 중인 서비스들 중에서 안전과 관련되지 않은 것으로 미리 설정된 서비스를 상기 아웃소싱 서비스로 결정하는 단계를 포함하는,
서버의 워크로드 분산 방법.
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.
상기 아웃소싱 서비스를 결정하는 단계는,
각 서비스의 수행에 필요한 네트워크 대역폭 및 각 서비스의 보안 민감도 중 적어도 하나를 고려하여 상기 아웃소싱 서비스를 결정하는 단계를 포함하는,
서버의 워크로드 분산 방법.
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 차량과의 통신을 위한 정보를 상기 제 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.
상기 제 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 서버로부터 아웃소싱 서비스의 수행 요청 및 상기 아웃소싱 서비스에 필요한 데이터에 접근 가능한 경로를 포함하는 데이터 접근 정보를 수신하는 단계;
상기 데이터 접근 정보에 기초하여 상기 아웃소싱 서비스를 수행하는 단계; 및
상기 아웃소싱 서비스의 서비스 대상 차량 또는 제 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.
상기 차량 정보는, 상기 차량의 식별자, 차량의 종류, 차량의 용도, 차량의 생산연도, 및 차량의 브랜드 중 적어도 하나를 포함하고,
상기 협업용 연산 정보는, 상기 차량의 연산 리소스, 실행 가능한 분산 연산 플랫폼(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.
상기 차량의 가용 연산 리소스를 주기적으로 상기 제 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.
상기 연산 결과를 전송하는 단계 이전에,
상기 아웃소싱 서비스의 수행 완료를 상기 제 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.
상기 차량이 상기 제 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.
상기 제 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 서버로부터 아웃소싱 서비스의 수행 요청 및 상기 아웃소싱 서비스에 필요한 데이터에 접근 가능한 경로를 포함하는 데이터 접근 정보를 수신하며,
상기 데이터 접근 정보에 기초하여 상기 아웃소싱 서비스를 수행하고,
상기 아웃소싱 서비스의 서비스 대상 차량 또는 제 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.
상기 차량 정보는, 상기 차량의 식별자, 차량의 종류, 차량의 용도, 차량의 생산연도, 및 차량의 브랜드 중 적어도 하나를 포함하고,
상기 협업용 연산 정보는, 상기 차량의 연산 리소스, 실행 가능한 분산 연산 플랫폼(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.
상기 메모리는, 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
상기 차량의 가용 연산 리소스를 주기적으로 상기 제 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.
상기 메모리는, 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
상기 연산 결과를 전송하는 동작 이전에,
상기 아웃소싱 서비스의 수행 완료를 상기 제 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.
상기 메모리는, 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
상기 차량이 상기 제 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.
상기 제 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.
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)
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 |
-
2019
- 2019-11-11 KR KR1020190143468A patent/KR20210056708A/en unknown
Cited By (3)
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 |