Fog device for task allocation scheduling, and operation method thereof

The fog device addresses the limitations of Edge Computing by forming clusters of idle edge device resources and dynamically scheduling tasks, resulting in reduced power consumption and faster task completion times.

WO2025116118A1PCT designated stage expired Publication Date: 2025-06-05TECH UNIV OF KOREA IND ACADEMIC COOP FOUNDATION
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2023/021863
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-11-28
Filing Date
2023-12-28
Publication Date
2025-06-05

AI Technical Summary

Technical Problem

Edge Computing devices have limited processing capabilities and small memory and storage capacity, which limits their effectiveness in processing large amounts of data generated by IoT devices.

Method used

A fog device is used to form a cluster of idle resources from edge devices, and a scheduling method is employed to efficiently allocate tasks based on the usage frequency of edge devices and the tasks requested, using a processor to manage task tables and device tables.

Benefits of technology

This approach reduces power consumption and shortens task completion time by dynamically assigning tasks to master and working edge devices, optimizing resource utilization and processing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2023021863_05062025_PF_FP_ABST
    Figure KR2023021863_05062025_PF_FP_ABST
Patent Text Reader

Abstract

According to various embodiments, a fog device for task allocation scheduling includes a processor. The processor may be configured to: store a task table indicating task-related information of one or more master edge devices and one or more task edge devices and a device table indicating device-related information of the one or more master edge devices and the one or more task edge devices in a memory; receive task-related information of a task scheduled for allocation from a specific edge device; add the task-related information of the task scheduled for allocation to the task table; allocate a remaining task of the task table to an idle master edge device when it is identified that the number of idle master edge devices among the one or more master edge devices is equal to or greater than a predetermined number; and allocate the task scheduled for allocation to at least a part of the idle master edge device, an active master edge device, and an idle task edge device when it is identified that the number of idle master edge devices is less than the predetermined number. Various other embodiments are possible.
Need to check novelty before this filing date? Find Prior Art

Description

Fog device for task assignment scheduling and its operating method

[0001] Various embodiments of the present invention relate to a fog device for task allocation scheduling and a method of operating the same.

[0002] The recent advancement of the Internet of Things (IoT) has led to an exponential increase in the number of diverse devices. This is generating massive amounts of diverse data and increasing network complexity. To address this, research on edge computing has been conducted. Edge computing is known as a technology that processes data using devices at the network edge where data is generated. Edge computing is limited by the limited processing power, memory, and storage capacity of these data-processing devices.

[0003] The present invention can reduce load by forming idle resources of edge devices located at the network end into a single cluster, and can provide a scheduling method for efficient work processing of edge devices by having a fog device analyze the frequency of use of edge devices and the work requested to the edge devices.

[0004] According to various embodiments, a fog device for task allocation scheduling includes a processor, wherein the processor is configured to store in a memory a task table indicating task-related information of at least one master edge device and at least one working edge device and a device table indicating device-related information of the at least one master edge device and the at least one working edge device, receive task-related information regarding a task to be allocated from a specific edge device, add the task-related information regarding the task to be allocated to the task table, and when it is determined that the number of idle master edge devices among the at least one master edge device is greater than or equal to a predetermined number, allocate remaining tasks in the task table to the idle master edge devices, and when it is determined that the number of idle master edge devices is less than the predetermined number, allocate the task to be allocated to at least some of the idle master edge devices, the active master edge devices, and the idle working edge devices.

[0005] The fog device according to various embodiments of the present invention can provide the effect of reducing power consumption of edge devices and shortening work time when completing the entire task, compared to the use of fixed edge devices, by freely assigning tasks to master edge devices and work edge devices in consideration of various conditions.

[0006] FIG. 1 illustrates the configuration of a work scheduling system according to various embodiments of the present invention.

[0007] FIG. 2 is a first flowchart illustrating a method for a fog device to assign tasks to a master edge device and a task edge device according to various embodiments.

[0008] FIG. 3 is a second flowchart illustrating a method for a fog device to assign tasks to a master edge device and a task edge device according to various embodiments.

[0009] FIG. 4 is a third flowchart illustrating a method for a fog device to assign tasks to a master edge device and a task edge device according to various embodiments.

[0010] FIG. 5 shows a graph comparing power usage and working time according to the ratio of master edge devices to working edge devices according to various embodiments.

[0011] Hereinafter, various embodiments of the present document will be described with reference to the attached drawings. It should be understood that the embodiments and the terms used therein are not intended to limit the technology described in the present document to a specific embodiment, but rather include various modifications, equivalents, and / or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar components. The singular expression may include plural expressions unless the context clearly indicates otherwise. In this document, expressions such as "A or B" or "at least one of A and / or B" may include all possible combinations of the items listed together. Expressions such as "first," "second," "first," or "second," may modify the corresponding components regardless of order or importance, and are only used to distinguish one component from another, but do not limit the corresponding components. When it is said that a component (e.g., a first component) is “(functionally or communicatively) connected” or “connected” to another component (e.g., a second component), said component may be directly connected to said other component, or may be connected via another component (e.g., a third component).

[0012] In this document, "configured to" may be used interchangeably with, for example, "suitable for," "capable of," "modified to," "made to," "capable of," or "designed to," either in hardware or software. In some contexts, the phrase "a device configured to" may mean that the device is "capable of" doing something together with other devices or components. For example, the phrase "a processor configured to perform A, B, and C" may mean a dedicated processor (e.g., an embedded processor) for performing the operations, or a general-purpose processor (e.g., a CPU or application processor) that can perform the operations by executing one or more software programs stored in a memory device.

[0013]

[0014] FIG. 1 illustrates the configuration of a work scheduling system according to various embodiments of the present invention.

[0015] According to various embodiments, the job scheduling system (100) may include an edge device (101), a fog device (102), and a cloud device (103).

[0016] Cloud computing (or cloud devices (103)) refers to processing and accessing data over the Internet, rather than on hard drives or local servers. Edge computing (or edge devices (101)) is a distributed computing model that collects data at the edge of the network and processes that data in real time. Fog computing (or fog devices (102)) may seem very similar to edge computing because it involves moving processing closer to where the data is collected, but instead, the data is sent from the collection point to a gateway for processing and then back to the edge for action. Fog computing uses edge devices and gateways with LANs for processing, and combines the ability to run applications at the edge with cloud capacity, acting as a bridge and connecting the cloud and the edge.

[0017] Fog computing distributes the performance and storage capabilities of cloud computing to the edge of the computing network in local areas (e.g., hospitals, homes, shopping malls, etc.), achieving high levels of data processing efficiency and latency. While fog computing primarily acts as an intermediary for local data processing and aggregation between cloud centers and the edge of the IoT infrastructure, edge computing, located at the edge of the computing network, relies on processing of things (connected objects) with standardized data processing capabilities. Edge devices (e.g., smartphones, smart objects, wearable devices, etc.) or edge devices (e.g., IoT gateways, edge routers, IoT sensors / devices, etc.) enable high-speed data processing and collection, significantly reducing response times for most real-time services and critical applications.

[0018] Edge devices can be composed of devices with different low-level computational capabilities and storage capacity. Edge devices can be connected to the same network to form a cluster. A cluster can consist of one master node (i.e., the master edge device) and multiple worker nodes (i.e., the working edge devices). When a task is requested from the master node, it can form a cluster with idle worker nodes to share resources and proceed with the task. Fog devices can efficiently manage the resources of edge devices and adjust the task schedule to perform learning. Fog devices can monitor the status of edge devices in real time by storing a task table containing task-related information of edge devices and a device table containing device-related information of edge devices. Fog devices can efficiently group idle edge devices to form a cluster and instruct appropriate tasks. Edge devices that form clusters can transmit collected and trained data to cloud devices, which can then store the received data. Meanwhile, if the edge devices lack sufficient resources to process tasks after forming clusters, making AI model training impossible, data can be transferred to a high-performance cloud for training.

