Methods, apparatus, devices, and computer-readable media for creating local clouds

By creating a local cloud within the local area network, selecting the master device, and assigning tasks, the problem of insufficient device resources is solved, enabling efficient utilization of device resources, meeting the processing needs of immersive technologies, and reducing latency and costs.

CN116530057BActive Publication Date: 2025-11-14TENCENT AMERICA LLC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202280007509.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2022-10-19
Filing Date
2022-10-21
Publication Date
2025-11-14
Estimated Expiration
2042-10-21

AI Technical Summary

Technical Problem

Existing technologies using immersive technologies suffer from limitations in device processing power, storage capacity, and energy consumption, leading to increased computational latency and device weight. In particular, resources are insufficient under high processing demands, making it unsuitable for future device requirements.

Method used

A local cloud is created by multiple user devices within a local area network. A master device is selected and slave devices are selected based on resource availability. Resources are shared and tasks are assigned to form a local cloud, utilizing the excess processing and storage capacity of the devices.

Benefits of technology

It enables efficient use of device resources within a local area network, reduces computing latency, lowers device weight and cost, and meets the processing needs of immersive technologies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116530057B_ABST
    Figure CN116530057B_ABST
Patent Text Reader

Abstract

A method is used to: receive requests for creating a local cloud within a local area network (LAN) from multiple user devices; select a master device from the multiple user devices through one of the user devices; and select one or more devices from the multiple user devices based on resource availability; request each of the one or more user devices to share its resources for the local cloud through the master device; and configure the one or more devices as the local cloud through the master device. The master device receives service requests for services to be performed by the local cloud, and assigns multiple tasks corresponding to the services to the one or more devices configured as the local cloud based on the resource availability of the one or more devices.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references to related applications

[0002] This application is based on and claims priority to U.S. Provisional Patent Application No. 63 / 271,611, filed October 25, 2021, and U.S. Patent Application No. 17 / 969,230, filed October 19, 2022, the disclosures of which are incorporated herein by reference in their entirety. Technical Field

[0003] This invention relates to the field of cloud computing, and more specifically, to a method, apparatus, device, and computer-readable medium for creating a local cloud. Background Technology

[0004] Cloud computing can be defined as on-demand access to computing resources, applications, servers, data storage, development tools, and networking capabilities via the internet, hosted in remote data centers managed by a cloud services provider (CSP). Typically, cloud computing is offered as a subscription-based service. By reducing costs associated with purchasing and installation, cloud-based subscriptions help lower resource costs. Cloud-based subscriptions can improve flexibility and time value, and can be more easily scaled up in a cost-effective manner.

[0005] With the number of internet-connected devices continuing to grow exponentially, the concepts of the Internet of Things (IoT), Artificial Intelligence (AI), Machine Learning (MI), and immersive media are receiving increasing attention. Performing computations at data centers or cloud servers (e.g., in geographically different locations) may not be an efficient approach because such computations require significant bandwidth to move data from users to the cloud or data center and back, and also introduce latency.

[0006] Edge computing brings computing power closer to users by placing resources at the network edge, thereby reducing network latency, lowering bandwidth requirements for the upper-layer cloud, enhancing reliability, and reducing costs. Edge computing enables data to be computed closer to users, rather than traveling greater distances through multiple hops and relying on cloud networks.

[0007] Key benefits that network operators can expect from using edge computing include: real-time dynamic computing being closer to the user, thus reducing latency; lower costs due to less load being requested by the user on cloud servers; and higher quality of experience (QoE) due to servers being closer to the user for faster service delivery.

[0008] However, immersive technologies such as Lightfield, Augmented Reality (AR), and Virtual Reality (VR) require high-end hardware. These applications need real-time video streaming to identify specific objects, and some may even need to generate new video frames. Therefore, these applications may require significant processing power and storage to give users the feeling of being in a truly immersive environment. Currently, there are approximately 46 billion devices, projected to jump to 125 billion by 2030. Many of these devices have excess storage and processing power that can be used by other devices.

[0009] Therefore, the current challenges of using immersive technologies are processing power, storage capacity, energy consumption, and device weight. All these challenges become more problematic due to the heavy processing demands of applications running on the device. For example, immersive technologies requiring users to wear headsets may result in an uncomfortable experience due to the weight of the device. Furthermore, high processing power makes devices—including light field devices that heavily rely on GPUs to meet application requirements—more expensive. In other words, with limited device resource availability, processing tasks requiring more resources than available increase computational latency. Therefore, there is a gap between the capabilities of current technologies and future requirements. Summary of the Invention

