Electronic device and method for internet of things system, and storage medium

By generating application information on local or remote servers of IoT devices and storing and executing programs in XIP format, the problem of rapid response of IoT devices when scenarios change is solved, enabling flexible updates and efficient adaptation of functions, and improving IoT performance and user experience.

CN121284051APending Publication Date: 2026-01-06SONY SEMICON SOLUTIONS CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410883284.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-07-02
Publication Date
2026-01-06

AI Technical Summary

Technical Problem

Existing IoT devices struggle to respond quickly to changing scenarios, leading to outdated or ineffective functions, impacting IoT performance and user experience. Traditional software update methods also fail to guarantee timeliness.

Method used

Application information is generated by local or remote servers of IoT devices, and functions are automatically adjusted to adapt to changes in scenarios. Programs are stored and executed in XIP format, and compiler technology is used to optimize program generation and deployment, enabling flexible updates of functions.

Benefits of technology

It improves the IoT's response speed to changes in scenarios, enhances network performance and user experience, reduces the need for manual intervention, and strengthens the adaptability and security of IoT devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121284051A_ABST
    Figure CN121284051A_ABST
Patent Text Reader

Abstract

The invention relates to an electronic device and method for an Internet of Things system, and a storage medium. In the method, an electronic device determines that a scene is changed and executes an operation to enable one or more IoT devices associated with the changed scene to obtain application information generated according to the changed scene, and the application information is used for enabling the one or more IoT devices to achieve functions matched with the changed scene. Based on the above scheme, the Internet of Things equipment automatically realizes a function of adapting to the new scene according to the scene change, and the flexibility and adaptability of function deployment of the IoT equipment are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the Internet of Things (IoT) field, and more specifically to electronic devices, methods, and storage media in the IoT field that enable rapid adaptation to changes in scenarios. Background Technology

[0002] The Internet of Things (IoT) is gaining increasing popularity due to its significant advantages in personalized, intelligent, and automated data collection, system monitoring, and service delivery, as well as its flexibility in network expansion. To meet the demands of various application scenarios, multiple IoT devices need to be deployed in the relevant environment. These requirements can be met through the collection and processing of data by IoT devices, as well as the interaction between IoT devices and between IoT devices and remote servers.

[0003] However, IoT devices are typically characterized by limited functionality, with their capabilities dependent on specific application scenarios. Furthermore, software and hardware are often tightly coupled, meaning each piece of hardware can only perform one function. To address various scenarios, the traditional solution is to deploy as many different IoT devices as possible. Each of these devices runs different software tailored to its specific scenario to fulfill its assigned tasks. When the scenario changes, the original software of the IoT devices may no longer be suitable for the new environment. Therefore, to adapt to new scenario requirements, technicians often need to go to the site to upgrade or update the software of the IoT devices when adjustments to their functionality are needed. Due to this manual intervention, the timeliness of software updates is difficult to guarantee.

[0004] Furthermore, traditional technical solutions can also update the firmware of IoT devices via remote servers. Specifically, the server can receive an indication that the IoT device has been registered, determine the current firmware version of the IoT device, and verify the success status of the latest software update. If the current firmware version of the IoT device differs from the latest version, an update package is sent to the IoT device to update it to the latest version, and the current firmware version is recorded; otherwise, the server determines that the IoT device's firmware is already up-to-date and saves this information. Although software updates can be performed through iterative software version releases, these upgrades focus on specific functions and bug fixes, rather than addressing changing scenarios. Moreover, the timing of iterative releases is difficult to synchronize with the timing of scenario changes, which also makes it difficult to guarantee the timeliness of software updates.

[0005] Therefore, it is desirable to provide a technology that enables rapid response to scene changes in the Internet of Things (IoT) environment, thereby achieving automatic and efficient deployment of IoT device functions. Summary of the Invention

[0006] One aspect of this disclosure relates to an electronic device for an IoT system. The electronic device may be located on the IoT device side. According to embodiments of this disclosure, the electronic device may include a processor and a memory. The memory may include computer program instructions. The memory and computer program instructions may be configured to cause the electronic device to perform the following operations via the processor: determine that a scene has changed; and perform operations to obtain application information generated based on the changed scene for one or more IoT devices associated with the changed scene, wherein the application information is used to enable the one or more IoT devices to perform functions adapted to the changed scene.

[0007] Another aspect of this disclosure relates to a method for an IoT system. According to embodiments of this disclosure, the method may include: determining that a scene has changed; and performing operations to cause one or more IoT devices associated with the changed scene to obtain application information generated based on the changed scene, wherein the application information is used to enable the one or more IoT devices to perform functions adapted to the changed scene.

[0008] Another aspect of this disclosure relates to an electronic device for an IoT system. The electronic device may be located on the network device side. According to embodiments of this disclosure, the electronic device may include a processor and a memory. The memory may include computer program instructions. The memory and the computer program instructions may be configured to cause the electronic device to perform the following operations via the processor: receiving indication information from an IoT device indicating a changed scene, the indication information being received when the scene changes; generating application information based on the indication information, wherein the application information is used to enable one or more IoT devices associated with the changed scene to perform functions adapted to the changed scene; and providing the application information to the one or more IoT devices.

[0009] Another aspect of this disclosure relates to a method for an IoT system. According to embodiments of this disclosure, the method may include: receiving indication information from an IoT device indicating a changed scene, the indication information being received when the scene changes; generating application information based on the indication information, wherein the application information is used to enable one or more IoT devices associated with the changed scene to perform functions adapted to the changed scene; and providing the application information to the one or more IoT devices.

[0010] Another aspect of this disclosure relates to a computer-readable storage medium storing one or more computer program instructions. According to embodiments of this disclosure, the one or more computer program instructions can cause the processing device to perform the methods described above when executed by a processing device.

[0011] The above overview is provided to summarize some exemplary embodiments to provide a basic understanding of the aspects of the subject matter described herein. Therefore, the features described above are merely examples and should not be construed as narrowing the scope or spirit of the subject matter described herein in any way. Other features, aspects, and advantages of the subject matter described herein will become apparent from the following detailed description, taken in conjunction with the accompanying drawings. Attached Figure Description

[0012] A better understanding of this disclosure can be obtained by considering the following detailed description of the embodiments in conjunction with the accompanying drawings. The same or similar reference numerals are used in the drawings to denote the same or similar parts. The accompanying drawings, together with the following detailed description, are incorporated in and form a part of this specification to illustrate embodiments of the disclosure and explain the principles and advantages of the disclosure.

[0013] in:

[0014] Figure 1 These are illustrations of an example of an Internet of Things (IoT) environment according to embodiments of this disclosure;

[0015] Figure 2 This is a flowchart of a method for deploying IoT devices according to embodiments of the present disclosure;

[0016] Figure 3 This is a flowchart of a method for updating functionality by generating application information through an IoT device according to an embodiment of this disclosure;

[0017] Figure 4 This is a flowchart of a method for updating functionality by generating application information via a server according to an embodiment of the present disclosure;

[0018] Figure 5 This is another flowchart of a method for deploying IoT devices according to embodiments of the present disclosure;

[0019] Figure 6 This is a diagram illustrating an example of the software architecture of an IoT device according to embodiments of the present disclosure;

[0020] Figure 7 This is a schematic diagram illustrating an example of a scenario according to an embodiment of this disclosure;

[0021] Figure 8 According to embodiments of this disclosure Figure 7 The flowchart of the processing used in the scenario;

[0022] Figure 9 This is a schematic diagram illustrating another scenario according to an embodiment of the present disclosure;

[0023] Figure 10This is a block diagram of an example structure of a personal computer as an information processing device that may be used in embodiments of this disclosure;

[0024] Figure 11 This is a block diagram illustrating a first example of a schematic configuration of a gNB to which the techniques of this disclosure can be applied;

[0025] Figure 12 This is a block diagram illustrating a second example of a schematic configuration of a gNB to which the techniques of this disclosure can be applied;

[0026] Figure 13 This is a block diagram illustrating an example of a schematic configuration of a smartphone to which the technologies of this disclosure can be applied; and

[0027] Figure 14 This is a block diagram illustrating an example of a schematic configuration of a car navigation device to which the techniques of this disclosure can be applied.

[0028] While the embodiments described in this disclosure may be readily modified and alternatively implemented, specific embodiments thereof are shown by way of example in the accompanying drawings and are described in detail herein. However, it should be understood that the drawings and the detailed description thereof are not intended to limit the embodiments to the specific forms disclosed, but rather are intended to cover all modifications, equivalents, and alternatives that fall within the spirit and scope of the claims. Detailed Implementation

[0029] The following description illustrates representative applications of the devices and methods described herein. These examples are provided merely to provide context and aid in understanding the described embodiments. Therefore, it will be apparent to those skilled in the art that the embodiments described below can be practiced without some or all of the specific details provided. In other instances, well-known process steps have not been described in detail to avoid unnecessarily obscuring the described embodiments. Other applications are also possible, and the scope of this disclosure is not limited to these examples.

[0030] First refer to Figure 1 A diagram illustrating an Internet of Things (IoT) environment 100 in which multiple IoT devices 110-1 to 110-N are deployed.