[0019] The task scheduling system (100) according to the present invention can operate as follows with reference to FIG. 1. An edge device (101) (e.g., a master edge device or a task edge device) can transmit various types of data (e.g., model learning-related data) to a cloud device (103), and can transmit information related to tasks to be performed at the edge device and information related to the status of the edge device to a fog device (102). The edge device (101) can receive a new task request from a user or an external device, and can transmit information related to the newly requested task to the fog device (102). The fog device (102) can select an edge device (101) to which to assign the requested task and transmit a cluster building command to the corresponding edge device (101). Edge devices (101) can form a cluster to perform tasks assigned by fog devices (102), transmit data according to the task performance results to a cloud device (103), and transmit task-related information and device status-related information according to the task performance results to the fog device (102). The fog device (102) can manage the operation of the cluster of edge devices (101). The cloud device (103) can store data received from the edge devices (101) and perform learning of an artificial intelligence model using the data.

[0020] According to one embodiment, each of the edge device (101), the fog device (102), and the cloud device (103) may include at least one component among a processor, a memory, an input / output interface, a display, and a communication interface. Each device (101, 102, 103) may omit at least one of the components or may additionally include other components.

[0021] The processor may include one or more of a central processing unit, an application processor, or a communication processor (CP). The processor (120) may, for example, perform calculations or data processing related to control and / or communication of at least one other component of the device (101, 102, 103).

[0022] The memory may include volatile and / or non-volatile memory. The memory may store, for example, instructions or data related to at least one other component of the device (101, 102, 103). In one embodiment, the memory may store software and / or programs.

[0023] The input / output interface may, for example, transmit commands or data input from a user or another external device to other component(s) of the device (101, 102, 103), or output commands or data received from other component(s) of the device (101, 102, 103) to the user or another external device.

[0024] The display may include, for example, a liquid crystal display (LCD), a light emitting diode (LED) display, an organic light emitting diode (OLED) display, a micro electro mechanical systems (MEMS) display, or an electronic paper display. The display may, for example, display various content (e.g., text, images, videos, icons, and / or symbols) to a user. The display may include a touch screen and may receive touch, gesture, proximity, or hovering inputs, for example, using an electronic pen or a part of the user's body.

[0025] The communication interface can establish communication between, for example, each device (101, 102, 103) or between devices external to the devices (101, 102, 103). For example, the communication interface can be connected to a network via wireless communication or wired communication to communicate with an external device.

[0026]

[0027] FIG. 2 is a first flowchart illustrating a method for a fog device (e.g., fog device (102) of FIG. 1) to assign tasks to a master edge device and a task edge device according to various embodiments.

[0028] In operation 201, according to various embodiments, the fog device (102) (e.g., the processor of the fog device) may store in memory a task table indicating task-related information of at least one master edge device and at least one task edge device, and a device table indicating device-related information of at least one master edge device and at least one task edge device.

[0029] According to one embodiment, the task table stored in the fog device (102) may be configured as a plurality of attributes (fields), including an ID attribute, a task time attribute, a learning count attribute, a first complexity attribute, and a second complexity attribute. The ID attribute refers to a task instruction number (order). The task time attribute refers to the time taken when learning of a task is performed for one iteration. The learning count attribute refers to the number of learning repetitions (iterations). The first complexity attribute refers to the complexity of a convolution layer. The second complexity attribute refers to the complexity of a fully connected layer.

[0030] In one embodiment, the task table may include task-related information regarding tasks in progress on the edge device and tasks requested to the edge device. In one embodiment, the fog device (102) may create a separate task queue to check in real time tasks requested from the edge device (100) and scheduled for allocation. The order of tasks recorded in the task table may be recorded in the order in which the tasks are requested, i.e., first in first out. The manager of the fog device (102) may freely set the size of the task table (or separate task queue).

[0031] According to one embodiment, the device table stored in the fog device (102) may be configured as a plurality of attributes (fields), including an ID attribute, a work speed attribute, a device type attribute, a device status attribute, a remaining time attribute, and a remaining count attribute. The ID attribute refers to a unique identification number of the device (e.g., a device number). The work speed attribute refers to the performance of the CPU of the device (e.g., a work processing speed). The device type attribute refers to the type (class) of the device and refers to information about whether the device is a master edge device or a work edge device. The device status attribute indicates whether the device is operating, and if the devices form a cluster, indicates the cluster number. The remaining time attribute refers to the remaining time of a task in progress on the device. The remaining count attribute refers to the remaining count of a task in progress on the device. According to one embodiment, the fog device (102) may set the type of the edge device as a master edge device or a work edge device based on the work processing speed of the CPU of the device. According to one embodiment, the manager of the fog device (102) can freely set the ratio of master edge devices and working edge devices for all edge devices.

[0032] In operation 203, according to various embodiments, the fog device (102) (e.g., the processor of the fog device) may receive task-related information regarding a task to be assigned from a specific edge device. The fog device (102) may receive task-related information regarding a task to be assigned requested by a user or an external device from the specific edge device via an internal communication interface. The task-related information may be configured based on the attribute format of the task table and transmitted to the fog device (102).

[0033] In operation 205, according to various embodiments, the fog device (102) (e.g., the processor of the fog device) may add task-related information regarding the task to be assigned to a task table.

[0034] In operation 207, according to various embodiments, the fog device (102) (e.g., the processor of the fog device) may check whether the number of idle master edge devices among at least one master edge device is equal to or greater than a predetermined number. An idle edge device may mean an edge device that is not currently processing a task and is waiting in an idle state, and an active edge device may mean an edge device that is currently processing a task. The fog device (102) may check the number of idle master edge devices among at least one master edge device based on a device type attribute and a device status attribute of a device table, and may determine whether the number of idle master edge devices is equal to or greater than a predetermined number.

[0035] In operation 209, according to various embodiments, if the fog device (102) (e.g., the processor of the fog device) determines that the number of idle master edge devices is greater than or equal to a predetermined number, the fog device may assign the remaining backlog of the work table to the idle master edge devices. As a method of assigning work to the idle master edge devices, a specific description of operation 209 will be described in detail through operations 301 to 309 of FIG. 3. The remaining work in the work table may indicate information about at least one of a work currently being processed by the edge device or a work before being assigned to the edge device (i.e., a work to be assigned). According to one embodiment, the predetermined number may be two and may be freely set by the administrator of the fog device (102).

[0036] In operation 211, according to various embodiments, if the fog device (102) (e.g., the processor of the fog device) determines that the number of idle master edge devices is less than a predetermined number, the fog device may assign a scheduled task to at least some of the idle master edge devices, the active master edge devices, and the idle work edge devices. As a method of assigning a task to at least some of the idle master edge devices, the active master edge devices, and the idle work edge devices, a specific description of operation 211 will be described in detail through operations 401 to 425 of FIG. 4.

[0037]

[0038] FIG. 3 is a second flowchart illustrating a method for a fog device (e.g., fog device (102) of FIG. 1) to assign tasks to a master edge device and a task edge device according to various embodiments.

[0039] According to various embodiments, the fog device (102) may perform operations 301 to 309 below when it is determined that the number of idle master edge devices among at least one master edge device is greater than or equal to a predetermined number.

[0040] In operation 301, according to various embodiments, the fog device (102) (e.g., the processor of the fog device) may determine whether there are other tasks to be processed in the work table other than the task scheduled for assignment. That is, the fog device (102) may determine whether the work table only contains task-related information regarding the task scheduled for assignment received from a specific edge device.

[0041] In operation 303, according to various embodiments, the fog device (102) (e.g., the processor of the fog device) may, based on the presence of only the tasks to be allocated in the work table, build a cluster of idle master edge devices and allocate the tasks to be allocated to the cluster if no other tasks exist in the work table other than the tasks to be allocated.

[0042] In operation 305, according to various embodiments, the fog device (102) (e.g., the processor of the fog device) may determine whether the number of idle master edge devices is less than the number of remaining tasks in the work table, if there are other tasks in addition to the tasks scheduled to be assigned to the work table.

[0043] In operation 307, according to various embodiments, the fog device (102) (e.g., a processor of the fog device) may assign remaining tasks to idle master edge devices until the number of remaining tasks is equal to the number of idle master edge devices, based on the number of idle master edge devices being less than the number of remaining tasks in the work table.