[0010] According to some implementations, a method for creating a local cloud can be provided, the method comprising: receiving a request for creating a local cloud within a local area network (LAN) via a plurality of user devices; selecting a master device from the plurality of user devices via one of the user devices; selecting one or more devices from the plurality of user devices via the master device based on the resource availability of each of the user devices; requesting each of the one or more devices to share its resources for the local cloud via the master device; configuring the one or more devices as the local cloud via the master device; receiving a service request for a service to be performed by the local cloud via the master device; and assigning a plurality of tasks corresponding to the service to the one or more devices configured as the local cloud based on the resource availability of the one or more devices.

[0011] According to an exemplary embodiment, an apparatus for creating a local cloud can be provided, the apparatus comprising: at least one memory configured to store computer program code; and at least one processor configured to access the at least one memory and operate as instructed by the computer program code. The computer program code includes: first receiving code configured to cause at least one processor to receive a request for creating a local cloud within a local area network (LAN) via a plurality of user devices; first selection code configured to cause at least one processor to select a master device from the plurality of user devices via one of the user devices; second selection code configured to cause at least one processor to select one or more devices from the plurality of user devices via the master device based on the resource availability of each of the user devices; request code configured to cause at least one processor to request each of the one or more user devices via the master device to share the device's resources for the local cloud; configuration code configured to cause at least one processor to configure the one or more devices as a local cloud via the master device; second receiving code configured to cause at least one processor to receive a service request for a service to be performed by the local cloud via the master device; and allocation code configured to cause at least one processor to allocate a plurality of tasks corresponding to the service to the one or more devices configured as a local cloud based on the resource availability of the one or more devices.

[0012] According to an exemplary embodiment, an apparatus for creating a local cloud can be provided, the apparatus comprising: a first receiving module for receiving, via a plurality of user devices within a local area network (LAN), a request for creating a local cloud within the LAN; a first selection module for selecting a master device from the plurality of user devices via one of the user devices; a second selection module for selecting one or more devices from the plurality of user devices via the master device based on the resource availability of each of the plurality of user devices; a request module for requesting, via the master device, each of the one or more user devices to share the resources of the device for the local cloud; a configuration module for configuring the one or more devices as the local cloud via the master device; a second receiving module for receiving, via the master device, a service request for a service to be performed by the local cloud; and an allocation module for allocating a plurality of tasks corresponding to the service to the one or more devices configured as the local cloud based on the resource availability of the one or more devices.

[0013] According to some embodiments, a non-transitory computer-readable recording medium may be provided, having instructions stored thereon that, when executed by at least one processor, cause the processor to perform the following operations: receiving a request for creating a local cloud in a local area network (LAN) from among a plurality of user equipments; selecting a master device from among the plurality of user equipments by one of the user equipments; selecting one or more devices from among the plurality of user equipments by the master device based on the resource availability of each of the user equipments; requesting each of the one or more devices to share the resources of the device for the local cloud by the master device; configuring the one or more devices as the local cloud by the master device; receiving a service request for a service to be performed by the local cloud by the master device; and assigning a plurality of tasks corresponding to the service to the one or more devices configured as the local cloud based on the resource availability of the one or more devices.

[0014] According to the technical solution of the present invention, upon receiving a request to create a local cloud in a LAN, a master device can be selected by a user equipment. Then, the master device selects one or more devices based on the resource availability of the user equipment, requests these devices to share their resources for the local cloud, configures the one or more devices as the local cloud, and receives service requests for services to be performed by the local cloud. Finally, based on the resource availability of the one or more devices, multiple tasks corresponding to the services are assigned to the one or more devices configured as the local cloud. Thus, a master device-slave device connection can be formed using the master device to allocate tasks. Therefore, the local cloud, together with the master device-slave device connection, can be used to provide edge cloud services, such as performing image processing tasks or performing any task for any device within a local area cloud network. In this way, excess storage and processing power of devices can be utilized, thereby meeting the requirements of immersive technology. Attached Figure Description

[0015] The features, advantages, and significance of exemplary embodiments of this disclosure will now be described with reference to the accompanying drawings, in which similar reference numerals denote similar elements, and wherein:

[0016] Figure 1 This is a diagram of an example environment in which the systems and / or methods described in this paper can be implemented;

[0017] Figure 2 yes Figure 1 A diagram of example components of one or more devices;

[0018] Figure 3 This is a diagram of an example local area network;

[0019] Figure 4This is a diagram of a master-slave device connection according to some implementation methods;

[0020] Figure 5 This is a schematic diagram illustrating the master-slave device connection and task allocation according to some implementation methods;

