A computer implemented method of transferring an execution of a task executed on behalf of a client device between edge nodes operated by different operators, comprising: using at least one processor of a destination edge node of a plurality of edge nodes deployed at an edge of a network for: receiving a request to provide computing services to at least one client device currently served by an origin edge node of the plurality of edge nodes, the origin edge node is operated by a first operator and the destination edge node is operated by a second operator; receiving an edge identifier of the origin edge node and a task identifier of at least one task currently executed by the origin edge node for the at least one client device; communicating with the origin edge node identified by the edge identifier to obtain task information relating to the at least one task identified by the task identifier in at least one registry shared by the first and second operators to map the task identifier to the at least one task, the task information comprising state or status information for use by the destination node to resume execution of the task when the task is transferred from the origin node; connecting to the at least one client device; and executing the at least one task for the at least one client device using the obtained task information, wherein the at least one client device queries the destination edge node for its resource availability for execution of the at least one task before disconnecting from the origin edge node and connecting to the destination edge node, the resource availability comprising at least one of: availability of software program code required for executing the at least one task, computing resources availability, storage resources availability, network resources availability, and wherein the at least one client device queries the destination edge node for a cost of at least one of its resources allocated for the execution of the at least one task before disconnecting from the origin edge node and connecting to the destination edge node based on the resource availability thereof. using at least one processor of a destination edge node of a plurality of edge nodes deployed at an edge of a network for: receiving a request to provide computing services to at least one client device currently served by an origin edge node of the plurality of edge nodes, the origin edge node is operated by a first operator and the destination edge node is operated by a second operator; receiving an edge identifier of the origin edge node and a task identifier of at least one task currently executed by the origin edge node for the at least one client device; communicating with the origin edge node identified by the edge identifier to obtain task information relating to the at least one task identified by the task identifier in at least one registry shared by the first and second operators to map the task identifier to the at least one task, the task information comprising state or status information for use by the destination node to resume execution of the task when the task is transferred from the origin node; connecting to the at least one client device; and executing the at least one task for the at least one client device using the obtained task information, receiving a request to provide computing services to at least one client device currently served by an origin edge node of the plurality of edge nodes, the origin edge node is operated by a first operator and the destination edge node is operated by a second operator; receiving an edge identifier of the origin edge node and a task identifier of at least one task currently executed by the origin edge node for the at least one client device; communicating with the origin edge node identified by the edge identifier to obtain task information relating to the at least one task identified by the task identifier in at least one registry shared by the first and second operators to map the task identifier to the at least one task, the task information comprising state or status information for use by the destination node to resume execution of the task when the task is transferred from the origin node; connecting to the at least one client device; and executing the at least one task for the at least one client device using the obtained task information, wherein the at least one client device queries the destination edge node for its resource availability for execution of the at least one task before disconnecting from the origin edge node and connecting to the destination edge node, the resource availability comprising at least one of: availability of software program code required for executing the at least one task, computing resources availability, storage resources availability, network resources availability, and wherein the at least one client device queries the destination edge node for a cost of at least one of its resources allocated for the execution of the at least one task before disconnecting from the origin edge node and connecting to the destination edge node based on the resource availability thereof.