[0044] According to one embodiment, the fog device (102) can determine whether the number of idle master edge devices is less than the number of remaining tasks in the work table after assigning a predetermined time interval or a specific number of remaining tasks.

[0045] In operation 309, according to various embodiments, the fog device (102) (e.g., the processor of the fog device) may assign the remaining tasks to the idle master edge devices based on the working time of the remaining tasks and the performance of the idle master edge devices, based on whether the number of idle master edge devices is greater than or equal to the number of remaining tasks in the work table.

[0046] According to one embodiment, the fog device (102) can check the work time attribute of the remaining tasks in the work table and the work speed attribute of the idle master edge device in the device table, and the more the remaining task takes a long time, the more the remaining task can be assigned to the idle master edge device with the fastest work speed. In other words, the fog device (102) can assign the remaining task with the longest work time to the idle master edge device with the fastest work speed.

[0047] According to one embodiment, if there are no more idle master edge devices to assign remaining tasks to after performing operation 309, the fog device (102) may assign remaining tasks to idle task edge devices according to operations 409 to 425 of FIG. 4.

[0048]

[0049] FIG. 4 is a third flowchart illustrating a method for a fog device (102) to assign tasks to a master edge device and a task edge device according to various embodiments.

[0050] According to various embodiments, the fog device (102) may perform operations 401 to 425 below when it is determined that the number of idle master edge devices among at least one master edge device is less than a predetermined number.

[0051] In operation 401, according to various embodiments, the fog device (102) (e.g., the processor of the fog device) may check whether there is only one idle master edge device in the device table.

[0052] In operation 403, according to various embodiments, if the fog device (102) (e.g., the processor of the fog device) determines that there is no idle master edge device, it may determine whether there is at least one active master edge device among the at least one master edge device whose work time of the currently ongoing task is greater than the work time of the scheduled task.

[0053] In operation 405, according to various embodiments, the fog device (102) (e.g., the processor of the fog device) may assign a scheduled task to an activity master edge device having the shortest task time among at least one activity master edge device, if at least one activity master edge device exists.

[0054] In operation 407, according to various embodiments, the fog device (102) (e.g., the processor of the fog device) may assign a scheduled task to an idle task edge device if there is no at least one active master edge device.

[0055] In operation 409, according to various embodiments, when the fog device (102) (e.g., the processor of the fog device) determines that there is only one idle master edge device among at least one master edge device, the fog device (102) may determine through the device table whether the number of idle working edge devices among at least one working edge device is less than a first predetermined number. For example, the fog device (102) may determine whether the number of idle working edge devices among at least one working edge device is less than a first predetermined number (e.g., w3).

[0056] In operation 411, according to various embodiments, the fog device (102) (e.g., the processor of the fog device) may assign a scheduled task to one of the idle master edge devices based on the number of idle working edge devices among at least one working edge device being less than a first predetermined number.

[0057] In operation 413, according to various embodiments, the fog device (102) (e.g., the processor of the fog device) may determine whether the number of idle working edge devices is greater than or equal to a first predetermined number and less than a second predetermined number. In this case, the second predetermined number (e.g., w2) may be greater than the first predetermined number (e.g., w3).

[0058] In operation 415, according to various embodiments, the fog device (102) (e.g., the processor of the fog device) may assign a scheduled task to a predetermined first number of idle work edge devices based on the number of idle work edge devices being greater than or equal to a predetermined first number and less than a predetermined second number.

[0059] In operation 417, according to various embodiments, the fog device (102) (e.g., the processor of the fog device) may determine whether the number of idle working edge devices is greater than or equal to a second predetermined number and less than a third predetermined number. In this case, the third predetermined number (e.g., w1) may be greater than the second predetermined number (e.g., w2).

[0060] In operation 419, according to various embodiments, the fog device (102) (e.g., the processor of the fog device) may determine whether the first final complexity of the task to be assigned is greater than the average of the second final complexities of the remaining tasks in the task table based on the number of idle task edge devices being greater than or equal to a second predetermined number and less than or equal to a third predetermined number.

[0061] According to one embodiment, the fog device (102) can calculate a first final complexity of a task to be assigned according to the formula of [Mathematical Formula 1] and a second final complexity of a remaining task of the task table.