[0021] Figure 6 These are schematic diagrams of a computer system according to some implementation methods; and

[0022] Figure 7 This is a flowchart of a method for using a LAN as a service for edge cloud, according to some implementation methods. Detailed Implementation

[0023] This disclosure describes methods and apparatus for using a Local Area Network (LAN) as an edge cloud service by utilizing the processing power of devices within a local network. The processing power of multiple devices connected within the LAN can be used to create a local cloud server. A master (device) is selected from multiple devices (slave devices), and the master device can be used to form a master-slave connection for task allocation. Therefore, the local cloud, together with the master-slave connection, can be used to provide edge cloud services.

[0024] Figure 1 This is a diagram of an environment 100 in which the methods, apparatus and systems described herein can be implemented according to an embodiment.

[0025] like Figure 1 As shown, environment 100 may include user equipment 110, platform 120, and network 130. Devices in environment 100 may be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections.

[0026] User equipment 110 may include one or more devices capable of receiving, generating, storing, processing, and / or providing information associated with platform 120. For example, user equipment 110 may include computing devices (e.g., desktop computers, laptop computers, tablet computers, handheld computers, smart speakers, servers, etc.), mobile phones (e.g., smartphones, cordless phones, etc.), wearable devices (e.g., smart glasses or smartwatches), or similar devices. In some embodiments, user equipment 110 may receive information from platform 120 and / or send information to platform 120.

[0027] Platform 120 may include one or more devices as described elsewhere herein. In some embodiments, platform 120 may include a cloud server or a group of cloud servers. In some embodiments, platform 120 may be designed to be modular, allowing software components to be swapped in or out. Therefore, platform 120 can be easily and / or quickly reconfigured for different purposes.

[0028] In some implementations, as shown, platform 120 may be hosted in a cloud computing environment 122. It is worth noting that while the implementations described herein depict platform 120 as hosted in a cloud computing environment 122, in some implementations, platform 120 may not be cloud-based (e.g., it may be implemented outside of a cloud computing environment) or may be partially cloud-based.

[0029] The cloud computing environment 122 may include the environment of the hosting platform 120. The cloud computing environment 122 can provide services such as computing, software, data access, and storage, which do not require the end user (e.g., user device 110) to know the physical location and configuration of the systems and / or devices of the hosting platform 120. As shown, the cloud computing environment 122 may include a set of computing resources 124 (collectively referred to as "computing resources 124" and individually referred to as "computing resources 124").

[0030] Computing resources may include one or more personal computers 124-a, workstation computers 124-b, server devices 124-c, or other types of computing and / or communication devices 124-d. In some embodiments, computing resource 124-d may host platform 120. Cloud resources may include: computing instances executed in computing resource 124-c; storage devices provided in computing resource 124-b; data transmission devices provided by computing resource 124-a, etc. In some embodiments, computing resource 124-d may communicate with other computing resources 124-a via wired connections, wireless connections, or a combination of wired and wireless connections.

[0031] For example, further Figure 1 As shown, computing resources 124 may include a set of cloud resources, such as one or more applications (“Application, APP”) 124-1, one or more virtual machines (“Virtual Machine, VM”) 124-2, virtualized storage devices (“Virtualized Storage, VS”) 124-3, one or more hypervisors (“Hypervisor, HYP”) 124-4, etc.

[0032] Application 124-1 may include one or more software applications that can be provided to or accessed by user equipment 110 and / or platform 120. Application 124-1 may eliminate the need to install and execute software applications on user equipment 110. For example, application 124-1 may include software associated with platform 120 and / or any other software that can be provided via cloud computing environment 122. In some implementations, an application 124-1 may send information to or receive information from one or more other applications 124-1 via virtual machine 124-2.

[0033] Virtual machine 124-2 may include a software implementation of a machine (e.g., a computer) that executes programs like a physical machine. Virtual machine 124-2 may be a system virtual machine or a process virtual machine, depending on the extent to which virtual machine 124-2 uses and corresponds to any real machine. A system virtual machine may be a complete system platform that supports the execution of a complete operating system (“OS”). A process virtual machine may execute a single program and may support a single process. In some implementations, virtual machine 124-2 may execute on behalf of a user (e.g., user device 110) and may manage the infrastructure of cloud computing environment 122, such as data management, synchronization, or long-duration data transfer.