[0031] In an IoT environment 100, the deployed IoT devices can be the same or different. IoT devices can be cameras, robots, sensors, mobile terminals, tablets, personal computers, and other devices with information collection / processing capabilities. An IoT device can communicate with one or more other IoT devices. Communication between IoT devices can be achieved through direct communication or indirectly through other devices (such as other IoT devices or remote servers). Communication methods can include wireless communication based on WiFi, sidelink communication, etc., or wired communication based on cables. Although... Figure 1 Only IoT devices 110-1, 110-2, 110-3, and 110-N are shown in the illustration, but those skilled in the art will understand that the IoT environment 100 may have more or fewer IoT devices that cooperate with each other to perform functions appropriate to the context.

[0032] The IoT environment 100 can communicate with an external network 200. This external network 200 can be a network containing a server 210 (e.g., a cloud system), a remote control platform, or other IoT environments. Through interaction between the external network 200 and the IoT environment 100, data from IoT devices within the IoT environment 100 can be acquired for further processing, IoT devices can be monitored, and requests sent by IoT devices can be responded to.

[0033] In addition to IoT devices 110-1 to 110-N, the Internet of Things (IoT) environment 100 may also include one or more processing devices (not shown), such as servers, personal computers, etc. The processing devices can process data from IoT devices 110-1 to 110-N, centrally control IoT devices 110-1 to 110-N, or communicate with the outside world (such as external network 200) on behalf of IoT devices 110-1 to 110-N.

[0034] One or more scenarios in the IoT environment 100 can be associated with the respective locations of IoT devices 110-1 to 110-N. For example, the scenario corresponding to IoT device 110-1 is at the supermarket entrance, the scenarios corresponding to IoT devices 110-2 and 110-3 are in the supermarket food shelf area, the scenario corresponding to IoT device 110-N is in the shopping mall checkout area, and so on. Of course, these IoT devices can also correspond to the same scenario (e.g., in the swimming pool area, restaurant area, etc.).

[0035] When deploying IoT devices, a mapping between IoT devices and their associated scenarios can be established in advance. For example, IoT device 110-1 corresponds to scenario 1, IoT device 110-2 corresponds to scenario 2, IoT device 110-3 corresponds to scenarios 2 and 3, IoT device 110-N corresponds to scenario 4, and so on. These mappings can be stored in the IoT devices themselves, in processing devices that may exist in the IoT environment 100, or in a server accessed via the external network 200. When an IoT device needs to identify IoT devices associated with a scenario, it can access the corresponding storage location to obtain information about the relevant IoT devices.

[0036] When the context for an IoT device changes, its current functionality may become unsuitable. This necessitates timely adjustments to the device's capabilities. For instance, an IoT device might currently recommend dishes to customers based on their satisfaction with the menu. However, if some ingredients are sold out in the kitchen, and the device remains unaware of this and continues to recommend dishes based solely on known satisfaction levels, it might end up recommending unsellable items, significantly impacting the user experience. Therefore, it's desirable for IoT devices to adjust their menu recommendation functionality promptly to address changes in the context caused by ingredient shortages. However, existing methods, such as manual software updates or server-side software updates, struggle to respond effectively to these changes, leading to outdated or ineffective IoT functionality. This severely impacts IoT performance and degrades the user experience.

[0037] Therefore, embodiments of this disclosure provide a method for enabling the functionality of IoT devices to automatically adapt to different scenarios, thereby allowing for the automatic and efficient deployment of IoT device functionality when scenarios change, thereby improving IoT performance and enhancing user experience. Figure 2 The diagram shows a flowchart of a method 200 for deploying IoT devices. For ease of understanding, please refer to... Figure 1 In an Internet of Things (IoT) environment 100, method 200 is described using IoT device 110-1 as an example. Those skilled in the art will understand that other IoT devices can also execute the process of method 200.

[0038] In S210, it is determined that the scene has changed.

[0039] IoT device 110-1 can determine if its own corresponding scenario has changed, and it can also determine if the scenarios corresponding to other IoT devices have changed. The scenario corresponding to IoT device 110-1 and the scenarios corresponding to other IoT devices can be the same scenario or different scenarios. The reason for determining the scenario change is to update the functions of IoT devices associated with the changed scenario in a timely manner when the scenario changes, so as to adapt to the new scenario as quickly as possible.

[0040] According to embodiments of this disclosure, IoT device 110-1 can detect scenes within its detectable range. If the detected scene indicates the occurrence of a predetermined event, IoT device 110-1 determines that the scene has changed. The scene indicating the occurrence of the predetermined event may also be referred to as the changed scene or the new scene.

[0041] For example, IoT device 110-1 may have one or more cameras. The cameras can monitor the state information of objects such as items, people, animals, plants, and raindrops within their field of view, thereby detecting the scene within their field of view. This scene can be a scene corresponding to IoT device 110-1 itself, or a scene corresponding to other IoT devices. For example, the camera can use existing algorithms or existing artificial intelligence (AI) chips, or an AI chip trained for specific scene information according to application requirements, to detect the scene by analyzing the content of captured images or videos, thereby obtaining scene-related information, such as the number of people gathered, whether the crowd is dense, the distribution of people, the popularity of goods, the reduction in the number of goods, whether shelves are empty, etc. Those skilled in the art will understand that during the training of the AI ​​chip, it can be trained for a specific target using supervised learning. For example, different crowding patterns in a large number of images can be labeled, enabling the AI ​​chip to determine whether a crowding exists based on one or more frames in an image or video. Training methods that utilize images or videos to obtain information of interest are easily implemented by those skilled in the art and will not be elaborated upon here.

[0042] When scene information related to the detected scene indicates the occurrence of a predetermined event, it can be determined that the scene has changed, thus requiring a functional update of the associated IoT device. For example, the scene detected by IoT device 110-1 may be in a state of constant flux, such as people moving, people entering or exiting, goods moving, or goods tipping over. However, it is important to note that not all changes signify a scene change. In the embodiments of this disclosure, the occurrence of a predetermined event signifies a scene change. The predetermined event can be an event closely related to the functionality of the IoT device. Different events require different functionalities from the IoT device.

[0043] For example, scheduled events may include crowd gathering (e.g., the number of people exceeding a threshold within a specific area such as a square with sides of 2 meters, a rectangle with a length of 3 meters and a width of 1 meter, or a semicircle with a radius of 2 meters), shortage of specific goods (e.g., shelves holding goods become empty), popularity of specific goods (e.g., the rate of decrease within a scheduled time exceeds a threshold), and idle robot pallets. Different scheduled events require IoT devices to implement corresponding functions. For example, the occurrence of a crowd gathering event requires related IoT devices to prevent new people from entering; the occurrence of a shortage of specific goods requires related IoT devices to transport goods from the warehouse; and the occurrence of a popularity of specific goods requires related IoT devices to adjust the order in which goods are presented to customers. When a scheduled event occurs, IoT device 110-1 determines that the scenario has changed, and at this time, the relevant IoT devices need to be adjusted to the functions corresponding to the scheduled event.

[0044] According to embodiments of this disclosure, IoT device 110-1 can also receive relevant information about the scene it detects from other IoT devices (e.g., 110-2) and determine that the scene has changed based on the received information.

[0045] Similar to IoT device 110-1, other IoT devices (such as 110-2) may also have one or more cameras and acquire information about the scene within the camera's field of view. For example, IoT device 110-2 can acquire scene information related to IoT device 110-1. For instance, using its installed smart chip, IoT device 110-2 can analyze captured images or videos to determine the occurrence of predetermined events as described above, such as the tray of IoT device 110-1 being empty, or one or more products recommended by IoT device 110-1 being snapped up, and notify IoT device 110-1 of this relevant information. By determining the occurrence of the predetermined event, IoT device 110-1, upon acquiring this information, can determine that the scene has changed.

[0046] The information sent by IoT device 110-2 to IoT device 110-1 may be information indicating the occurrence of a predetermined event (e.g., informing about a specific predetermined event), or it may be information from acquired images or videos that IoT device 110-1 analyzes to determine that the predetermined event has occurred. Furthermore, IoT device 110-2 may send relevant information about the scene it has detected to IoT device 110-1 only when it determines that the predetermined event has occurred. Those skilled in the art will understand that the scene-related information sent by IoT device 110-2 to IoT device 110-1 may be about the scene of IoT device 110-1, about its own scene, or about the scene of another IoT device.

[0047] Those skilled in the art will understand that changes in a scene can also be determined by training a corresponding AI model. A trained AI model can identify scene changes based on the differences between the current scene and previous scenes, thereby instructing IoT devices to make corresponding adjustments. For example, an AI model can be trained by inputting a large amount of scene content and corresponding IoT device functions.

[0048] In S220, an operation is performed to enable one or more IoT devices associated with the changed scenario to obtain application information generated based on the changed scenario, wherein the application information is used to enable the one or more IoT devices to perform functions adapted to the changed scenario.

