A computer-implemented method for dynamically allocating off-peak edge computing resources, comprising: receiving, in an edge computing center (120, 121, 122, 251), a request for using the off-peak edge computing resources to perform a sub task for a secondary edge service (142, 145) from a task scheduler (110, 210); allocating, by the edge computing center, the off-peak edge computing resources to the secondary edge service (142, 145) if the off-peak edge computing resources are available; in response to an increase in a primary edge services workload, reallocating, by the edge computing center (120, 121, 122, 251), at least a portion of the off-peak edge computing resources from the secondary edge service (142, 145) to the primary edge services if the off-peak edge computing resources allocated to primary edge services are insufficient for performing the primary edge services, wherein detecting the increase in the primary edge services workload comprises receiving a message, by the edge computing center (120, 121, 122, 251), from a server running the primary edge services indicating the primary edge services workload has exceeded a workload threshold; monitoring, by the edge computing center (120, 121, 122, 251), the primary edge services workload of the edge computing resources; and providing, by the edge computing center (120, 121, 122, 251), information about the primary edge services workload to the task scheduler (110, 210); wherein the edge computing center (120, 121, 122, 251) periodically sends to a global resource manager of the task scheduler (110, 210) a primary edge services workload information of resources being used for the primary edge services; wherein the received request is based on workload patterns determined by the task scheduler (110, 210) based on the primary edge services workload information periodically provided by the edge computing center (120, 121, 122, 251), wherein the workload patterns are used to predict time-slots in which the edge computing resources are in off-peak state using historical primary edge services workload information; wherein the off-peak edge computing resources are allocated to the secondary edge service (142, 145) when the global resource manager of the task scheduler (110, 210) determines that the edge computing resources are in off-peak state, wherein the off-peak edge computing resources are in off-peak state if a utilization rate of the edge computing resources is below a threshold; and wherein the task scheduler (110, 210) monitors a workload status of a plurality of edge computing centers (120, 121, 122, 251) to determine primary edge service workload patterns of the edge computing resources in each of the edge computing centers (120, 121, 122, 251). receiving, in an edge computing center (120, 121, 122, 251), a request for using the off-peak edge computing resources to perform a sub task for a secondary edge service (142, 145) from a task scheduler (110, 210); allocating, by the edge computing center, the off-peak edge computing resources to the secondary edge service (142, 145) if the off-peak edge computing resources are available; in response to an increase in a primary edge services workload, reallocating, by the edge computing center (120, 121, 122, 251), at least a portion of the off-peak edge computing resources from the secondary edge service (142, 145) to the primary edge services if the off-peak edge computing resources allocated to primary edge services are insufficient for performing the primary edge services, wherein detecting the increase in the primary edge services workload comprises receiving a message, by the edge computing center (120, 121, 122, 251), from a server running the primary edge services indicating the primary edge services workload has exceeded a workload threshold; monitoring, by the edge computing center (120, 121, 122, 251), the primary edge services workload of the edge computing resources; and providing, by the edge computing center (120, 121, 122, 251), information about the primary edge services workload to the task scheduler (110, 210); wherein the edge computing center (120, 121, 122, 251) periodically sends to a global resource manager of the task scheduler (110, 210) a primary edge services workload information of resources being used for the primary edge services; wherein the received request is based on workload patterns determined by the task scheduler (110, 210) based on the primary edge services workload information periodically provided by the edge computing center (120, 121, 122, 251), wherein the workload patterns are used to predict time-slots in which the edge computing resources are in off-peak state using historical primary edge services workload information; wherein the off-peak edge computing resources are allocated to the secondary edge service (142, 145) when the global resource manager of the task scheduler (110, 210) determines that the edge computing resources are in off-peak state, wherein the off-peak edge computing resources are in off-peak state if a utilization rate of the edge computing resources is below a threshold; and wherein the task scheduler (110, 210) monitors a workload status of a plurality of edge computing centers (120, 121, 122, 251) to determine primary edge service workload patterns of the edge computing resources in each of the edge computing centers (120, 121, 122, 251).