[0034] Virtualized storage device 124-3 may include one or more storage systems and / or one or more devices that utilize virtualization technology within the storage system or device of computing resource 124. In some embodiments, within the context of the storage system, the type of virtualization may include block virtualization and file virtualization. Block virtualization may refer to the extraction (or separation) of logical storage relative to physical storage, enabling access to the storage system regardless of physical storage or heterogeneous architecture. Separation can allow storage system administrators flexibility in how they manage storage for end users. File virtualization can eliminate the dependency between data accessed at the file level and the location where the files are physically stored. This can enable performance optimization for storage usage, server consolidation, and / or non-disruptive file migration.

[0035] Hypervisor 124-4 can provide hardware virtualization technology that allows multiple operating systems (e.g., "guest operating systems") to run simultaneously on a host computer such as computing resource 124. Hypervisor 124-4 can present a virtual operating platform to the guest operating system and manage the execution of the guest operating system. Multiple instances of various operating systems can share virtualized hardware resources.

[0036] Network 130 may include one or more wired and / or wireless networks. For example, network 130 may include cellular networks (e.g., fifth-generation (5G) networks, long-term evolution (LTE) networks, third-generation (3G) networks, code division multiple access (CDMA) networks, etc.), public land mobile networks (PLMNs), local area networks (LANs), wide area networks (WANs), metropolitan area networks (MANs), telephone networks (e.g., public switched telephone networks (PSTNs)), private networks, self-organizing networks, intranets, the Internet, fiber-optic networks, etc., and / or combinations of these or other types of networks.

[0037] Figure 1 The number and arrangement of devices and networks shown are provided as examples. In practice, with... Figure 1 Compared to the equipment and / or networks shown, there may be additional equipment and / or networks, fewer equipment and / or networks, different equipment and / or networks, or equipment and / or networks arranged differently. Furthermore, Figure 1 The two or more devices shown can be implemented within a single device, or Figure 1 The single device shown can be implemented as multiple distributed devices. Alternatively or alternatively, a group of devices in environment 100 (e.g., one or more devices) can perform one or more operations described as being performed by another group of devices in environment 100.

[0038] Figure 2 yes Figure 1 A block diagram of example components of one or more devices.

[0039] Device 200 may correspond to user device 110 and / or platform 120. For example... Figure 2 As shown, device 200 may include bus 210, processor 220, memory 230, storage unit 240, input unit 250, output unit 260 and communication interface 270.

[0040] Bus 210 may include components that allow communication between parts of device 200. Processor 220 is implemented in hardware, firmware, or a combination of hardware and software. Processor 220 may be a Central Processing Unit (CPU), Graphics Processing Unit (GPU), Accelerated Processing Unit (APU), microprocessor, microcontroller, Digital Signal Processor (DSP), Field-Programmable Gate Array (FPGA), Application-Specific Integrated Circuit (ASIC), or another type of processing unit. In some embodiments, processor 220 may include one or more processors that can be programmed to perform operations. Memory 230 may include Random Access Memory (RAM), Read Only Memory (ROM), and / or another type of dynamic or static storage device (e.g., flash memory, magnetic memory, and / or optical memory) that stores information and / or instructions for use by processor 220.

[0041] Storage component 240 stores information and / or software related to the operation and use of device 200. For example, storage component 240 may include hard disks (e.g., magnetic disks, optical disks, magneto-optical disks, and / or solid-state drives), compact discs (CDs), digital versatile discs (DVDs), floppy disks, cassette tapes, magnetic tapes, and / or other types of non-transitory computer-readable media and corresponding drives.

[0042] Input component 250 may include components that allow device 200 to receive information, for example, via user input (e.g., a touchscreen display, keyboard, keypad, mouse, button, switch, and / or microphone). Alternatively or additionally, input component 250 may include sensors for sensing information (e.g., a Global Positioning System (GPS) component, accelerometer, gyroscope, and / or actuator). Output component 260 may include components that provide output information from device 200 (e.g., a display, speaker, and / or one or more light-emitting diodes (LEDs)).

[0043] Communication interface 270 may include transceiver-like components (e.g., transceiver and / or separate receiver and transmitter) that enable device 200 to communicate with other devices, for example, via a wired connection, a wireless connection, or a combination of wired and wireless connections. Communication interface 270 may allow device 200 to receive information from another device and / or provide information to another device. For example, communication interface 270 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, etc.

[0044] Device 200 can perform one or more of the processes described herein. Device 200 can perform these processes based on software instructions stored in non-transitory computer-readable media such as memory 230 and / or storage unit 240, executed by processor 220. Computer-readable media are defined herein as non-transitory memory devices. Memory devices may include memory space within a single physical storage device or memory space distributed across multiple physical storage devices.

[0045] Software instructions can be read from another computer-readable medium or from another device into memory 230 and / or storage unit 240 via communication interface 270. When executed, the software instructions stored in memory 230 and / or storage unit 240 can cause processor 220 to perform one or more processes described herein. Alternatively or alternatively, hardwired circuitry can be used in place of or in combination with software instructions to perform one or more processes described herein. Therefore, the embodiments described herein are not limited to any particular combination of hardware circuitry and software.

[0046] Figure 2 The number and arrangement of the components shown are provided as an example. In practice, with... Figure 2 Compared to the components shown, device 200 may include additional components, fewer components, different components, or components arranged differently. Alternatively or additionally, a group of components of device 200 (e.g., one or more components) may perform one or more operations described as being performed by another group of components of device 200.

[0047] Embodiments of this disclosure relate to methods and apparatus for using devices in a local area network (LAN) as edge cloud services by utilizing the processing power of those devices.

[0048] On average, a typical household has about 10 devices connected to the internet, which can include mobile devices, tablets, laptops, and other smart devices that may also connect. Assuming a typical household has 3 smartphones, 2 tablets, and 2 laptops, and each device utilizes 50% of its storage and computing resources, then the typical household will still have a significant amount of available resources to run a local edge cloud.

[0049] Figure 3 An example LAN network is shown, in which gateway router 380 is configured as a gateway router for LAN 310, and different devices 1 to 6 (e.g., devices 320, 330, 340, 350, 360, 370) are connected to the network.

[0050] In some implementations, resources from multiple devices within LAN 310 can be used to create a local cloud server. In cloud computing, the term "cloud" refers to a large number of computing system resources distributed across multiple locations or data centers but working together and sharing resources to provide public services (data storage, etc.) without direct active management by users. As used herein, the term "local cloud" refers to a cloud located within a local area network (LAN) where multiple devices within the LAN share resources and capabilities to provide public services without direct active management by users. For example, the available processing power of multiple devices within the LAN can be used to create a local cloud. Therefore, a local cloud can refer to a cloud created by local devices connected to or communicatively coupled within the LAN via wired, wireless, or a combination of wired and wireless connections. For example, as... Figure 3 The available resources of the various local devices (e.g., devices 320, 330, 340, 360, 370) connected within LAN 310 can be used to create a cloud operating locally (referred to as a "local cloud"). The implementation is not limited to this configuration and can be achieved by establishing a local cloud using other devices / servers.

[0051] The configuration of a local cloud server can include designating any device on the local network as the master device 370 (via any election protocol). The master device 370 will be responsible for registering other devices within the LAN. The master device can also manage task assignments to those devices, including migrations within the LAN for various participating / slave devices. The terms "device" and "slave device" are used interchangeably to refer to any device within the LAN.

[0052] The designation of a master device is not limited to election protocols. Therefore, various methods of designating a master device can exist.

[0053] For example, a router can designate a device in the network as the master device based on any election protocol, which can use the device's computing resources as a parameter for decision-making. A router can also act as the master device if it has sufficient available resources.

[0054] Any device that initiates processing in the network can also choose itself as the master device, or it can initiate an election protocol to select the master device.

[0055] The master device can be designated during LAN initialization or initiated upon the arrival of a request. Master device selection during initialization is preferred because the master device knows resource availability before any requests arrive, helping it to perform better capacity planning.

[0056] Figure 4 An implementation of a master device 410-slave device 440 connection establishment / configuration is illustrated. Based on a request to establish a local cloud, the master device 410 may broadcast a message 450 to discover other devices / slave devices 440 in the local network. If the slave device agrees to the broadcast message, it may send an acknowledgment (ACK) 420 to the server. The master device can then respond with an SLA (Service Level Agreement) request 460, which may include a request for the slave device to share its resources, including resource availability time and power availability. If the slave device agrees, it may send an SLA response 430. Thus, the master device can establish a connection 470 (e.g., a master-slave connection). The slave device may also share information such as the number of active applications on the device and the device's power consumption. Such information may also be requested from the slave device during the connection session.

[0057] After the master device 410 receives the SLA response 430 from the slave device 440, and immediately after the master device establishes the master-slave connection with the slave device, the master device can begin to assign tasks to each slave device. Figure 5 An example of master-slave task assignment is shown. Master device 560 may need to assign task 555 to slave devices 515, 525, 535, and 540. Master device 560 may divide task 555 into subtasks 505, 510, 520, 530, 545, and 550.

[0058] In some implementations, the master device can allocate tasks using the device’s resource availability, such as the storage that the slave device is willing to lease, the total storage capacity of the slave device, and the power availability of the slave device.