[0049] After IoT device 110-1 determines that the scene has changed, it uses the correspondence between scenes and associated IoT devices to identify the IoT devices associated with the new scene and performs operations to enable the IoT devices corresponding to the new scene to obtain application information generated according to the new scene. Based on this application information, the IoT devices can implement functions corresponding to the new scene, thus enabling timely adjustments to functions without manual intervention. This improves the response speed of the Internet of Things to scene changes and enhances network performance. It is important to understand that the IoT devices associated with the new scene can include IoT device 110-1 itself, meaning that IoT device 110-1 can not only update other IoT devices but also update itself.

[0050] Application information can be an application related to the changed scenario, data related to the changed scenario, or a data program compiled from data related to the changed scenario; further, it can be any combination of the above information. For example, when the application information is an application, the IoT device can perform corresponding functions by running the application; when the application information is data, the IoT device can change the inference result by providing the data as input to, for example, an AI model, or update an existing AI model through small-sample learning based on the data, or provide the data as a parameter to the program to change the program's behavior; when the application information is a data program, the IoT device can read relevant data from it by executing the data program, and change the AI ​​model's inference result, update the AI ​​model, or change the program's behavior based on the acquired data. In the context of this disclosure, a data program is a program that can read and write data; it provides an interface for accessing data, thereby increasing data security. In some cases, application programs and data programs can be collectively referred to as programs.

[0051] The generation of application information based on the changed scenario can be accomplished by IoT device 110-1, or by the server sending a request from IoT device 110-1. Regardless of the method used to generate the application information, it will be provided to one or more IoT devices associated with the new scenario to enable functionality adapted to the new scenario. Figure 3 The diagram shows a flowchart of a method 300 for updating functionality by generating application information through IoT devices, while... Figure 4 The diagram shows a flowchart of a method 400 for updating functionality by generating application information via a server. For ease of understanding, Figure 3 and Figure 4 It will also be combined Figure 1 The IoT environment 100 shown is described using IoT device 110-1 as an example of the execution subject. Those skilled in the art will understand that it is also applicable to other IoT devices.

[0052] like Figure 3 As shown, in S310, IoT device 110-1 determines that the scene has changed. This step is basically the same as S210, and will not be described again here.

[0053] In S320, IoT device 110-1 generates application information based on scene information related to the changed scene. For example, scene information can be obtained by analyzing images or videos (e.g., using an AI chip), and it can reflect the state of objects in the scene, such as people gathering, pallets becoming empty, or goods piling up. As mentioned above, application information can be applications, data, and / or data programs. Application information can be used to update the functionality of the IoT device, such as enabling the IoT device to perform new operations or update output results.

[0054] According to embodiments of this disclosure, IoT device 110-1 can generate semantic information describing the changed scene based on scene information, and then generate application information based on the semantic information.

[0055] For example, scene information can be information perceived by IoT device 110-1 through sensors such as cameras. This information can be processed into a set of parameters to describe parameters related to the changed scene, such as the number of people gathered, the types of goods, and / or the popularity of the goods. This information can also be processed into a scripting language to describe the characteristics of the changed scene, such as a certain item being snapped up or a nearby robot's tray becoming empty. Both the parameter set and the scripting language belong to semantic information. Of course, semantic information can also be implemented through multi-dimensional vectors, content written in programming languages ​​or prompts, as long as the semantic information can describe the situations that occur in the new scene that will render the existing functions of the IoT device inapplicable and / or require the IoT device to change its functions.

[0056] Next, for example, key data describing the scenario can be generated from semantic information as application information. Another example is using compiler technology to convert semantic information into programs as application information. In one example, semantic information can be converted into programs using LLVM (Low Level Virtual Machine). Specifically, semantic information can be converted into WebAssembly (WASM) programs (also known as WASM applications) using LLVM or LLVM-based compiler technologies (such as WarmC), thereby optimizing the implementation of IoT device functions and enabling efficient execution of corresponding programs on IoT devices. WASM applications can be compiled into AOT format, and AOT format can be configured to run under XIP. For example, a WASM compilation toolchain can be deployed on IoT devices to compile application data into data programs or compile the device functions to be implemented into applications. Furthermore, a sandbox system can be provided for the programs to protect the security of program execution. Although the above process of converting semantics into programs is implemented using existing compiler technology, those skilled in the art will understand that with the development of compiler technology and the development of AI models that can generate code and be used as compilers, various ways of converting semantic information into programs will emerge in the future, all of which fall under the category of conversion using compiler technology.

[0057] In S330, IoT device 110-1 provides application information to one or more IoT devices associated with the changed scenario.

[0058] Before providing application information, IoT device 110-1 can determine one or more IoT devices associated with the changed scenario based on pre-stored mappings between scenarios and associated IoT devices or mappings between scenarios and associated IoT devices obtained from other devices. Of course, if all IoT devices are associated with the same scenario, it is not necessary to determine which IoT devices are associated with the new scenario.

[0059] IoT device 110-1 can directly provide application information to these IoT devices, or it can provide it through forwarding from other IoT devices, servers, or processing devices in the IoT environment. Furthermore, IoT device 110-1 can determine whether IoT devices associated with a new scenario have the capability to process application information, and send the application information only if it determines that they do. For example, if an IoT device's hardware version is too low to support the execution of application information, or if an IoT device is not sensitive to the data contained in the application information (e.g., this data is useless to the IoT device, not input information for its AI model, etc.), then IoT device 110-1 can choose not to send application information to such IoT devices to save network transmission resources and avoid power consumption. Of course, IoT device 110-1 can also provide application information directly without considering the capabilities of those IoT devices; whether or not to use the application information is up to the IoT devices themselves. IoT devices using application information can adjust their functions accordingly to adapt to the changed scenario.

[0060] Besides application information generated by IoT devices, application information can also be generated by servers included in, for example, external network 200 or IoT environment 100. Figure 4 Method 400 is shown.

[0061] In S410, IoT device 110-1 determines that the scenario has changed. This step is basically the same as S210 and will not be described again here.

[0062] In S420, IoT device 110-1 sends indication information indicating the changed scene to the server, so that the server generates application information based on the indication information and provides the application information to one or more IoT devices associated with the changed scene.

[0063] The instruction information can be considered as request information, used to request the server to generate application information corresponding to the changed scene. According to embodiments of this disclosure, the instruction information may include scene information related to the changed scene, semantic information generated based on the scene information related to the changed scene to describe the changed scene, or both. As mentioned above, scene information may be information perceived by a camera or information output by an AI chip analyzing captured images or videos, which can describe the scene in a predetermined format or pattern. Semantic information can be generated based on scene information, such as parameter sets, scripting languages, etc. By further extracting and / or analyzing the scene information, information that triggers IoT device function updates can be selected as semantic information. For example, different scene features and IoT device functions can be pre-set; when scene information becomes to include a certain scene feature, that scene feature is converted into semantic information to describe it.

[0064] For example, after determining that the scene has changed, IoT device 110-1 can directly provide the scene information to the server. The server, like IoT device 110-1 in S320, can first convert the scene information into semantic information, and then use compiler technology to convert the semantic information into a program, which serves as application information for IoT devices associated with the new scene. Alternatively, after determining that the scene has changed, IoT device 110-1 converts the scene information into semantic information and then sends the semantic information to the server. Thus, the server can directly convert the semantic information into a program using compiler technology. Since part or all of the application information generation process can be transferred to the server, the power consumption of IoT devices can be saved.

[0065] According to embodiments of this disclosure, IoT device 110-1 can send indication information indicating a changed scene to a server even when it lacks the ability to generate application information based on scene information related to the changed scene. For example, if IoT device 110-1 does not have a compiler installed, it cannot convert scene information into a program. As another example, IoT device 110-1 may be limited by processing resources, storage space, battery capacity, etc., preventing it from converting scene information into a program. Since the software and / or hardware of IoT device 110-1 makes it difficult for it to generate application information locally, IoT device 110-1 can seek assistance from a server to generate application information based on the scene information. Of course, if IoT device 110-1 has the ability to generate applications itself, it can also request the server to generate applications as needed, such as when it needs to save processing resources or when there are higher priority tasks.

[0066] As in S320, the server can generate a Wasm program using compiler technology based on scene information and / or semantic information, so that the generated program can run efficiently on the IoT device. The application information generated by the server can be sent directly by the server to the IoT device associated with the new scene, or it can be sent by the server to the IoT device that issued the instruction information (e.g., IoT device 110-1). After receiving the application information, IoT device 110-1 can forward it to the IoT device associated with the new scene. Of course, those skilled in the art will understand that the device that forwards the application information can also be the server in the IoT environment 100 or an IoT device that did not issue the instruction information, as long as the message destination is carried in the message to be forwarded.

[0067] The IoT devices associated with the new scenario that the application information needs to be sent to can be determined by the server from the instruction information. At this point, the instruction information can further carry instructions for these IoT devices, which are determined by IoT device 110-1 based on the mapping between scenarios and associated IoT devices. Alternatively, the server can determine the IoT devices associated with the new scenario based on its pre-stored mapping between scenarios and associated IoT devices, and on the indicated changed scenario.