[0062] [Mathematical Formula 1]

[0063]

[0064] Here, C in equation (1) i is the complexity of the convolutional layer of the task, L is the number of convolutional layers, F is the length of the feature map, K is the kernel size, N is the number of filters, and in equation (2), F i is the complexity of the fully connected layer of the task, U l represents the number of neural units, i in equation (3) represents the total number of learning iterations, and O represents the final complexity.

[0065] According to one embodiment, the fog device (102) can calculate an average of the second final complexities by dividing the sum of the second final complexities of the remaining tasks by the number of remaining tasks.

[0066] In operation 421, according to various embodiments, the fog device (102) (e.g., the processor of the fog device) may assign a scheduled task to a predetermined second number of idle task edge devices when the first final complexity is greater than the average of the second final complexities.

[0067] According to one embodiment, the fog device (102) may assign scheduled tasks to a predetermined first number of idle task edge devices when the first final complexity is less than the average of the second final complexities.

[0068] In operation 423, according to various embodiments, the fog device (102) (e.g., the processor of the fog device) may determine whether the first final complexity of the task to be assigned is greater than the average of the second final complexities of the remaining tasks in the task table based on whether the number of idle task edge devices is greater than or equal to a predetermined third number. The method for obtaining the first final complexity and the second final complexity may utilize the method described in operation 419.

[0069] In operation 425, according to various embodiments, the fog device (102) (e.g., the processor of the fog device) may allocate a scheduled task to a predetermined third number of idle work edge devices, if the first final complexity is greater than the average of the second final complexities, based on the number of idle work edge devices being equal to or greater than a predetermined third number.

[0070] According to one embodiment, the fog device (102) can assign the scheduled task to a predetermined second number of idle work edge devices, based on the number of idle work edge devices being equal to or greater than a predetermined third number, if the first final complexity is less than the average of the second final complexities.

[0071]

[0072] FIG. 5 shows a graph comparing power usage and working time according to the ratio of master edge devices to working edge devices according to various embodiments.

[0073] The graph for performance verification in Fig. 5 was conducted in the following simulation environment.

[0074] 1. Common conditions

[0075] - Total number of edge devices: 10

[0076] - Number of requested tasks: 50

[0077] 2. Comparison conditions

[0078] - Condition 1: Assign 1 master edge device and 9 working edge devices.

[0079] - Condition 2: Allocate 10 master edge devices

[0080] - Condition 3: 30% master edge device ratio, 70% task edge device ratio allocation

[0081] - Condition 4: 50% master edge device ratio, 50% task edge device ratio allocation

[0082] As shown in the graph, it can be seen that setting up an appropriate master edge device can have the effect of reducing power consumption and the number of operations.

[0083]

[0084] According to various embodiments, a fog device for task allocation scheduling includes a processor, wherein the processor is configured to store in a memory a task table indicating task-related information of at least one master edge device and at least one working edge device and a device table indicating device-related information of the at least one master edge device and the at least one working edge device, receive task-related information regarding a task to be allocated from a specific edge device, add the task-related information regarding the task to be allocated to the task table, and when it is determined that the number of idle master edge devices among the at least one master edge device is greater than or equal to a predetermined number, allocate remaining tasks in the task table to the idle master edge devices, and when it is determined that the number of idle master edge devices is less than the predetermined number, allocate the task to be allocated to at least some of the idle master edge devices, the active master edge devices, and the idle working edge devices.

[0085] According to various embodiments, the processor may be configured to, when it is determined that the number of idle master edge devices among the at least one master edge device is greater than or equal to the predetermined number: based on the existence of only the tasks to be allocated in the task table, build the idle master edge devices into a cluster and allocate the tasks to be allocated to the cluster; based on the number of idle master edge devices being less than the number of remaining tasks in the task table, allocate the remaining tasks to the idle master edge devices until the number of remaining tasks is equal to the number of idle master edge devices; and based on the number of idle master edge devices being greater than or equal to the number of remaining tasks, compare the working time from the task table and allocate the remaining tasks to the idle master edge devices according to the working time of the remaining tasks and the performance of the idle master edge devices.