[0059] In some implementations, a slave device may not be able to immediately disconnect when it wants to disconnect for any reason and is no longer used in the local cloud. Instead, the master device may first check the slave device's status and whether it has any active tasks running. The slave device can then choose to complete its current task before disconnecting, or it can wait for the master device to migrate the task to another device in the network. In cases where a device disconnects due to network issues or any other problem, the master device can reassign tasks assigned to the disconnected device to another device in the network. In some implementations where the master device wants to disconnect, another online device can be designated as the new master device.

[0060] In some implementations, a LAN cloud can be used as a subscription-based service in which the LAN owner leases computing and storage resources in return for payment. For example, a local cloud can be used to store images / files or perform image processing tasks.

[0061] The local cloud can also be used to perform any task for any device within the local cloud network. For example, if any device in the network is streaming immersive media and does not have sufficient resources to process the input media stream (decoding, splicing), that device can request the master device in the network to process the media on its behalf.

[0062] Using LAN as a service for the edge cloud can be implemented as computer software that uses computer-readable instructions and is physically stored on one or more computer-readable media. For example, Figure 6 A computer system 600 suitable for implementing some implementation methods is shown.

[0063] Computer software can be coded using any suitable machine code or computer language, which can be subjected to mechanisms such as assembly, compilation, and linking to create code that includes instructions that can be executed directly by a computer's central processing unit (CPU), graphics processing unit (GPU), or through interpretation, microcode execution, etc.

[0064] The instructions can be executed on various types of computers or components thereof, including, for example, personal computers, tablet computers, servers, smartphones, gaming devices, Internet of Things devices, etc.

[0065] Figure 6The components shown for computer system 600 are exemplary and are not intended to impose any limitation on the scope or functionality of computer software implementing embodiments of this disclosure. Similarly, the configuration of the components should not be construed as having any dependency or requirement relating to any one or a combination of components shown in the exemplary embodiments of computer system 600.

[0066] Computer system 600 may include certain human-machine interface input devices. Such human-machine interface input devices can respond to input from one or more human users via, for example, tactile input (e.g., keystrokes, swiping, data glove movement), audio input (e.g., speech, tapping), visual input (e.g., gestures), and olfactory input (not depicted). The human-machine interface device can also be used to capture certain media that are not necessarily directly related to conscious human input, such as audio (e.g., speech, music, ambient sound), images (e.g., scanned images, photographic images obtained from still image capturing devices), and video (e.g., two-dimensional video, three-dimensional video including stereoscopic video).

[0067] The input human-machine interface device may include one or more of the following (only one of each is depicted): keyboard 605, mouse 610, touchpad 615, touch screen 645, data glove (not depicted), joystick 620, microphone 625, scanner 630, and camera device 635.

[0068] Computer system 600 may also include certain human-machine interface (HMI) output devices. Such HMI output devices can stimulate the senses of one or more human users through, for example, tactile output, sound, light, and smell / taste. Therefore, HMI output devices may include: tactile output devices (e.g., tactile feedback via touchscreen 645, data gloves (not depicted), or joystick 620, but tactile feedback devices that are not used as input devices may also exist); audio output devices (e.g., speakers 640, headphones (not depicted)); visual output devices (e.g., screen 645, including CRT (Cathode Ray Tube) screens, LCD (Liquid Crystal Display) screens, plasma screens, OLED (Organic Light Emitting Diode) screens, each with or without touchscreen input capability, each with or without tactile feedback capability—some of which may be capable of outputting two-dimensional or more than three-dimensional visual output in a manner such as stereoscopic image output; virtual reality glasses (not depicted); holographic displays and ashtrays (not depicted)); and printers (not depicted).

[0069] The computer system 600 may also include human-accessible storage devices and their associated media, such as optical media including CD / DVD ROM / RW Z20 with media such as CD / DVD 655, thumb drives 660, removable hard disk drives or solid-state drives 665, conventional magnetic media such as magnetic tapes and floppy disks (not depicted), devices based on dedicated ROM / ASIC / PLD (Programmable Logic Device, PLD) such as security dongles (not depicted), etc.

[0070] Those skilled in the art should also understand that the term "computer-readable medium" as used in connection with the presently disclosed subject matter does not include transmission media, carrier waves, or other transient signals.