[0068] After acquiring application information, IoT devices associated with a new scenario can use this information to implement functions adapted to the new scenario, thereby achieving automatic function adjustment based on scenario changes without human intervention. According to embodiments of this disclosure, IoT devices associated with a new scenario need to perform a legality check on the application information before using it. This improves the security of the Internet of Things (IoT) and avoids the risk of attacks due to arbitrarily receiving unknown information. For example, IoT devices can check whether the application information comes from a legitimate IoT device or server (e.g., devices whose IP address or physical address the IoT device knows are legitimate), whether the timestamp of the application information's generation is within a predetermined time period, and / or whether the functional purpose corresponding to the application information is achievable, etc., to perform a legality check on the application information.

[0069] IoT devices can change their operation by executing applications and / or data programs as application information, thereby enabling new functions. According to embodiments of this disclosure, programs can be stored in the IoT device in the form of XIP (eXecute In Place). Programs stored in memory in XIP form can be executed without being loaded into memory, thus improving program startup speed. Furthermore, programs stored in memory in XIP form occupy a fixed storage area, allowing updates to be performed within that storage area without affecting other storage areas. Given the limited resources, scenario adaptability, and functional flexibility requirements of IoT devices in the Internet of Things (IoT) environment, adopting XIP in IoT devices has at least the following advantages: First, the software of traditional IoT devices is a monolithic entity; the entire device's software is integrated. The operating system (OS), hardware abstraction layer (HAL), framework, and application program (APP) are all combined into a single image. When a small part of the logic needs to be updated, the entire software image is rewritten. XIP-form APPs running in a sandbox can be deployed independently. When an APP needs to be updated, only that related APP can be updated without modifying other parts. Therefore, when transferring programs from one device to another, frequent program updates using a file system can lead to file fragmentation. When fragmentation is severe, even sufficient total storage space may not be enough to deploy the files. However, XIP-formatted programs are contiguous files, typically fixed to a specific area on memory (e.g., flash memory), making them less prone to fragmentation. To accommodate frequent program updates, XIP-formatted programs utilize storage space more efficiently. Second, traditional executable programs require specific formats, such as PE / ELF. These formats may not be suitable for parsing and running on resource-constrained IoT devices due to the significant hardware and software resources required, such as file systems. XIP-formatted programs are typically custom formats with a direct memory instruction image of the executable program. When a program needs to be transferred, it can simply be transmitted as a block of data to another device. Third, traditional application loading requires parsing files in PE / ELF formats, and the system may need to provide or require additional information, such as the program's installation path and dependent libraries. XIP-formatted programs on IoT devices do not require this additional information. XIP-based programs are placed in a specific flash memory partition on the IoT device and mapped to virtual memory upon startup, as if the program already existed in memory, resulting in fast loading speeds. Unloading an XIP-based program simply involves overwriting the flash memory partition with another XIP-based program and then remapping it to virtual memory. The system does not require any registration information, greatly simplifying the operation of IoT devices and saving their resources and power.

[0070] Furthermore, IoT devices can generate inference outputs adapted to new scenarios by providing application-related data to predictive models, or by providing data as parameters to built-in programs to enable the programs to perform actions adapted to new scenarios. Additionally, application-related data can also be used as training data to train the current model through few-shot learning, enabling it to perform operations adapted to new scenarios. This kind of data allows IoT devices to exhibit the functionality to adapt to new scenarios.

[0071] The functionality of IoT devices can be automatically updated through automatically generated programs and / or data, depending on changes in the scenario. This not only makes the deployment of IoT devices more flexible and adaptable but also reduces the complexity of initialization. This is because, during initialization, only the default functions corresponding to the initial installation scenario can be deployed on the IoT device. Default functions could be, for example, recording the products on a supermarket shelf, ordering food in a restaurant, or providing directions in a shopping mall. Subsequent updates to these functions can be automatically performed by the IoT device's perception of changes in the scenario.

[0072] The real-time changes in application scenarios render traditional software deployment methods inadequate. However, the method described in this disclosure allows software and data on IoT devices to flexibly adapt to changing scenarios, enabling more intelligent and efficient business processing. Through the implementation of this solution, IoT devices can respond quickly to changes in scenarios without human intervention. This allows IoT devices to adapt to new scenarios more quickly and accurately, thereby improving network performance and enhancing user experience.

[0073] Furthermore, as mentioned above, changes in the scene can be perceived by local devices or by other devices throughout the environment. Once a scene change is detected, relevant IoT devices can be notified directly or indirectly (e.g., via a server) to update their software, thereby redefining the device's functionality. This means that device functionality can be defined by local real-time needs, rather than by cloud server users, thus improving the real-time nature and autonomy of software updates.

[0074] Furthermore, feature updates can refer not only to upgrades to related applications or software development kits (SDKs), but also to support different functions in different scenarios, and even to switching from one function to another based on device and scenario changes. Software packages deployed to IoT devices can be compiled from multiple languages ​​(C, Java, JS, etc.) and converted into binary files locally, then sent to the corresponding devices via the server or IoT devices to execute related functions. By adaptively generating corresponding programs based on scenarios, relevant software can be deployed on resource-constrained IoT devices according to changes in scenarios, improving the adaptability of IoT devices and the flexibility of function deployment. Executing programs and switching programs through the XIP scheme does not consume memory resources, thus optimizing hardware usage. Moreover, because a sandbox system can be used, the security of programs that may originate from third parties can be guaranteed, and because programs running in the sandbox system cannot perform operations not authorized by them, the local environment is protected from threats and infringements.

[0075] exist Figure 5 A flowchart of a method 500 for deploying IoT devices according to an embodiment of the present disclosure is shown.

[0076] In S510, method 500 begins. For example, each IoT device initially installed in the IoT environment has default functions that correspond to the operations required by the current installation environment. It is possible that the functions of each IoT device have been updated, and they are performing the updated functions.

[0077] In S520, the IoT device performs its current function until the scenario changes. A change in scenario can include changes in the scenario corresponding to the IoT device itself or other IoT devices, or it can include the IoT device completing its function execution or no longer needing the current function.

[0078] In S530, the IoT device sends requests and data to the server. For example, the request could be used to request the server to distribute new features, and the data could include information related to scene changes (e.g., scene information related to the changed scene), and this data could be included in the request.

[0079] In S540, the IoT device receives a new application from the server. The new application can be generated by the server based on the data in S530.

[0080] In the S550, IoT devices use the XIP feature to load newly received applications into a memory such as flash memory.

[0081] In S560, the IoT device checks the operating environment and license, and runs the program if the operating environment and license indicate that it is permissible to run the received new application. During the execution of the program, method 500 can return to S520 to continue monitoring whether the scenario changes.

[0082] In the S570, once the IoT device starts running the new application, the IoT device uninstalls the application's installation package. This saves storage space without affecting the application's operation.

[0083] Next, we will refer to Figure 6 A diagram illustrating an example of the software architecture of an IoT device according to an embodiment of this disclosure.

[0084] In IoT devices such as cameras, a runtime can be deployed, for example, deploying only the WebAssembly runtime. Based on the runtime, IoT device functionality can be provided through applications. Sandbox systems can be generated for applications, running within the sandbox to protect system security. For smart IoT devices, their inference capabilities can be customized using Wasi-NN from Wasm. The specific software deployment can take the form of XIP (Extended In-Service), further decoupling functionality from specific devices and avoiding the problem of software and hardware binding in IoT devices leading to difficulty in adapting to changing scenarios.

[0085] When an event occurs, IoT devices can perform corresponding functions based on that event. When the event changes, the functions of the IoT devices can change. For example, ... Figure 6 As shown, under event 1, the IoT device performs function A. At this time, application 1 and data 1 are stored in flash memory, deployed in XIP form, thus mapping to virtual memory at execution time without occupying physical memory. When event 1 changes to event 2, application 2 and data 2 are stored in flash memory, and the IoT device's function changes from function A to function B. Application 2 and data 2 are also deployed in XIP form and mapped to virtual memory at execution time. Although the diagram shows that both the application and data change when the event changes, it is possible that only one of the application and data changes, causing function B to adapt to the current event. Similarly, when a new event occurs, the application / data stored in flash memory changes, and the IoT device's function changes to function C.

[0086] Events can be detected by IoT devices by monitoring the scene and reported to the cloud. Alternatively, IoT devices can directly inform other IoT devices of an event. The cloud can then notify the IoT devices of the known events, allowing them to recognize changes in the scene. Furthermore, application information, including application and / or data, can be distributed through the cloud if generated by IoT devices, and vice versa if generated by the cloud.

[0087] Below, some specific examples of scenarios according to embodiments of this disclosure will be described.

[0088] exist Figure 7 In the supermarket shown, cameras (IoT1) are installed near the shelves, and automated checkout devices (IoT2) are installed at the checkout counters. IoT1 continuously acquires images of the shelves to monitor the best-selling items (as shown in 7-01). IoT1 collects relevant information from the acquired images and analyzes the sales volume of the items, ranking them (as shown in 7-02). IoT1 sends the ranked information to the automated checkout device (IoT2) as a data program (as shown in 7-03). Based on the received information, IoT2 pushes the identified product types to the user in priority order (as shown in 7-04), placing the best-selling items at the top for easier selection. For example, based on application information provided by IoT1 (e.g., the top 10 best-selling product types), IoT2 can increase the probability of selecting / presenting best-selling items when identifying the items the user intends to purchase, thus encouraging customers to choose them first. At this point, changes in the scene affect the IoT devices at the checkout counter.