[0086] According to various embodiments, the processor may be configured to determine whether there is at least one activity master edge device among the at least one master edge device, the activity master edge device having a work time of a currently ongoing task longer than a work time of the scheduled task (Ei), if the at least one activity master edge device exists, allocate the scheduled task to the activity master edge device having the shortest work time of the currently ongoing task among the at least one activity master edge device, and allocate the scheduled task to an idle auxiliary edge device if the at least one activity master edge device does not exist.

[0087] According to various embodiments, the processor may be configured to: when it is determined that the number of idle master edge devices is 1: allocate the task to be allocated to the idle master edge device, which exists based on the number of idle working edge devices among the at least one working edge device being less than a first predetermined number; and allocate the task to be allocated to the first predetermined number of idle working edge devices based on the number of idle working edge devices being greater than or equal to the first predetermined number and less than a second predetermined number.

[0088] According to various embodiments, the processor may be configured to: when it is confirmed that the number of the idle master edge devices is 1: calculate a first final complexity of the task to be allocated and a second final complexity of the remaining task of the task table according to the formula of [Mathematical Formula 1] based on whether the number of the idle task edge devices is greater than or equal to the second predetermined number and less than or equal to the third predetermined number; and, when the first final complexity is greater than the average of the second final complexities, allocate the task to be allocated to the second predetermined number of idle task edge devices; and, when the first final complexity is less than the average of the second final complexities, allocate the task to be allocated to the first predetermined number of idle task edge devices.

[0089] [Mathematical Formula 1]

[0090]

[0091] (1) C in equation i is the complexity of the convolutional layer of the task, L is the number of convolutional layers, F is the length of the feature map, K is the kernel size, N is the number of filters, and in equation (2), F i is the complexity of the fully connected layer of the task, Ul represents the number of neural units, i in equation (3) represents the total number of learning iterations, and O represents the final complexity.

[0092] According to various embodiments, the processor may be configured to: when the number of idle master edge devices is determined to be 1: allocate the to-be-allocated task to the third predetermined number of idle work edge devices if the first final complexity is greater than the average of the second final complexities, and to allocate the to-be-allocated task to the second predetermined number of idle work edge devices if the first final complexity is less than the average of the second final complexities, based on the number of idle work edge devices being equal to or greater than the third predetermined number.

[0093]