[0071] Computer system 600 may also include interfaces to one or more communication networks. These networks can be, for example, wireless, wired, or optical. They can also be local area, wide area, metropolitan area, vehicle-mounted and industrial, real-time, latency-tolerant, etc. Examples of networks include: local area networks such as Ethernet; wireless LANs; cellular networks including GSM (Global System for Mobile Communications), 3G, 4G (Fourth Generation), 5G, LTE, etc.; cable or wireless wide area digital networks including cable TV, satellite TV, and terrestrial broadcast TV; vehicle and industrial networks including CANBus, etc. Some networks typically require external network interface adapters that are attached to certain general-purpose data ports or peripheral buses 689, such as the USB port of computer system 600; other networks are typically integrated into the core of computer system 600 by attaching to system buses as described below (e.g., to an Ethernet interface in a PC computer system or a cellular network interface in a smartphone computer system). Using any of these networks, computer system 600 can communicate with other entities. Communication can be one-way (receive only, e.g., broadcasting TV), one-way (transmit only, e.g., a CAN bus to certain CAN bus devices), or bidirectional, e.g., using a local area digital network or a wide area digital network to other computer systems. Certain protocols and protocol stacks can also be used on each of these networks and network interfaces as described above.

[0072] The human-machine interface devices, human-accessible storage devices, and network interfaces mentioned above can be attached to the core 680 of the computer system 600.

[0073] Core 680 may include one or more central processing units (CPUs) 681, graphics processing units (GPUs) 682, dedicated programmable processing units (FPGAs) 683, hardware accelerators 684 for certain tasks, etc. These devices, along with read-only memory (ROM) 685, random access memory (RAM) 686, and internal mass storage devices such as internal non-user-accessible hard disk drives (HDDs), SSDs (Solid State Drives), etc. 687, can be connected via system bus 688. In some computer systems, system bus 688 can be accessed via one or more physical connectors to allow for expansion with additional CPUs, GPUs, etc. Peripheral devices can also be attached directly or via peripheral bus 689 to the core's system bus 688. Peripheral bus architectures include PCI (Peripheral Component Interconnect / Interface), USB, etc.

[0074] The CPU 681, GPU 682, FPGA 683, and accelerator 684 can execute certain instructions, which, when combined, constitute the aforementioned computer code. This computer code can be stored in ROM 685 or RAM 686. Transient data can also be stored in RAM 686, while permanent data can be stored, for example, in an internal mass storage device 687. Fast storage and retrieval of any storage device can be achieved using a cache memory, which can be closely associated with one or more CPUs 681, GPUs 682, mass storage devices 687, ROM 685, RAM 686, etc.

[0075] Computer-readable media may contain computer code for performing various computer-implemented operations. The media and computer code may be specifically designed and constructed for the purposes of this disclosure, or the media and computer code may be of a type known and available to those skilled in the art of computer software.

[0076] By way of example and not limitation, a computer system 600 with an architecture, and particularly a core 680, can be functionalized by a processor (including a CPU, GPU, FPGA, accelerator, etc.) executing software embodied in one or more tangible computer-readable media. Such computer-readable media can be media associated with user-accessible mass storage devices as described above, as well as certain storage devices of the core 680 with non-transitory characteristics, such as internal mass storage device 687 or ROM 685. Software implementing various embodiments of this disclosure can be stored in such devices and executed by the core 680. Depending on specific needs, the computer-readable media may include one or more memory devices or chips. The software can cause the core 680, and particularly its processors (including CPU, GPU, FPGA, etc.), to execute specific processes or specific portions of specific processes described herein, including defining data structures stored in RAM 686 and modifying such data structures according to the software-defined processes. Alternatively or as an alternative, the computer system may be provided with functionality by logic hardwired or otherwise embodied in circuitry (e.g., accelerator 684), which may operate in place of or with software to perform the specific processing or a specific portion of the specific processing described herein. Where appropriate, references to software may include logic, and references to logic may also include software. Where appropriate, references to computer-readable media may include circuitry (e.g., integrated circuits, ICs) storing software for execution, circuitry implementing logic for execution, or both. This disclosure includes any suitable combination of hardware and software.

[0077] Figure 7 This is a flowchart illustrating an implementation of a process 700 for creating a local cloud using a LAN as an edge cloud service.

[0078] like Figure 7 As shown, at operation 710 of process 700, a request for establishing a local cloud is received. Processing proceeds to operation 720, where, for example, ... Figure 3 Multiple devices in the LAN shown create a local cloud.

[0079] Processing step 700 then proceeds to step 730, where one of the multiple devices in the LAN is designated as the master device. The master device then broadcasts messages and discovers other devices in the LAN. In other words, the master device configures a local cloud and is able to establish master-slave connections, such as... Figure 4 As shown. Therefore, the master device can assign tasks to multiple devices in the LAN, such as... Figure 5As shown. The master device can migrate and redistribute tasks among multiple devices / slave devices in a LAN.