[0089] exist Figure 8 The text shows that in Figure 7 The flowchart below shows the method 800 used in the scenario. The left side shows the operations performed by IoT1, and the right side shows the operations performed by IoT2.

[0090] In S805, IoT1 performs inference operations using a smart chip to obtain scene information based on the detected scene.

[0091] In S810, IoT1 determines whether customers are gathered based on the acquired scene information. If customers are not gathered, it returns to S805 to continue scene detection. If customers are gathered (e.g., the number of customers exceeds a predetermined threshold), it is determined that the scene has changed. At this point, some information needs to be collected for use by IoT2.

[0092] In S815, IoT1 obtains the Customer Number parameter. In S820, IoT1 obtains the Merchandise Type parameter. S820 can be executed in parallel with S815, or it can be executed before S815.

[0093] In S825, IoT1 defines the data program `get_customer_number` to obtain the number of customers. In S830, IoT1 outputs `get_customer_number`. In S835, IoT1 defines the data program `get_merchandise_type` to obtain the product type. In S840, IoT1 outputs `get_merchandise_type`. There are no particular restrictions on the execution order of the definition and output of these two data programs, as long as the same data program is defined first and then output. For simple cases, a sequence of Wasm text can be directly generated, for example, as a parameter set represented by a program. For complex cases, scripts such as TypeScript can be used, and the script can be converted into Wasm form programs, for example, using the LLVM compiler Wasmnizer-ts.

[0094] In S845, IoT1 uses LLVM / warmc to compile programs from S830 and S840 into wasm format programs.

[0095] In S850, IoT1 generates the executable file csm_env_chg_xip.aot. The aforementioned data program can be obtained through this executable file.

[0096] In the S855, IoT1 sends the executable file csm_env_chg_xip.aot to IoT2.

[0097] In the S860, IoT2 receives the executable file csm_env_chg_xip.aot.

[0098] In the S865, IoT2 writes the application's csm_env_chg_xip.aot to the application partition in flash memory.

[0099] In the S870, IoT2 performs memory mapping on csm_env_chg_xip.aot to map it to virtual memory without loading it into memory.

[0100] In S875, IoT2 runs the application and calls `get_customer_number` to obtain customer quantity information. In S880, IoT2 runs the application and calls `get_merchandise_type` to obtain product type information. There are no particular restrictions on the execution order of S875 and S880.

[0101] In S885, IoT2 will provide the new information acquired in S875 and S880 to the AI ​​model of IoT2 that utilizes the information to update the inference task in IoT2.

[0102] In S890, IoT2 outputs new inference results.

[0103] Figure 9 A schematic diagram illustrating another scenario according to an embodiment of this disclosure is shown. For example... Figure 9 As shown, multiple IoT devices are installed in the restaurant, acting as service robots that can move freely within the restaurant. Each service robot has a shelf for placing items. The first service robot, IoT1, leaves the kitchen carrying a tray of food, responsible for delivering food (as shown in 9-01). IoT1 can observe other service robots to determine if their shelves are empty (as shown in 9-02). At a certain moment, IoT1 detects that the second service robot, IoT2, and / or the third service robot, IoT3, has completed tray delivery, and their shelves are empty (as shown in 9-03). Then, for service robots with empty shelves, IoT1 notifies the server of the current situation to receive a new program adapted to that situation from the server, and sends the received program to IoT2 and / or IoT3 so that IoT2 and / or IoT3 with empty shelves can collect the trays (as shown in 9-04). In 9-04, IoT1 can also compile locally based on the current situation information (empty shelves) to generate a corresponding new program and send it to IoT2 and / or IoT3.

[0104] By implementing the solution according to the embodiments of this disclosure, when the scene changes, the IoT devices associated with the changed scene can automatically perform relevant functions without human intervention, thereby improving the response speed to scene changes and the flexibility and adaptability of IoT device function deployment, which can improve network performance and enhance user experience.

[0105] The foregoing has described various exemplary devices and methods according to embodiments of this disclosure. It should be understood that the operation or function of these devices can be combined with each other to achieve more or fewer operations or functions than described. Similarly, the operational steps of the methods can be combined with each other in any suitable order to similarly achieve more or fewer operations than described.

[0106] It should be understood that the machine-executable instructions in a machine-readable storage medium or program product according to embodiments of this disclosure can be configured to perform operations corresponding to the above-described device and method embodiments. Embodiments of the machine-readable storage medium or program product will be clear to those skilled in the art when referring to the above-described device and method embodiments, and therefore will not be described again. Machine-readable storage media and program products used to carry or include the above-described machine-executable instructions also fall within the scope of this disclosure. Such storage media may include, but are not limited to, floppy disks, optical disks, magneto-optical disks, memory cards, memory sticks, etc.

[0107] Furthermore, it should be understood that the aforementioned series of processes and devices can also be implemented via software and / or firmware. In the case of implementation via software and / or firmware, data can be transferred from storage media or networks to computers with dedicated hardware architectures, such as… Figure 10 The general-purpose personal computer 1300 shown is equipped with the programs that constitute the software, and the computer is able to perform various functions when various programs are installed. Figure 10 This is a block diagram illustrating an example structure of a personal computer as an information processing device that may be employed in embodiments of this disclosure. In one example, the personal computer may correspond to the exemplary IoT device described above according to this disclosure.

[0108] exist Figure 10 In this system, the central processing unit (CPU) 1301 performs various processes based on the program stored in the read-only memory (ROM) 1302 or the program loaded into the random access memory (RAM) 1303 from the storage section 1308. The RAM 1303 also stores, as needed, the data required when the CPU 1301 performs various processes.

[0109] CPU 1301, ROM 1302 and RAM 1303 are connected to each other via bus 1304. Input / output interface 1305 is also connected to bus 1304.

[0110] The following components are connected to the input / output interface 1305: input section 1306, including a keyboard, mouse, etc.; output section 1307, including a display, such as a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; storage section 1308, including a hard disk, etc.; and communication section 1309, including a network interface card, such as a LAN card, modem, etc. The communication section 1309 performs communication processing via a network, such as the Internet.

[0111] As needed, drive 1310 is also connected to input / output interface 1305. Removable media 1311, such as disks, optical disks, magneto-optical disks, semiconductor memories, etc., are installed on drive 1310 as needed, so that computer programs read from them can be installed into storage section 1308 as needed.

[0112] When the above series of processes are implemented by software, the program constituting the software is installed from a network such as the Internet or a storage medium such as removable media 1311.

[0113] Those skilled in the art will understand that such storage media are not limited to Figure 10 The illustrated removable medium 1311 stores a program and is distributed separately from the device to provide the program to the user. Examples of removable media 1311 include magnetic disks (including floppy disks (registered trademark)), optical disks (including optical disc read-only memory (CD-ROM) and digital versatile disks (DVD)), magneto-optical disks (including mini-disk (MD) (registered trademark)), and semiconductor memory. Alternatively, the storage medium may be ROM 1302, a hard disk included in storage section 1308, etc., containing programs and distributed to the user along with the device containing them.

[0114] The technology disclosed herein can be applied to a variety of products. For example, the base station mentioned in this disclosure can be implemented as any type of evolved Node B (gNB), such as macro gNB and small gNB. Small gNB can be a gNB that covers a cell smaller than a macro cell, such as pico gNB, micro gNB, and femtocell gNB. Alternatively, the base station can be implemented as any other type of base station, such as NodeB and Base Transceiver Station (BTS). The base station may include: a subject configured to control wireless communication (also called base station equipment); and one or more remote radio heads (RRHs) located in a different location from the subject. In addition, the various types of terminals described below can operate as base stations by temporarily or semi-persistently performing base station functions.

[0115] For example, the IoT devices mentioned in this disclosure, also referred to as user equipment in some examples, can be implemented as mobile terminals (such as smartphones, tablet PCs, laptop PCs, portable gaming consoles, portable / dongle-type mobile routers, and digital camera devices) or in-vehicle terminals (such as car navigation devices). User equipment can also be implemented as terminals performing machine-to-machine (M2M) communication (also known as machine-type communication (MTC) terminals). Furthermore, user equipment can be a wireless communication module (such as an integrated circuit module comprising a single chip) installed on each of the aforementioned terminals.

[0116] The following will refer to Figures 11 to 14 Describe an application example based on this disclosure.

[0117] [Application examples of base stations]