[0094] The term "module" as used in this document includes a unit composed of hardware, software, or firmware, and can be used interchangeably with terms such as logic, logic block, component, or circuit, for example. A "module" can be an integrally composed component or a minimum unit or a part thereof that performs one or more functions. A "module" can be implemented mechanically or electronically, and can include, for example, an application-specific integrated circuit (ASIC) chip, field-programmable gate arrays (FPGAs), or a programmable logic device, known or to be developed in the future, that performs certain operations. At least a portion of a device (e.g., modules or functions thereof) or a method (e.g., operations) according to various embodiments can be implemented as instructions stored in a computer-readable storage medium (e.g., memory (130)) in the form of a program module. When the instructions are executed by a processor (e.g., processor (120)), the processor can perform a function corresponding to the instructions. The computer-readable recording medium may include a hard disk, a floppy disk, a magnetic medium (e.g., magnetic tape), an optical recording medium (e.g., CD-ROM, DVD, magneto-optical medium (e.g., floptical disk), an internal memory, etc. The instructions may include codes generated by a compiler or codes executable by an interpreter. A module or program module according to various embodiments may include at least one or more of the above-described components, some of which may be omitted, or other components may be further included. Operations performed by a module, a program module, or other components according to various embodiments may be executed sequentially, in parallel, iteratively, or heuristically, or at least some operations may be executed in a different order, omitted, or other operations may be added.

[0095] The embodiments disclosed in this document are presented for the purpose of explaining and understanding the disclosed technical content, and do not limit the scope of the present disclosure. Therefore, the scope of the present disclosure should be interpreted to include all modifications or various other embodiments based on the technical concepts of the present disclosure.

Claims

1. In a fog device for task allocation scheduling, Contains a processor, The above processor, Store a task table representing task-related information of at least one master edge device and at least one task edge device, and a device table representing device-related information of the at least one master edge device and the at least one task edge device, Receives task-related information about tasks scheduled to be assigned from a specific edge device; Add work-related information about the above-mentioned assigned work to the above-mentioned work table, If it is confirmed that the number of idle master edge devices among the at least one master edge device is greater than a predetermined number, the remaining work of the work table is assigned to the idle master edge device, and If it is confirmed that the number of the above idle master edge devices is less than the above predetermined number, the task scheduled for allocation is set to be assigned to at least some of the above idle master edge devices, the activity master edge devices, and the idle task edge devices. Fog device.

2. In paragraph 1, The above processor, If it is confirmed that the number of idle master edge devices among the at least one master edge device is greater than or equal to the predetermined number: based on the existence of only the tasks to be allocated in the task table, the idle master edge devices are built into a cluster and the tasks to be allocated are allocated to the cluster, Based on the number of the idle master edge devices being less than the number of remaining tasks in the work table, allocating the remaining tasks to the idle master edge devices until the number of the remaining tasks is equal to the number of the idle master edge devices, and Based on the number of the idle master edge devices being greater than or equal to the number of the remaining tasks, the work time is compared from the work table, and the remaining tasks are set to be allocated to the idle master edge devices according to the work time of the remaining tasks and the performance of the idle master edge devices. Fog device.

3. In paragraph 2, The above processor, If it is confirmed that there is no idle master edge device, it is determined whether there is at least one active master edge device among the at least one master edge device whose working time of the currently ongoing task is longer than the working time of the task to be allocated (Ei), If at least one activity master edge device exists, the task to be assigned is assigned to the activity master edge device having the shortest work time among the at least one activity master edge device, and If at least one of the above activity master edge devices does not exist, the assignment scheduled task is set to be assigned to an idle auxiliary edge device. Fog device.

4. In paragraph 3, The above processor, If you have verified that the number of idle master edge devices is 1: Allocating the assignment-to-be-allocated task to one of the idle master edge devices based on the number of idle working edge devices among the at least one working edge device being less than a first predetermined number, and Based on the number of the above idle work edge devices being greater than or equal to the first predetermined number and less than or equal to the second predetermined number, the assignment scheduled task is set to be assigned to the first predetermined number of idle work edge devices. Fog device.

5. In paragraph 4, The above processor, If you have verified that the number of idle master edge devices is 1: Based on the number of the above idle work edge devices being greater than or equal to the second predetermined number and less than or equal to the third predetermined number, the first final complexity of the work scheduled to be allocated and the second final complexity of the remaining work of the work table are calculated according to [Mathematical Formula 1], If the first final complexity is greater than the average of the second final complexity, the scheduled task is assigned to the second predetermined number of idle task edge devices, and If the first final complexity is less than the average of the second final complexity, the task scheduled for allocation is set to be allocated to the idle task edge devices as many as the first predetermined number. Fog device. [Mathematical formula 1] (1) C in equation i is the complexity of the convolutional layer of the task, L is the number of convolutional layers, F is the length of the feature map, K is the kernel size, N is the number of filters, and in equation (2), F i is the complexity of the fully connected layer of the task, U l represents the number of neural units, i in equation (3) represents the total number of learning iterations, and O represents the final complexity.

6. In paragraph 5, The above processor, If you have verified that the number of idle master edge devices is 1: Based on the number of the idle work edge devices being greater than or equal to the third predetermined number, if the first final complexity is greater than the average of the second final complexities, the task to be allocated is allocated to the third predetermined number of idle work edge devices, and If the first final complexity is less than the average of the second final complexity, the task scheduled for allocation is set to be allocated to the second predetermined number of idle task edge devices. Fog device.

Citation Information

Patent Citations

  • Secondary battery

    KR1020250051888A

  • High functional polyurea resin paints composition for waterproof coating layer and manufacturing method

    KR102312381B1

  • Method for monitoring anomaly about abuse of private information and device for monitoring anomaly about abuse of private information

    KR102373936B1

  • Task Execution By Idle Resources In Grid Computing System

    US20150007185A1