[0080] The foregoing disclosure provides illustrations and descriptions, but is not intended to be exhaustive or to limit the embodiments to the exact forms disclosed. Modifications and variations can be made based on the above disclosure, or modifications and variations can be obtained from the practice of the embodiments. Furthermore, one or more features or components of one embodiment may be incorporated into or combined with another embodiment (or one or more features of another embodiment). Additionally, in the flowcharts and descriptions of operations provided below, it should be understood that one or more operations may be omitted, one or more operations may be added, one or more operations may be performed simultaneously (at least partially), and the order of one or more operations may be switched.

[0081] It will be apparent that the systems and / or methods described herein can be implemented in various forms of hardware, firmware, or combinations of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods does not limit the implementation. Therefore, this document does not refer to specific software code to describe the operation and behavior of the systems and / or methods. It should be understood that software and hardware can be designed to implement the systems and / or methods based on the description herein.

[0082] Even if a particular combination of features is recited in the claims and / or disclosed in the specification, such combinations are not intended to limit the disclosure of possible embodiments. In fact, many of these features can be combined in ways not specifically recited in the claims and / or disclosed in the specification. While each dependent claim listed below may directly refer to only one claim, the disclosure of possible embodiments may include every dependent claim combined with every other claim in the group of claims.

[0083] Unless explicitly stated otherwise, no element, action, or instruction used herein should be construed as critical or necessary. Furthermore, as used herein, the articles “a” and “an” are intended to include one or more items and may be used interchangeably with “one or more.” The term “an” or similar language is used where only one item is intended. Furthermore, as used herein, the terms “have,” “possess,” “contain,” “include,” “comprise,” etc., are intended to be open-ended terms. Furthermore, unless explicitly stated otherwise, the phrase “based on” is intended to mean “at least partially based on.” Additionally, expressions such as “at least one of [A] and [B]” or “at least one of [A] or [B]” should be understood to include only A, only B, or both A and B.

Claims

1. A method for creating a local cloud, characterized in that, The method includes: Receive requests for creating a local cloud within a local area network (LAN) from multiple user devices within the LAN; Selecting a master device from the plurality of user devices by means of one user device in the plurality of user devices, the selection including designating one of the plurality of user devices as the master device by means of a router in the LAN based on the computing resource availability of each of the plurality of user devices; The master device selects one or more devices from the plurality of user devices based on the resource availability of each user device. The master device requests each user device in one or more devices to share the device's resources for the local cloud; The master device is used to configure one or more devices as the local cloud; The host device receives service requests for services to be performed by the local cloud; and Based on the resource availability of the one or more devices, multiple tasks corresponding to the service are assigned to the one or more devices configured as the local cloud.

2. The method according to claim 1, characterized in that, The resource availability includes processing power, storage capacity, and power.

3. The method according to claim 1, characterized in that, Selecting the master device includes designating one of the plurality of user devices in the LAN as the master device through an election protocol.

4. The method according to claim 1, characterized in that, One of the multiple user devices selects itself as the master device.

5. The method according to claim 4, characterized in that, One of the multiple user equipments initiates an election protocol to designate the master equipment.

6. The method according to any one of claims 1 to 5, characterized in that, The master device is selected during LAN initialization prior to the service request.

7. An apparatus for creating a local cloud, characterized in that, The device includes: At least one memory, the at least one memory being configured to store computer program code; and At least one processor, the at least one processor being configured to access the at least one memory and operate as instructed by the computer program code to perform the method of any one of claims 1 to 6.

8. A device for creating a local cloud, characterized in that, The device includes: The first receiving module is used to receive requests for creating a local cloud within a local area network (LAN) from multiple user devices within the LAN. A first selection module is configured to select a master device from the plurality of user devices through one of the plurality of user devices, the selection including designating one of the plurality of user devices as the master device by a router in the LAN based on the computing resource availability of each of the plurality of user devices; The second selection module is used to select one or more devices from the plurality of user devices by means of the master device based on the resource availability of each user device among the plurality of user devices; The request module is configured to request each user device in one or more devices to share the device's resources for the local cloud through the master device; A configuration module is used to configure one or more devices as the local cloud via the master device; The second receiving module is configured to receive, via the master device, a service request for a service to be executed by the local cloud; and An allocation module is configured to allocate multiple tasks corresponding to the service to the one or more devices configured as the local cloud based on the resource availability of the one or more devices.

9. A non-transitory computer-readable recording medium storing computer code that, when executed by at least one processor, causes the at least one processor to perform at least the method of any one of claims 1 to 6.

Citation Information

Patent Citations

  • Building a Cloud Computing Environment Using a Seed Device in a Virtual Computing Infrastructure

    US20120110055A1