[0118] It should be understood that the IoT devices in this disclosure can communicate with base stations and access external networks or communicate with each other through base stations. The term "base station" has the full breadth of its usual meaning and includes at least a wireless communication station used as part of a wireless communication system or radio system to facilitate communication. Examples of base stations may include, but are not limited to, the following: a base station can be one or both of a base transceiver unit (BTS) and a base station controller (BSC) in a GSM system; one or both of a radio network controller (RNC) and a Node B in a WCDMA system; an eNB in ​​LTE and LTE-Advanced systems; or a corresponding network node in a future communication system (e.g., a gNB, eLTE eNB, etc., that may appear in a 5G communication system). Some functions of the base stations in this disclosure can also be implemented as entities that control communication in D2D, M2M, and V2V communication scenarios, or as entities that play a role in spectrum coordination in cognitive radio communication scenarios.

[0119] First application example

[0120] Figure 11 This is a block diagram illustrating a first example of a schematic configuration of a gNB to which the technologies of this disclosure can be applied. The gNB 1400 includes a plurality of antennas 1410 and a base station device 1420. The base station device 1420 and each antenna 1410 can be connected to each other via RF cables. In one implementation, the gNB 1400 (or base station device 1420) herein may correspond to the aforementioned electronic devices 300A, 1300A, and / or 1500B.

[0121] Each of the antennas 1410 includes one or more antenna elements (such as multiple antenna elements included in a multiple-input multiple-output (MIMO) antenna) and is used by the base station equipment 1420 to transmit and receive wireless signals. Figure 11 As shown, the gNB 1400 may include multiple antennas 1410. For example, the multiple antennas 1410 may be compatible with multiple frequency bands used by the gNB 1400.

[0122] The base station equipment 1420 includes a controller 1421, a memory 1422, a network interface 1423, and a wireless communication interface 1425.

[0123] The controller 1421 can be, for example, a CPU or a DSP, and operates various higher-level functions of the base station equipment 1420. For example, the controller 1421 generates data packets based on data in signals processed by the wireless communication interface 1425, and transmits the generated packets via the network interface 1423. The controller 1421 can bundle data from multiple baseband processors to generate bundled packets and transmit the generated bundled packets. The controller 1421 may have logical functions that perform controls such as radio resource control, radio bearer control, mobility management, admission control, and scheduling. This control can be performed in conjunction with nearby gNBs or core network nodes. The memory 1422 includes RAM and ROM, and stores programs executed by the controller 1421 and various types of control data (such as terminal lists, transmission power data, and scheduling data).

[0124] Network interface 1423 is a communication interface for connecting base station equipment 1420 to core network 1424. Controller 1421 can communicate with core network nodes or other gNBs via network interface 1423. In this case, gNB 1400 and core network nodes or other gNBs can be connected to each other via logical interfaces (such as S1 and X2 interfaces). Network interface 1423 can also be a wired communication interface or a wireless communication interface for wireless backhaul. If network interface 1423 is a wireless communication interface, it can use a higher frequency band for wireless communication compared to the frequency band used by wireless communication interface 1425.

[0125] Wireless communication interface 1425 supports any cellular communication scheme (such as LTE and LTE-Advanced) and provides wireless connectivity to terminals located in the cell of gNB 1400 via antenna 1410. Wireless communication interface 1425 typically includes, for example, a baseband (BB) processor 1426 and RF circuitry 1427. BB processor 1426 can perform, for example, encoding / decoding, modulation / demodulation, and multiplexing / demultiplexing, and performs various types of signal processing at layers such as L1, Media Access Control (MAC), Radio Link Control (RLC), and Packet Data Convergence Protocol (PDCP). Instead of controller 1421, BB processor 1426 may have some or all of the above-described logical functions. BB processor 1426 may be a memory storing communication control programs, or a module including a processor and associated circuitry configured to execute programs. Update programs can change the functionality of BB processor 1426. The module may be a card or blade inserted into a slot in base station equipment 1420. Alternatively, the module may be a chip mounted on a card or blade. Meanwhile, the RF circuit 1427 may include, for example, a mixer, a filter, and an amplifier, and transmits and receives wireless signals via the antenna 1410. Although Figure 11 An example of an RF circuit 1427 connected to an antenna 1410 is shown, but this disclosure is not limited to the illustration, and an RF circuit 1427 can be connected to multiple antennas 1410 simultaneously.

[0126] like Figure 11 As shown, the wireless communication interface 1425 may include multiple BB processors 1426. For example, the multiple BB processors 1426 may be compatible with multiple frequency bands used by the gNB 1400. Figure 11 As shown, the wireless communication interface 1425 may include multiple RF circuits 1427. For example, the multiple RF circuits 1427 may be compatible with multiple antenna elements. Although Figure 11 An example is shown in which the wireless communication interface 1425 includes multiple BB processors 1426 and multiple RF circuits 1427, but the wireless communication interface 1425 may also include a single BB processor 1426 or a single RF circuit 1427.

[0127] Second application example

[0128] Figure 12 This is a block diagram illustrating a second example of a schematic configuration of a gNB to which the technologies of this disclosure can be applied. The gNB 1530 includes multiple antennas 1540, a base station device 1550, and an RRH 1560. The RRH 1560 and each antenna 1540 can be connected to each other via RF cables. The base station device 1550 and the RRH 1560 can be connected to each other via high-speed lines such as fiber optic cables. In one implementation, the gNB 1530 (or base station device 1550) herein may correspond to the aforementioned electronic devices 300A, 1300A, and / or 1500B.

[0129] Each of the antennas 1540 includes one or more antenna elements (such as multiple antenna elements included in a MIMO antenna) and is used by the RRH 1560 to transmit and receive wireless signals. Figure 12 As shown, the gNB 1530 may include multiple antennas 1540. For example, the multiple antennas 1540 may be compatible with multiple frequency bands used by the gNB 1530.

[0130] Base station equipment 1550 includes a controller 1551, a memory 1552, a network interface 1553, a wireless communication interface 1555, and a connection interface 1557. The controller 1551, memory 1552, and network interface 1553 are related to a reference... Figure 11 The controller 1421, memory 1422 and network interface 1423 described are the same.

[0131] Wireless communication interface 1555 supports any cellular communication scheme (such as LTE and LTE-Advanced) and provides wireless communication to terminals located in the sector corresponding to RRH 1560 via RRH 1560 and antenna 1540. Wireless communication interface 1555 may typically include, for example, a BB processor 1556. In addition to the BB processor 1556 being connected to the RF circuitry 1564 of RRH 1560 via connection interface 1557, the BB processor 1556 is connected to the reference... Figure 11 The BB processor 1426 is described as identical. Figure 12 As shown, the wireless communication interface 1555 may include multiple BB processors 1556. For example, the multiple BB processors 1556 may be compatible with multiple frequency bands used by the gNB 1530. Although Figure 12 An example is shown in which the wireless communication interface 1555 includes multiple BB processors 1556, but the wireless communication interface 1555 may also include a single BB processor 1556.

[0132] Connection interface 1557 is an interface for connecting base station device 1550 (wireless communication interface 1555) to RRH 1560. Connection interface 1557 may also be a communication module for communication in the aforementioned high-speed line connecting base station device 1550 (wireless communication interface 1555) to RRH 1560.

[0133] The RRH 1560 includes a connectivity interface 1561 and a wireless communication interface 1563.

[0134] Connection interface 1561 is an interface for connecting RRH 1560 (wireless communication interface 1563) to base station equipment 1550. Connection interface 1561 can also be a communication module for communication in the aforementioned high-speed line.

[0135] Wireless communication interface 1563 transmits and receives wireless signals via antenna 1540. Wireless communication interface 1563 typically includes, for example, RF circuitry 1564. RF circuitry 1564 may include, for example, a mixer, filter, and amplifier, and transmits and receives wireless signals via antenna 1540. Although Figure 12 An example of an RF circuit 1564 connected to an antenna 1540 is shown, but this disclosure is not limited to the illustration, and an RF circuit 1564 can be connected to multiple antennas 1540 simultaneously.

[0136] like Figure 12 As shown, the wireless communication interface 1563 may include multiple RF circuits 1564. For example, the multiple RF circuits 1564 may support multiple antenna elements. Although Figure 12An example is shown in which the wireless communication interface 1563 includes multiple RF circuits 1564, but the wireless communication interface 1563 may also include a single RF circuit 1564.

[0137] [Application examples related to user equipment]

[0138] First application example

[0139] Figure 13 This is a block diagram illustrating an example of a schematic configuration of a smartphone 1600 to which the technologies of this disclosure can be applied. The smartphone 1600 includes a processor 1601, a memory 1602, a storage device 1603, an external connection interface 1604, a camera device 1606, a sensor 1607, a microphone 1608, an input device 1609, a display device 1610, a speaker 1611, a wireless communication interface 1612, one or more antenna switches 1615, one or more antennas 1616, a bus 1617, a battery 1618, and an auxiliary controller 1619. In one implementation, the smartphone 1600 (or processor 1601) herein may correspond to the terminal devices 300B and / or 1500A described above.

[0140] The processor 1601 may be, for example, a CPU or a system-on-a-chip (SoC), and controls the application layer and other functions of the smartphone 1600. The memory 1602 includes RAM and ROM, and stores data and programs executed by the processor 1601. The storage device 1603 may include storage media such as semiconductor memory and hard disks. The external connectivity interface 1604 is an interface for connecting external devices, such as memory cards and Universal Serial Bus (USB) devices, to the smartphone 1600.

[0141] The camera device 1606 includes an image sensor (such as a charge-coupled device (CCD) and complementary metal-oxide-semiconductor (CMOS)) and generates captured images. The sensor 1607 may include a set of sensors, such as a measurement sensor, a gyroscope sensor, a magnetometer sensor, and an accelerometer sensor. The microphone 1608 converts sound input to the smartphone 1600 into an audio signal. The input device 1609 includes, for example, a touch sensor, keypad, keyboard, buttons, or switches configured to detect touches on the screen of the display device 1610 and receive operations or information input from the user. The display device 1610 includes a screen (such as a liquid crystal display (LCD) and an organic light-emitting diode (OLED) display) and displays the output image of the smartphone 1600. The speaker 1611 converts the audio signal output from the smartphone 1600 into sound.

[0142] The wireless communication interface 1612 supports any cellular communication scheme (such as LTE and LTE-Advanced) and performs wireless communication. The wireless communication interface 1612 typically includes, for example, a BB processor 1613 and RF circuitry 1614. The BB processor 1613 can perform, for example, encoding / decoding, modulation / demodulation, and multiplexing / demultiplexing, and performs various types of signal processing for wireless communication. Meanwhile, the RF circuitry 1614 can include, for example, mixers, filters, and amplifiers, and transmits and receives wireless signals via antenna 1616. The wireless communication interface 1612 can be a single chip module on which the BB processor 1613 and RF circuitry 1614 are integrated. Figure 13 As shown, the wireless communication interface 1612 may include multiple BB processors 1613 and multiple RF circuits 1614. Although Figure 13 An example is shown in which the wireless communication interface 1612 includes multiple BB processors 1613 and multiple RF circuits 1614, but the wireless communication interface 1612 may also include a single BB processor 1613 or a single RF circuit 1614.

[0143] In addition to cellular communication schemes, wireless communication interface 1612 can support other types of wireless communication schemes, such as short-range wireless communication schemes, near-field communication schemes, and wireless local area network (LAN) schemes. In this case, wireless communication interface 1612 may include a BB processor 1613 and RF circuitry 1614 for each wireless communication scheme.

[0144] Each of the antenna switches 1615 switches the connection destination of the antenna 1616 among multiple circuits (e.g., circuits for different wireless communication schemes) included in the wireless communication interface 1612.

[0145] Each of the antennas 1616 includes one or more antenna elements (such as multiple antenna elements included in a MIMO antenna) and is used by the wireless communication interface 1612 to transmit and receive wireless signals. Figure 13 As shown, the smartphone 1600 may include multiple antennas 1616. Although Figure 13 An example is shown in which the smartphone 1600 includes multiple antennas 1616, but the smartphone 1600 may also include a single antenna 1616.

[0146] Furthermore, the smartphone 1600 may include an antenna 1616 for each wireless communication scheme. In this case, the antenna switch 1615 can be omitted from the configuration of the smartphone 1600.

[0147] Bus 1617 connects processor 1601, memory 1602, storage device 1603, external connection interface 1604, camera device 1606, sensor 1607, microphone 1608, input device 1609, display device 1610, speaker 1611, wireless communication interface 1612, and auxiliary controller 1619 to each other. Battery 1618 supplies power to... Figure 13 The various blocks of the smartphone 1600 shown are powered, and the feeders are partially shown as dashed lines in the figure. The auxiliary controller 1619 operates the minimum necessary functions of the smartphone 1600, for example, in sleep mode.

[0148] Second application example

[0149] Figure 14 This is a block diagram illustrating an example of a schematic configuration of a car navigation device 1720 to which the technology of this disclosure can be applied. The car navigation device 1720 includes a processor 1721, a memory 1722, a Global Positioning System (GPS) module 1724, a sensor 1725, a data interface 1726, a content player 1727, a storage medium interface 1728, an input device 1729, a display device 1730, a speaker 1731, a wireless communication interface 1733, one or more antenna switches 1736, one or more antennas 1737, and a battery 1738. In one implementation, the car navigation device 1720 (or processor 1721) herein may correspond to the aforementioned terminal devices 300B and / or 1500A.

[0150] The processor 1721 can be, for example, a CPU or a SoC, and controls the navigation functions and other functions of the car navigation device 1720. The memory 1722 includes RAM and ROM, and stores data and programs executed by the processor 1721.

[0151] GPS module 1724 uses GPS signals received from GPS satellites to measure the location (such as latitude, longitude, and altitude) of car navigation device 1720. Sensor 1725 may include a set of sensors, such as a gyroscope sensor, a geomagnetic sensor, and an air pressure sensor. Data interface 1726 is connected to, for example, an in-vehicle network 1741 via a terminal not shown, and acquires data generated by the vehicle (such as vehicle speed data).

[0152] Content player 1727 reproduces content stored on storage media (such as CDs and DVDs), which is inserted into storage media interface 1728. Input device 1729 includes, for example, a touch sensor, button, or switch configured to detect touch on the screen of display device 1730, and receives operations or information input from the user. Display device 1730 includes a screen such as an LCD or OLED display and displays images or reproduced content for navigation functions. Speaker 1731 outputs sound for navigation functions or reproduced content.

[0153] The wireless communication interface 1733 supports any cellular communication scheme (such as LTE and LTE-Advanced) and performs wireless communication. The wireless communication interface 1733 typically includes, for example, a BB processor 1734 and RF circuitry 1735. The BB processor 1734 can perform, for example, encoding / decoding, modulation / demodulation, and multiplexing / demultiplexing, and performs various types of signal processing for wireless communication. Meanwhile, the RF circuitry 1735 can include, for example, a mixer, filters, and amplifiers, and transmits and receives wireless signals via antenna 1737. The wireless communication interface 1733 can also be a chip module on which the BB processor 1734 and RF circuitry 1735 are integrated. Figure 14 As shown, the wireless communication interface 1733 may include multiple BB processors 1734 and multiple RF circuits 1735. Although Figure 14 An example is shown in which the wireless communication interface 1733 includes multiple BB processors 1734 and multiple RF circuits 1735, but the wireless communication interface 1733 may also include a single BB processor 1734 or a single RF circuit 1735.

[0154] In addition to cellular communication schemes, the wireless communication interface 1733 can support other types of wireless communication schemes, such as short-range wireless communication schemes, near-field communication schemes, and wireless LAN schemes. In this case, for each wireless communication scheme, the wireless communication interface 1733 may include a BB processor 1734 and an RF circuit 1735.

[0155] Each of the antenna switches 1736 switches the connection destination of the antenna 1737 among multiple circuits (such as circuits for different wireless communication schemes) included in the wireless communication interface 1733.

[0156] Each of the antennas 1737 includes one or more antenna elements (such as multiple antenna elements included in a MIMO antenna) and is used by the wireless communication interface 1733 to transmit and receive wireless signals. Figure 14 As shown, the car navigation device 1720 may include multiple antennas 1737. Although Figure 14An example is shown in which the car navigation device 1720 includes multiple antennas 1737, but the car navigation device 1720 may also include a single antenna 1737.

[0157] Furthermore, the car navigation device 1720 may include an antenna 1737 for each wireless communication scheme. In this case, the antenna switch 1736 can be omitted from the configuration of the car navigation device 1720.

[0158] Battery 1738 via feeder to Figure 14 The various blocks of the car navigation device 1720 shown are powered, and the feeders are partially shown as dashed lines in the figure. Battery 1738 accumulates the power supplied from the vehicle.

[0159] The technology disclosed herein can also be implemented as an in-vehicle system (or vehicle) 1740 including one or more blocks of an automotive navigation device 1720, an in-vehicle network 1741, and a vehicle module 1742. The vehicle module 1742 generates vehicle data (such as vehicle speed, engine speed, and fault information) and outputs the generated data to the in-vehicle network 1741.

[0160] Exemplary embodiments of the present disclosure have been described above with reference to the accompanying drawings; however, the present disclosure is by no means limited to the examples described above. Various changes and modifications can be made by those skilled in the art within the scope of the appended claims, and it should be understood that such changes and modifications naturally fall within the technical scope of the present disclosure.

[0161] For example, the multiple functions included in one unit in the above embodiments can be implemented by separate devices. Alternatively, the multiple functions implemented by multiple units in the above embodiments can be implemented by separate devices respectively. In addition, one of the above functions can be implemented by multiple units. Needless to say, such a configuration is included within the scope of the present disclosure.

[0162] The functionality of the elements disclosed herein can be implemented using circuitry or processing circuitry, including general-purpose processors, application-specific processors, integrated circuits, ASICs (“Application-Specific Integrated Circuits”), conventional circuitry, and / or combinations thereof, configured or programmed to perform the disclosed functions. Processors are considered processing circuitry or circuitry because they include transistors and other circuitry. In this disclosure, a circuit, unit, or device is hardware that performs or is programmed to perform the functions. The hardware can be any hardware disclosed herein or otherwise known that is programmed or configured to perform the functions. When the hardware is a processor that can be considered a type of circuit, the circuit, device, or unit is a combination of hardware and software used to configure the hardware and / or processor.

[0163] In this specification, the steps described in the flowchart include not only processes executed sequentially in the stated order, but also processes executed in parallel or individually, rather than necessarily sequentially. Furthermore, even within the steps of sequential processing, needless to say, the order can be appropriately altered.

[0164] While this disclosure and its advantages have been described in detail, it should be understood that various changes, substitutions, and modifications can be made without departing from the spirit and scope of this disclosure as defined by the appended claims. Furthermore, the terms "comprising," "including," or any other variations thereof used in embodiments of this disclosure are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0165] As will be appreciated from the description herein, embodiments of this disclosure can be configured as follows:

[0166] 1. An electronic device for an Internet of Things (IoT) system, comprising:

[0167] Processor; and

[0168] The memory includes computer program instructions, wherein the memory and computer program instructions are configured to cause the electronic device to perform the following operations via the processor:

[0169] Determine if the scene has changed; and

[0170] An operation is performed to enable one or more IoT devices associated with a changed scenario to obtain application information generated based on the changed scenario, wherein the application information is used to enable the one or more IoT devices to perform functions adapted to the changed scenario.

[0171] 2. The electronic device according to Clause 1, wherein the memory and computer program instructions are further configured to cause the electronic device to perform the following operations via the processor:

[0172] Detecting scenarios within the detectable range of IoT devices; and

[0173] If the detected scene indicates that a predetermined event has occurred, it is determined that the scene has changed, wherein the detected scene is the changed scene.

[0174] 3. The electronic device according to Clause 1, wherein the memory and computer program instructions are further configured to cause the electronic device to perform the following operations via the processor:

[0175] Receive information related to the scene detected by other IoT devices; and

[0176] Based on the received information, it is determined that the scene has changed.

[0177] The scene detected by other IoT devices is the changed scene.

[0178] 4. The electronic device according to Clause 1, wherein the memory and computer program instructions are further configured to cause the electronic device to perform the following operations via the processor:

[0179] The application information is generated based on scene information related to the changed scene; and

[0180] The application information is provided to the one or more IoT devices.

[0181] 5. The electronic device according to Clause 4, wherein the memory and computer program instructions are further configured to cause the electronic device to perform the following operations via the processor:

[0182] Before sending the application information to the one or more IoT devices, the one or more IoT devices associated with the changed scenario are determined based on the correspondence between the scenario and the associated IoT devices.

[0183] 6. The electronic device according to Clause 4, wherein the memory and computer program instructions are further configured to cause the electronic device to perform the following operations via the processor:

[0184] Before sending the application information to the one or more IoT devices, the application information is sent to the one or more IoT devices in response to determining that the one or more IoT devices have the ability to process the application information.

[0185] 7. The electronic device according to Clause 4, wherein the memory and computer program instructions are further configured to cause the electronic device to perform the following operations via the processor:

[0186] Generate semantic information to describe the changed scene based on the scene information; and

[0187] The application information is generated based on the semantic information.

[0188] 8. The electronic device according to Clause 7, wherein the memory and computer program instructions are further configured to cause the electronic device to perform the following operations via the processor:

[0189] The semantic information is converted into a wasm program using compiler technology, which serves as the application information.

[0190] 9. The electronic device according to Clause 1, wherein the memory and computer program instructions are further configured to cause the electronic device to perform the following operations via the processor:

[0191] The instruction information of the changed scene is sent to the server, so that the server can generate the application information based on the instruction information and provide the application information to the one or more IoT devices.

[0192] 10. The electronic device according to Clause 9, wherein the indication information includes at least one of the following:

[0193] Scene information related to the changed scene; and

[0194] Semantic information used to describe the changed scene is generated based on scene information related to the changed scene.

[0195] 11. The electronic device according to Clause 9, wherein the memory and computer program instructions are further configured to cause the electronic device to perform the following operations via the processor:

[0196] If the IoT device does not have the ability to generate the application information based on the scene information related to the changed scene, the indication information indicating the changed scene will be sent to the server.

[0197] 12. The electronic device according to Clause 9, wherein the memory and computer program instructions are further configured to cause the electronic device to perform the following operations via the processor:

[0198] The application information is received from the server as a program in wasm format obtained according to the indicated information.

[0199] 13. The electronic device according to Clause 1, wherein the electronic device is configured during initialization to have only default functions corresponding to the scenario at the time of initial installation.

[0200] 14. The electronic device according to Clause 1, wherein the application information includes at least one of the following:

[0201] Applications related to the changed scene;

[0202] Data related to the changed scene; and

[0203] A data program compiled from data related to the changed scenario.

[0204] 15. The electronic device according to Clause 14, wherein at least one of the application and data programs is stored in the one or more IoT devices in the form of an XIP.

[0205] 16. The electronic device according to Clause 1, wherein the application information can only be used by the one or more IoT devices after passing a legality check.

[0206] 17. The electronic device according to Clause 1, wherein the one or more IoT devices include the electronic device.

[0207] 18. A method for an Internet of Things (IoT) system, comprising:

[0208] Determine if the scene has changed; and

[0209] An operation is performed to enable one or more IoT devices associated with a changed scenario to obtain application information generated based on the changed scenario, wherein the application information is used to enable the one or more IoT devices to perform functions adapted to the changed scenario.

[0210] 19. An electronic device for an Internet of Things (IoT) system, comprising:

[0211] Processor; and

[0212] The memory includes computer program instructions, wherein the memory and computer program instructions are configured to cause the electronic device to perform the following operations via the processor:

[0213] Receive indication information from IoT devices indicating a changed scene, wherein the indication information is received when the scene changes;

[0214] Application information is generated based on the indicated information, wherein the application information is used to enable one or more IoT devices associated with the changed scenario to perform functions adapted to the changed scenario; and

[0215] The application information is provided to the one or more IoT devices.

[0216] 20. A method for an Internet of Things (IoT) system, comprising:

[0217] Receive indication information from IoT devices indicating a changed scene, wherein the indication information is received when the scene changes;

[0218] Application information is generated based on the indicated information, wherein the application information is used to enable one or more IoT devices associated with the changed scenario to perform functions adapted to the changed scenario; and

[0219] The application information is provided to the one or more IoT devices.

[0220] 21. A computer-readable storage medium having stored thereon computer program instructions that, when executed by a processing device, cause the processing device to perform the method described in accordance with clause 18 or 20.

Claims

1. An electronic device for an Internet of Things (IoT) system, comprising: a processor; and a memory including computer program instructions, wherein the memory and the computer program instructions are configured to, with the processor, cause the electronic device to perform operations of: determining that a scene has changed; and performing an operation to cause one or more IoT devices associated with the changed scene to obtain application information generated according to the changed scene, wherein the application information is used to cause the one or more IoT devices to implement a function that is adapted to the changed scene. the memory and the computer program instructions are further configured to, with the processor, cause the electronic device to perform operations of: detecting a scene within a detectable range of an IoT device; and 2.The electronic device of claim 1, wherein, in a case where the detected scene indicates occurrence of a predetermined event, determining that the scene has changed, wherein the detected scene is the changed scene. the memory and the computer program instructions are further configured to, with the processor, cause the electronic device to perform operations of: receiving information related to a scene detected by another IoT device from the other IoT device; and 3.The electronic device of claim 1, wherein, determining that the scene has changed according to the received information, wherein the scene detected by the other IoT device is the changed scene. the memory and the computer program instructions are further configured to, with the processor, cause the electronic device to perform operations of: generating the application information according to scene information related to the changed scene; and 4. The electronic device of claim 1, wherein, providing the application information to the one or more IoT devices. the memory and the computer program instructions are further configured to, with the processor, cause the electronic device to perform operations of: determining the one or more IoT devices associated with the changed scene according to a correspondence between a scene and an associated IoT device, before transmitting the application information to the one or more IoT devices.

5. The electronic device of claim 4, wherein, the memory and the computer program instructions are further configured to, with the processor, cause the electronic device to perform operations of: transmitting the application information to the one or more IoT devices in response to determining that the one or more IoT devices have a capability to process the application information, before transmitting the application information to the one or more IoT devices.

6. The electronic device of claim 4, wherein, the memory and the computer program instructions are further configured to, with the processor, cause the electronic device to perform operations of: generating semantic information describing the changed scene according to the scene information; and 7. The electronic device of claim 4, wherein, generating the application information according to the semantic information. the memory and the computer program instructions are further configured to, with the processor, cause the electronic device to perform operations of: converting the semantic information into a program in a wasm form as the application information by utilizing a compiler technique.

8. The electronic device of claim 7, wherein, the memory and the computer program instructions are further configured to, with the processor, cause the electronic device to perform operations of: ​ 9. The electronic device of claim 1, wherein, ​ transmitting indication information indicating the changed scene to a server, to cause the server to generate the application information according to the indication information and provide the application information to the one or more IoT devices.

10. The electronic device of claim 9, wherein, The indication information includes at least one of: scene information related to the changed scene; and semantic information generated according to the scene information related to the changed scene and describing the changed scene.