CN112748992A - Electronic device, method and storage medium for migrating tasks - Google Patents

Electronic device, method and storage medium for migrating tasks Download PDF

Info

Publication number
CN112748992A
CN112748992A CN201911051191.3A CN201911051191A CN112748992A CN 112748992 A CN112748992 A CN 112748992A CN 201911051191 A CN201911051191 A CN 201911051191A CN 112748992 A CN112748992 A CN 112748992A
Authority
CN
China
Prior art keywords
task
electronic device
module
application
modules
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911051191.3A
Other languages
Chinese (zh)
Other versions
CN112748992B (en
Inventor
庞涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN201911051191.3A priority Critical patent/CN112748992B/en
Publication of CN112748992A publication Critical patent/CN112748992A/en
Application granted granted Critical
Publication of CN112748992B publication Critical patent/CN112748992B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The present disclosure relates to an electronic device, a method, and a storage medium for migrating tasks. According to an aspect of the present disclosure, a first electronic device is provided. The first electronic device may include at least one processor and memory. The memory has stored therein executable instructions that, when executed by the processor, implement service agent functionality. The service broker functions may include: receiving a request to migrate a first task of a first module of an application while the application is running, wherein the application comprises a plurality of modules, the first task of at least a first module of the plurality of modules being migratable to a second electronic device to execute thereon, and the task of at least a second module of the plurality of modules being non-migratable; and managing migration of the first task of the application to the second electronic device.

Description

Electronic device, method and storage medium for migrating tasks
Technical Field
The present disclosure relates to mobile edge computing, and more particularly, to techniques for migrating tasks between electronic devices, particularly between user devices and mobile edge computing devices.
Background
The Mobile Edge Computing (MEC) brings the advantages of low time delay, low power consumption and high reliability by providing an IT service environment and cloud computing capability at the edge of a mobile network, can be applied to the fields of traffic transportation systems, intelligent driving, real-time touch control, virtual reality/augmented reality (VR/AR) and the like, and is one of key technologies of next-generation wireless communication networks.
In the next generation wireless communication network, on one hand, in order to meet the network transmission requirement of a low-delay application scenario, an edge computing device needs to be deployed, and a cloud service is migrated to an edge closer to a user to realize the low-delay service. On the other hand, User Equipment (UE) (also referred to as a mobile terminal) may offload tasks with large local computation amount to the edge computing device, and the edge computing device returns the result to the UE after executing the tasks.
In the prior art, research has been conducted on scheduling decisions for migrating a task at a mobile terminal side to an MEC, that is, timings, rules, policies, and the like for migrating a task at a UE side to an MEC.
Disclosure of Invention
The following presents a simplified summary of the disclosure in order to provide a basic understanding of some aspects of the disclosure. However, it should be understood that this summary is not an exhaustive overview of the disclosure. It is not intended to identify key or critical elements of the disclosure or to delineate the scope of the disclosure. Its sole purpose is to present some concepts of the disclosure in a simplified form as a prelude to the more detailed description that is presented later.
According to an aspect of the present disclosure, a first electronic device is provided. The first electronic device may include at least one processor and memory. The memory has stored therein executable instructions that, when executed by the at least one processor, implement a service broker function, which may include: receiving a request to migrate a first task of a first module of an application while the application is running, wherein the application comprises a plurality of modules, the first task of at least a first module of the plurality of modules being migratable to a second electronic device to execute thereon, and the task of at least a second module of the plurality of modules being non-migratable; and managing migration of the first task of the application to the second electronic device.
According to another aspect of the present disclosure, a second electronic device is provided. The second electronic device may include at least one processor and memory. The memory has stored therein executable instructions that when executed by the at least one processor may perform operations comprising: receiving a service request from a task of a third module of an application while the application is running in the first electronic device, wherein the application includes a plurality of modules, a first task of at least a first module of the plurality of modules is migratable to a second electronic device for execution thereon, and a task of at least a second module of the plurality of modules is not migratable, and wherein the task of the third module is originally serviced by the first module; and providing services for tasks of a third module of the application.
According to another aspect of the present disclosure, a method for a first electronic device is provided. The method can comprise the following steps: receiving a request to migrate a first task of a first module of an application while the application is running, wherein the application comprises a plurality of modules, the first task of at least a first module of the plurality of modules being migratable to a second electronic device to execute thereon, and the task of at least a second module of the plurality of modules being non-migratable; and managing migration of the first task of the application to the second electronic device.
According to another aspect of the present disclosure, a method for a second electronic device is provided. The method can comprise the following steps: receiving a service request from a task of a third module of an application while the application is running in the first electronic device, wherein the application includes a plurality of modules, a first task of at least a first module of the plurality of modules is migratable to a second electronic device for execution thereon, and a task of at least a second module of the plurality of modules is not migratable, and wherein the task of the third module is originally serviced by the first module; and providing services for tasks of a third module of the application.
According to another aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium having stored thereon executable instructions that, when executed by a processor, cause the processor to perform a method according to the present disclosure.
According to another aspect of the present disclosure, an apparatus for communication is provided, which may include means for performing operations according to a method of the present disclosure.
According to one or more embodiments of the disclosure, the application program can be normally run under the condition that the first electronic device has no network, and the task of the transferable module of the application program can be migrated to the second electronic device to run when the task can be migrated; through the module decoupling design, the task migration of the application program of the first electronic device has more real operability, and the proper task can be migrated, so that the local calculation amount is reduced, the energy consumption is saved, and the application of task migration is optimized and accelerated.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the disclosure and together with the description, serve to explain the principles of the disclosure.
The present disclosure may be more clearly understood from the following detailed description with reference to the accompanying drawings, in which:
fig. 1 is a schematic diagram illustrating a first electronic device according to an embodiment of the present disclosure;
FIG. 2 is a schematic diagram illustrating a second electronic device, according to an embodiment of the present disclosure;
FIG. 3 is a schematic diagram illustrating a first module according to an embodiment of the present disclosure;
FIG. 4 is a schematic diagram illustrating a user device side virtual reality gaming application and service agent module, according to an embodiment of the present disclosure;
FIG. 5 is a flow diagram illustrating task migration of a virtual reality gaming application according to an embodiment of the present disclosure;
FIG. 6 is a schematic diagram illustrating a method for a first electronic device, in accordance with an embodiment of the present disclosure; and
fig. 7 is a schematic diagram illustrating a method for a second electronic device according to an embodiment of the present disclosure.
Detailed Description
Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that: the relative arrangement of the components and steps, the numerical expressions, and numerical values set forth in these embodiments do not limit the scope of the present disclosure unless specifically stated otherwise. The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the disclosure, its application, or uses. In all examples shown and discussed herein, any particular value should be construed as merely illustrative, and not limiting. Thus, other examples of the exemplary embodiments may have different values. Techniques, methods, and apparatus known to those of ordinary skill in the relevant art may not be discussed in detail but are intended to be part of the specification where appropriate.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, further discussion thereof is not required in subsequent figures.
The present disclosure provides an electronic device, method, and storage medium for decoupling modules of an application in a first electronic device according to tasks such that tasks of a migratable module therein can migrate to a second electronic device. In an embodiment, various types of functionality of a UE-side Application (APP) may be implemented as multiple modules, and the tasks of each module may be migratable or non-migratable. By decoupling individual modules, migration can be performed for individual modules or their tasks without regard to the overall migration of the APP. In the embodiment of the disclosure, the problems of privacy data leakage or large transmission data volume and the like do not exist.
Fig. 1 is a schematic diagram illustrating a first electronic device 100 according to an embodiment of the present disclosure.
In some embodiments, the first electronic device 100 may be or may include any device that can communicate over a network, such as a Personal Computer (PC), a telephone, a cellular telephone, a Personal Digital Assistant (PDA), a tablet device, a notebook device, a smart phone, a smart television, a voice assistant device, and so forth. In some embodiments, the first electronic device 100 may include at least one processor 101 and a memory 102.
The processor 101 provides various functions of the first electronic device 100. In some embodiments, the processor 101 is configured to perform a method 600 (see fig. 6) for the first electronic device 100. The processor 101 may be any processor such as a microprocessor, digital signal processor, microcontroller, multi-core processor, special purpose processor, interface for network communications, or the like. The processor 101 may execute various program instructions stored in the memory 102 to perform corresponding operations.
In some embodiments, the memory 102 has stored therein executable instructions that, when executed by the processor 101, implement the service agent functionality of the service agent module 103. The memory 102 may be any of various types of memory or storage devices. For example, memory 102 may include mounting media (e.g., CD-ROM, floppy disk, or tape devices), random access memory (such as DRAM, DDR RAM, SRAM, EDO RAM, Rambus RAM, etc.), non-volatile memory (such as flash memory, magnetic media, or optical storage), registers, or other similar types of memory elements, and so forth. The memory 102 may also include other types of memory or combinations thereof. In embodiments of the present disclosure, the memory 102 may store program instructions (e.g., instructions for performing corresponding operations) to implement methods in accordance with embodiments of the present disclosure in software, hardware, or a combination of software and hardware.
In some embodiments, application 104 may include multiple modules, such as a first module 105, a second module 106, a third module 107, and so forth. In some embodiments, at least the first module 104 is a migratable module, and at least a first task of the first module 104 can be migrated to a second electronic device 200 as illustrated in FIG. 2 and described below for execution thereon. In some embodiments, at least the second module 106 is a non-migratable module, and at least the tasks of the second module 106 are non-migratable. In some embodiments, tasks of the migratable module may include, but are not limited to: tasks that are computationally intensive, tasks that do not involve privacy disclosure, etc., tasks that are less costly to migrate, etc., or a combination thereof. In some embodiments, the tasks of the non-migratable module may include, but are not limited to: computationally inexpensive tasks, tasks that involve privacy disclosure issues (such as fingerprint authentication), migration expensive tasks (such as local video on demand), and the like, or combinations thereof.
In some embodiments, the service broker function may include receiving a request to migrate a first task of the first module 105 of the application while the application 104 is running.
In some embodiments, the service agent function may also include managing migration of the first task of the application 104 to the second electronic device 200.
In some embodiments, the service broker function may also include registering information for the first task of the first module 105 of the application 104 prior to the first module 105 running. In some embodiments, the information includes at least an interface address at which the first task of the first module 105 services tasks of other modules of the application 104 (such as the second module 106, the third module 107, and so on). In some embodiments, the information also includes local execution environment configuration information for the first task of the first module 105.
In some embodiments, the service broker function may further include sending a request to migrate the first task of the application 104 and the local run-time environment configuration information for the first task to the second electronic device 200.
In some embodiments, the service broker function may further comprise obtaining at least one of the following information: available resources at the second electronic device 200, network resources, resource requirements of the first task. In some embodiments, the service broker function further comprises evaluating the cost and feasibility of migrating the first task.
In some embodiments, the service agent module 103 managing migration of the first task of the application 104 to the second electronic device 200 may further include receiving a post-migration address for the first task from the second electronic device 200. In some embodiments, further modules may be included that service agent module 103 notifies application 104 of the post-migration address. In some embodiments, other modules of the application 104 may request the services of the first task through the post-migration address.
In some embodiments, the service agent module 103 may also apply various task scheduling decision methods to manage migration of the first task of the application 104 to the second electronic device 200, for example, a task migration and resource allocation joint optimization strategy, a task migration strategy based on game theory, a co-scheduling task migration mechanism, and the like.
In some embodiments, a migratable module of application 104, such as first module 105, may be implemented in a microservice architecture. In some embodiments, migratable modules may communicate with each other through a representational state transfer (RESTful) Application Program Interface (API). In some embodiments, each migratable task has an independent service interface address when running locally in first electronic device 100. In some embodiments, migratable modules may communicate with non-migratable modules via the RESTful API.
In some embodiments, the first electronic device 100 may be a user device. In some embodiments, the second electronic device 200 may be a server mobile edge computing device.
Fig. 2 is a schematic diagram illustrating a second electronic device 200 according to an embodiment of the present disclosure.
In some embodiments, the second electronic device 200 may be or may include any device that can communicate over a network, such as a mobile edge computing device deployed at the edge of a cloud, or the like; electronic devices such as Personal Computers (PCs), telephones, cellular telephones, Personal Digital Assistants (PDAs), tablet devices, notebook devices, smart phones, smart televisions, voice assistant devices, and the like may also be included. In some embodiments, the second electronic device 200 may include at least one processor 201 and memory 202.
The processor 201 provides various functions of the second electronic device 200. In some embodiments, the processor 201 is configured to perform a method 700 (see fig. 7) for the second electronic device 200. The processor 201 may be any of various types of processors. The processor 201 may execute various program instructions stored in the memory 202 to perform corresponding operations.
In some embodiments, memory 202 has stored therein executable instructions that, when executed by processor 201, perform corresponding functions. The memory 202 may be any of various types of memory or storage devices.
In some embodiments, second electronic device 200 may also have an APP lightweight communications and group (LCM) proxy module.
In some embodiments, the second electronic device 200 may receive a service request of a task from the third module 107 of the application 104 in a case where the application 104 in the first electronic device 100 is running. In some embodiments, application 104 may include multiple modules, such as a first module 105, a second module 106, a third module 107, and so forth. In some embodiments, at least the first module 104 may be a migratable module, and at least a first task of the first module 105 may be migrated to the second electronic device 200 for execution thereon. In some embodiments, at least the second module 106 may be a non-migratable module, with at least the tasks of the second module 106 being non-migratable. In some embodiments, the tasks of the third module 107 may be served by the first module 105.
In some embodiments, the second electronic device 200 may provide services for tasks of the third module 107 of the application 104.
In some embodiments, the second electronic device 200 may also provide the first electronic device 100 with the available resource status of the second electronic device 200.
In some embodiments, the second electronic device 200 may also receive a request from the first electronic device 100 to migrate the first task of the first module 105. In some embodiments, the second electronic device 200 may also receive the first electronic device 100 local running environment configuration information of the first task from the first electronic device 100.
In some embodiments, the second electronic device 200 may also provide the first electronic device 100 with a post-migration address for the first task.
In some embodiments, the first electronic device 100 may be a user device. In some embodiments, the second electronic device 200 may be a server mobile edge computing device. In some embodiments, the second electronic device 200 may be another user device.
Fig. 3 is a schematic diagram illustrating the first module 105 according to an embodiment of the present disclosure.
In some embodiments, the first module 105 may include a task description 301 for a first task. In some embodiments, the first module 105 may also include functional code 302 that implements the functionality of the first task, etc. In some embodiments, the first module 105 may further include a local runtime environment configuration 303 in which the first task runs in the first electronic device 100. The first module 105 communicates with other migratable and/or non-migratable modules through the RESTful API 304. A migratable module, such as the first module 105, provides services to the outside through the RESTful API 304.
The following detailed description of the task of migrating a portion of the migratable modules on an application to execution on a mobile edge computing device is described in detail, taking a virtual reality gaming application on the user device side as an example, with reference to fig. 4-5.
Fig. 4 is a schematic diagram illustrating a user device side virtual reality game application 401 and a service agent module 409 according to an embodiment of the present disclosure.
As shown in fig. 4, the UE 400 may include at least a VR game application 401 and a service agent module 409. The application 401 may include a number of modules, such as user login 402, game play 403, social interaction 404, gaming equipment 405, game foreground rendering 406, game background rendering 408, and game scene composition 407. Wherein, the modules of the game foreground rendering 406 and the game background rendering 408 can be migratable modules due to the large amount of calculation and no concern of factors such as user privacy data. The modules such as user login 402, game play 403, social interaction 404, game equipment 405, and game screen composition 407 may be non-migratable modules due to factors such as small computational load, and/or related to user privacy data, and/or output based modules related to user privacy data. The migratable module can be implemented according to the design principle of the microservice architecture. RESTful APIs may be used for communication between migratable modules, and between migratable and non-migratable modules. The non-migratable modules may communicate with each other using the RESTful API, or may communicate in a manner that is commonly used by conventional tightly coupled software processes.
The service agent module 409, in communication with the VR game application and the mobile edge computing device, may perform management or scheduling functions including, but not limited to: registration of migratable modules may be managed; may receive the request and send a migration request to the mobile edge computing device; migration of the migratable modules may be evaluated; local and mobile edge computing device addressing management can be performed on the migratable modules; and can coordinate, schedule resources of the network, mobile edge computing devices. The details will be described in conjunction with fig. 5.
The process of migrating tasks of a portion of a migratable module of an application to execution on a mobile edge computing device is described in further detail below in conjunction with a flowchart.
Fig. 5 is a flow diagram illustrating task migration of a virtual reality gaming application 401 according to an embodiment of the present disclosure.
The migratable modules may include a game foreground rendering 406 and a game background rendering 408 module. As shown in fig. 5, in S501, the game foreground rendering 406 and the game background rendering 408 module register with the service agent module 409, and the information provided by the registration may include but is not limited to: the tasks of the game foreground rendering 406 and game background rendering 408 modules serve the tasks of the other modules (e.g., in this example, the game visual composition 407), the interface addresses (e.g., Localhost:1234), and the local runtime environment configuration information of the tasks of the game foreground rendering 406 and game background rendering 408 modules.
In S502, when the VR game application 401 is running, the game foreground rendering 406 may send a request for migrating the game foreground rendering 406 to the service agent module 409 when the game foreground rendering 406 module needs to be migrated.
In S503, the service agent module 409 may send a request for migrating the game foreground rendering 406 to the mobile edge computing device 501 along with its local execution environment configuration information and query the network/mobile edge computing device for available resources.
In S504, the mobile edge computing device 501 may feed back its available resources to the service broker module 409.
In S505, the service agent module 409 may evaluate the cost and feasibility of migrating the game foreground rendering 406 according to the available resources of the network/mobile edge computing device and the resources required for the game foreground rendering, etc.
In S506, for example, where the evaluation result is feasible, the service agent module 409 may notify the mobile edge computing device 501 of the runtime environment for preparing the task, which may be based on the runtime environment configuration of the task received in S503 in the VR game application.
In S507, the mobile edge computing device 501 may prepare a runtime environment for the game foreground rendering task.
In 508, the mobile edge computing device 501 may send a post-migration address (e.g., MECIP:4321) for the game foreground rendering to the service agent module 409 and notify that the game foreground rendering may be ready to be migrated to the mobile edge computing device 501.
In 509, the service agent module 409, after receiving and saving the post-migration address from the mobile edge computing device 501, may notify the other modules of the post-migration address (e.g., in this example, the game screen composition 407) and notify the game foreground rendering 406 that it is ready to migrate.
In S510, the task of the game foreground rendering 406 may be migrated to the mobile edge computing device 501 as the game foreground rendering 406 a. The game frame composition 407 of the service that originally requested the game foreground rendering 406 through the local service interface address (e.g., Localhost:1234) no longer requests the service from the locally running game foreground rendering, but requests the service directly from the corresponding task 406a of the mobile edge computing device through the post-migration address (e.g., MECIP: 4321).
In S511, the moving edge computing device 501 may transmit the data after the execution of the game foreground rendering 406a is completed to the game screen composition 407.
To avoid unnecessarily obscuring embodiments of the disclosure, the embodiments do not refer to further details of security verification, error handling, etc. of service cross-calls. The present disclosure may not be limited in this respect.
Fig. 6 is a schematic diagram illustrating a method 600 for the first electronic device 100, in accordance with an embodiment of the present disclosure.
In some embodiments, the method 600 may comprise receiving, by the service broker module 103, a request for migrating the first task of the first module 105 of the application 104, in step S601, with the application 104 in the first electronic device 100 running. In some embodiments, the application 104 includes a plurality of modules, a first task of at least a first module 105 of the plurality of modules being migratable to a second electronic device 200 for execution thereon, a task of at least a second module 106 of the plurality of modules being non-migratable.
In some embodiments, the method 600 may further include managing, by the service agent module 103, the migration of the first task of the application 104 to the second electronic device 200 in step S602.
In some embodiments, the method 600 may further include registering information for the first task of the first module 105 of the application 104 prior to the first module 105 running. In some embodiments, the information includes at least an interface address at which the first task of the first module 105 services tasks of other modules of the application 104 (such as the second module 106, the third module 107, and so on). In some embodiments, the information also includes local execution environment configuration information for the first task of the first module 105.
In some embodiments, the method 600 may further include sending, by the service broker module, the request to migrate the first task of the application 104 and the local execution environment configuration information for the first task to the second electronic device 200.
In some embodiments, the method 600 may further include obtaining, by the service broker module 103, at least one of: available resources at the second electronic device 200, network resources, resource requirements of the first task. In some embodiments, the method 600 may further include evaluating, by the service broker module 103, the cost and feasibility of migrating the first task.
In some embodiments, step S602 may further include receiving, by the service agent module 103, a post-migration address for the first task from the second electronic device 200. In some embodiments, step S602 may further include notifying other modules of the application 104 of the post-migration address by the service agent module 103. In some embodiments, method 600 may also include other modules of application 104 requesting the service of the first task via the post-migration address.
In some embodiments, the method 600 may further include applying, by the service agent module 103, various task scheduling decision methods to manage migration of the first task of the application 104 to the second electronic device 200, for example, a task migration and resource allocation joint optimization strategy, a game theory-based task migration strategy, a co-scheduled task migration mechanism, and the like.
In some embodiments, a migratable module of application 104, such as first module 105, may be implemented in a microservice architecture. In some embodiments, migratable modules may communicate with each other through a representational state transfer (RESTful) Application Program Interface (API). In some embodiments, each migratable task has an independent service interface address when running locally in first electronic device 100. In some embodiments, migratable modules may communicate with non-migratable modules via the RESTful API.
In some embodiments, the first electronic device 100 may be a user device. In some embodiments, the second electronic device 200 may be a server mobile edge computing device.
Fig. 7 is a schematic diagram illustrating a method 700 for the second electronic device 200, according to an embodiment of the disclosure.
In some embodiments, the method 700 may include receiving, by the second electronic device 200, a service request for a task from the third module 107 of the application 104 in step S701 with the application in the first electronic device 100 running. In some embodiments, application 104 includes a plurality of modules, a first task of at least a first module 105 of the plurality of modules being migratable to a second electronic device to execute thereon, a task of at least a second module 106 of the plurality of modules being non-migratable, and wherein a task of a third module 107 could be served by the first module 105.
In some embodiments, the method 700 may further include providing, by the second electronic device 200, a service for a task of the third module of the application in step S702.
In some embodiments, the method 700 may further include providing, by the second electronic device 200, to the first electronic device 100, an available resource status of the second electronic device 200.
In some embodiments, step S702 may further include receiving, by the second electronic device 200, a request from the first electronic device 100 to migrate the first task of the first module 105. In some embodiments, step S702 may further include the first electronic device 100 receiving the first task from the first electronic device 100 by the second electronic device 200 running the environment configuration information locally.
In some embodiments, step S702 may further include providing, by the second electronic device 200, the post-migration address for the first task to the first electronic device 100.
In some embodiments, the first electronic device 100 may be a user device. In some embodiments, the second electronic device 200 may be a server mobile edge computing device. In some embodiments, the second electronic device 200 may be another user device.
All of the features disclosed in this specification, or all of the steps in any method or process so disclosed, may be combined in any combination, except combinations of features and/or steps that are mutually exclusive.
Aspects of the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects all of which may be referred to herein generally as a "circuit," module "or" system. Any combination of one or more computer-readable storage media may be used. The computer readable storage medium may be a computer readable signal medium or a computer readable storage medium.
A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The present disclosure, in various embodiments, configurations, and aspects, includes components, methods, processes, systems and/or apparatus substantially as depicted and described herein, including various embodiments, subcombinations, and subsets thereof. Those of skill in the art will understand how to make and use the systems and methods disclosed herein after understanding the present disclosure. In various embodiments, configurations, and aspects, the disclosure includes providing apparatuses and processes in the absence of items not depicted and/or described herein or in various embodiments, configurations, or aspects hereof, including in the absence of items that may have been used in previous apparatuses or processes, e.g., for improving performance, achieving ease and/or reducing cost of implementation.
Any feature disclosed in this specification (including any accompanying claims, abstract) may be replaced by alternative features serving equivalent or similar purposes, unless expressly stated otherwise. That is, unless expressly stated otherwise, each feature is only an example of a generic series of equivalent or similar features.
Moreover, although the description of the present disclosure has included description of one or more embodiments, configurations, or aspects, certain variations and modifications, other variations, combinations, and modifications are within the scope of the disclosure, e.g., as may be within the skill and knowledge of those in the art, after understanding the present disclosure. The present disclosure is intended to obtain rights which include alternative embodiments, configurations, or aspects to the extent permitted, including alternate, interchangeable and/or equivalent structures, functions, ranges or steps to those claimed, whether or not such alternate, interchangeable and/or equivalent structures, functions, ranges or steps are specifically set forth herein. Nothing herein is intended to publicly dedicate any patentable technical solution.

Claims (19)

1. A first electronic device, comprising:
at least one processor; and
a memory having executable instructions stored therein that, when executed by the at least one processor, implement a service broker function comprising:
receiving a request to migrate a first task of a first module of an application while the application is running, wherein the application comprises a plurality of modules, the first task of at least a first module of the plurality of modules being migratable to a second electronic device to execute thereon, and the task of at least a second module of the plurality of modules being non-migratable; and
managing migration of a first task of an application to a second electronic device.
2. The first electronic device of claim 1, wherein the service agent function further comprises: before a first module of an application program runs, registering information of a first task of the first module, wherein the information at least comprises interface addresses of the first task of the first module for providing services for tasks of other modules of the application program and local running environment configuration information of the first task of the first module.
3. The first electronic device of claim 1, wherein the service agent function further comprises: a request to migrate a first task of an application and local run environment configuration information for the first task are sent to a second electronic device.
4. The first electronic device of claim 3, wherein the service agent function further comprises:
obtaining at least one of the following information: available resources at the second electronic device, network resources, resource requirements of the first task; and
the cost and feasibility of migrating the first task are evaluated.
5. The first electronic device of claim 1, wherein managing migration of the first task of the application to the second electronic device comprises:
receiving a post-migration address for the first task from the second electronic device; and
and notifying other modules of the application program of the migrated address, wherein the other modules of the application program request the service of the first task through the migrated address.
6. The first electronic device of claim 1, wherein the at least first modules that are task migratable are implemented in a micro service architecture and communicate with each other through a restful api, each migratable task having an independent service interface address when running locally in the first electronic device.
7. A second electronic device, comprising:
at least one processor; and
a memory having stored therein executable instructions that when executed by the at least one processor perform operations comprising:
receiving a service request from a task of a third module of an application while the application is running in the first electronic device, wherein the application includes a plurality of modules, a first task of at least a first module of the plurality of modules is migratable to a second electronic device for execution thereon, and a task of at least a second module of the plurality of modules is not migratable, and wherein the task of the third module is originally serviced by the first module; and
providing services for tasks of a third module of the application.
8. The second electronic device of claim 7, wherein the operations further comprise at least one of:
providing, to a first electronic device, an available resource condition at a second electronic device;
receiving a request from a first electronic device to migrate a first task of a first module; or
The first electronic device is provided with a post-migration address for the first task.
9. The second electronic device of any of claims 7-8, wherein the first electronic device is a user device and the second electronic device is a server mobile edge computing device.
10. A method for a first electronic device, the method comprising:
receiving a request to migrate a first task of a first module of an application while the application is running, wherein the application comprises a plurality of modules, the first task of at least a first module of the plurality of modules being migratable to a second electronic device to execute thereon, and the task of at least a second module of the plurality of modules being non-migratable; and
managing migration of a first task of an application to a second electronic device.
11. The method of claim 10, further comprising: before a first module of an application program runs, registering information of a first task of the first module, wherein the information at least comprises interface addresses of the first task of the first module for providing services for tasks of other modules of the application program and local running environment configuration information of the first task of the first module.
12. The method of claim 10, wherein the request to migrate the first task of the application and the native operating environment configuration information for the first task are sent to the second electronic device.
13. The method of claim 12, further comprising:
obtaining at least one of the following information: available resources at the second electronic device, network resources, resource requirements of the first task; and
the cost and feasibility of migrating the first task are evaluated.
14. The method of claim 10, wherein managing migration of the first task of the application to the second electronic device comprises:
receiving a post-migration address for the first task from the second electronic device; and
and notifying other modules of the application program of the migrated address, wherein the other modules of the application program request the service of the first task through the migrated address.
15. A method for a second electronic device, comprising:
receiving a service request from a task of a third module of an application while the application is running in the first electronic device, wherein the application includes a plurality of modules, a first task of at least a first module of the plurality of modules is migratable to a second electronic device for execution thereon, and a task of at least a second module of the plurality of modules is not migratable, and wherein the task of the third module is originally serviced by the first module; and
providing services for tasks of a third module of the application.
16. The method of claim 15, further comprising at least one of:
providing, to a first electronic device, an available resource condition at a second electronic device;
receiving a request from a first electronic device to migrate a first task of a first module; or
The first electronic device is provided with a post-migration address for the first task.
17. The method of any of claims 15-16, wherein the first electronic device is a user device and the second electronic device is a server mobile edge computing device.
18. A non-transitory computer readable storage medium having stored thereon executable instructions that, when executed by a processor, perform the method of any one of claims 10 to 17.
19. An apparatus for communication, the apparatus comprising means for performing operations of the method of any of claims 10 to 17.
CN201911051191.3A 2019-10-31 2019-10-31 Electronic device, method and storage medium for migrating tasks Active CN112748992B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911051191.3A CN112748992B (en) 2019-10-31 2019-10-31 Electronic device, method and storage medium for migrating tasks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911051191.3A CN112748992B (en) 2019-10-31 2019-10-31 Electronic device, method and storage medium for migrating tasks

Publications (2)

Publication Number Publication Date
CN112748992A true CN112748992A (en) 2021-05-04
CN112748992B CN112748992B (en) 2024-03-01

Family

ID=75641469

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911051191.3A Active CN112748992B (en) 2019-10-31 2019-10-31 Electronic device, method and storage medium for migrating tasks

Country Status (1)

Country Link
CN (1) CN112748992B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140359053A1 (en) * 2013-05-29 2014-12-04 International Business Machines Corporation Coordinating Application Migration Processes
CN105630587A (en) * 2014-10-31 2016-06-01 腾讯科技(深圳)有限公司 Method, device and system for migrating application program data between terminals
CN108509276A (en) * 2018-03-30 2018-09-07 南京工业大学 A kind of video task dynamic migration method in edge calculations environment
CN109286645A (en) * 2017-07-21 2019-01-29 中兴通讯股份有限公司 A kind of moving method and device of business
CN110347500A (en) * 2019-06-18 2019-10-18 东南大学 For the task discharging method towards deep learning application in edge calculations environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140359053A1 (en) * 2013-05-29 2014-12-04 International Business Machines Corporation Coordinating Application Migration Processes
CN105630587A (en) * 2014-10-31 2016-06-01 腾讯科技(深圳)有限公司 Method, device and system for migrating application program data between terminals
CN109286645A (en) * 2017-07-21 2019-01-29 中兴通讯股份有限公司 A kind of moving method and device of business
CN108509276A (en) * 2018-03-30 2018-09-07 南京工业大学 A kind of video task dynamic migration method in edge calculations environment
CN110347500A (en) * 2019-06-18 2019-10-18 东南大学 For the task discharging method towards deep learning application in edge calculations environment

Also Published As

Publication number Publication date
CN112748992B (en) 2024-03-01

Similar Documents

Publication Publication Date Title
US11934341B2 (en) Virtual RDMA switching for containerized
US10412021B2 (en) Optimizing placement of virtual machines
US9086897B2 (en) Method and architecture for virtual desktop service
WO2017066936A1 (en) Mobile edge compute dynamic acceleration assignment
US20180210752A1 (en) Accelerator virtualization method and apparatus, and centralized resource manager
US9843534B2 (en) Method and apparatus for managing provisioning and utilization of resources
Kosta et al. {Clone2Clone}({{{{{C2C)}}}}}:{Peer-to-Peer} Networking of Smartphones on the Cloud
US9854045B2 (en) Generic cloud enabling of stateful applications
US9276860B2 (en) Distributed data center technology
KR20110002810A (en) Securely using service providers in elastic computing systems and environments
CN113239377B (en) Authority control method, device, equipment and storage medium
US20170171301A1 (en) Method, device and system for load balancing configuration
US12015603B2 (en) Multi-tenant mode for serverless code execution
US11747986B2 (en) Container-based cloud service providing system and method therefor
Sahu et al. Mobile cloud computing: Issues and challenges
WO2022143464A1 (en) Method and apparatus for determining transmission delay, and device and storage medium
CN108293047B (en) System and method for accessing resources by a user across multiple distributed computing networks
CN115237589A (en) SR-IOV-based virtualization method, device and equipment
US20140073370A1 (en) Method of mobile device resource reuse in mobile cloud
CN114296953A (en) Multi-cloud heterogeneous system and task processing method
US11576181B2 (en) Logical channel management in a communication system
US9253056B2 (en) System to enhance performance, throughput and reliability of an existing cloud offering
CN112748992B (en) Electronic device, method and storage medium for migrating tasks
CN110611622B (en) Method for load balancing, network interface card and computer readable medium
Ionescu Resource management in mobile cloud computing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant