Internet of Things Configurable Event Action Sequencing Framework
By introducing a configurable event action serialization mechanism in the IoT system, the problem that traditional technology is difficult to deal with complex events and multiple dynamic actions is solved, efficient utilization of complex data and flexibility in event processing is achieved, and the system's intelligence and automation capabilities are improved.
Patent Information
- Application Number
- JP2023094981
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2017-09-06
- Filing Date
- 2023-06-08
- Publication Date
- 2025-04-07
- Estimated Expiration
- 2038-09-06
AI Technical Summary
Traditional IoT event management capabilities are difficult to effectively handle complex event processing and multiple dynamic actions, and the prior art has complexity and inconvenience in configuring and managing complex event sequences.
A configurable event action serialization mechanism is proposed to dynamically coordinate IoT events by defining the relationship between events and actions to achieve efficient utilization of complex data. This mechanism includes a resource manager, execution unit and update engine, manages events and action resources through the RESTful interface, and updates IoT processes dynamically.
It realizes flexible configuration and management of events and actions in complex IoT systems, improves the efficiency and dynamics of event processing, simplifies user operations, and enhances the intelligence and automation capabilities of the system.
Smart Images

Figure 0007657856000015 
Figure 0007657856000016 
Figure 0007657856000017
Abstract
Description
[Technical Field]
[0001] (CROSS-REFERENCE TO RELATED APPLICATIONS) This application is a continuation of U.S. Provisional Patent Application No. 62 / 554,753, filed September 6, 2017, entitled "Product Internet Configurable Event Action Sequencing Framework The benefit of which is claimed, the contents of which are incorporated herein by reference. [Background technology]
[0002] The Internet of Things (IoT) is an emerging technology that encompasses devices that we use every day. are interconnected via the Internet or some other network technology, and data is transmitted and received. It can transmit sensor data regardless of the size of the device itself. or receive actuator commands to perform actions; They may have different functions and capabilities. An example of an IoT device in the home is a presence detection sensor. Sensors, lighting, coffee makers, ceiling fans, refrigerators, audio systems Complex IoT devices include industrial robots and machines, internet From internet gateways, smartphones, etc. to autonomous vehicles (or their components) It may include up to
[0003] IoT applications can be built to process the large amounts of information generated by IoT devices. Analysis or data mining to extract patterns or trends provided by the raw data Traditional web applications are available for specific applications. The limited data sets available limit the types of analyses that can be performed, primarily in terms of scope. Here, "limited" does not necessarily refer to size, but rather to diversity. On the other hand, IoT technology has been limited in the way it is provided by IoT devices. Ability to perform data mining on large and diverse datasets of raw data to provide.
[0004] An application that can connect diverse and sometimes disparate "things" within an IoT system. For example, IoT home automation systems can Use the owner's calendar schedule to manage various unrelated IoT It is possible to interact with devices and control various IoT devices. Devices include coffee makers, speakers, lights, HVAC systems, garage door openers, When a user wakes up in the morning, the news of the day is displayed while the user is taking a shower. The bathroom speaker can play the music. The presence detection sensor detects when the user leaves the bathroom. Similarly, other presence sensors in the galley Remotely start your car in the garage and have it ready to go to work as soon as you are. After the garage door is closed, the HVAC system will It can be adjusted to conserve usage.
[0005] It can be seen that each of the above actions depends on the previous action. IoT events, in particular For example, detecting a user leaving a room using a presence detection sensor. IoT actions, on the other hand, are actions that This is an action that is executed in response to the occurrence of the event. For example, the announcement of news from a speaker. streaming, remotely starting your car, opening your garage door, etc. As a result, IoT Events and IoT actions are correlated with each other and provide real-world information provided by the IoT system. It makes it possible to realize comfort in daily life. In this case, a user's schedule consists of multiple sequences of actions based on the occurrence of different events. Determine the sequence of actions based on the user's usual commute. When a user works from home or is on vacation, other action sets are triggered. The sequence of actions can be delayed if the user oversleeps. These actions will be scheduled and pre-programmed. is different and is triggered by the detection of events occurring in real time.
[0006] One of the key enablers of IoT technology is the unique nature of the Service Layer (SL) architecture. Standard Developing Organizations (SDOs) such as M2M and OCF are This defines the architecture components that can realize IoT. Components include physical entities, virtual entities, resource models, and resource It consists of presentation, services, capabilities, protocol messaging, etc. IoT devices that implement these standards can communicate with each other, enabling the various benefits that IoT technology promises. It can provide a rich dataset in terms of both variety and quantity.
[0007] Within the SL architecture, various functions are provided that use the collected data. One such function is event management. In oneM2M, this feature is called Action Triggering. Foundation is an event management system that uses scenes, rules, and scripts. Although the scope of applications is limited, the functionality is primarily focused on automating operations. It does not focus on handling events with various actions. The system detects events in the system and executes actions that result in certain outcomes depending on the occurrence of the event. In IoT systems, this function is a powerful capability. This is because various sources and types of data are integrated to create the home automation system described above. Enabling smarter applications, as seen in the automation use case. This is because Summary of the Invention
[0008] IoT architecture is still evolving and there is a huge amount of data available for applications. I am trying to determine how best to use Io A configurable event action sequencing mechanism that responds to various IoT events. to efficiently use the complex data available in IoT systems. The end process is achieved in such a way that it becomes possible.
[0009] This overview is a compilation of selected concepts that are further explained in the detailed description below. This summary presents the essential features or main features of the claimed subject matter in a simplified form. It is not intended to denote qualitative characteristics or to limit the scope of the claimed subject matter. Moreover, claimed subject matter is not intended to be used for any purpose other than as a solely to resolve any or all of the disadvantages described in that section. Not limited to. [Brief explanation of the drawings]
[0010] A more detailed understanding may be had from the following description, taken in conjunction with the accompanying drawings, in which: The accompanying drawings are as follows:
[0011] [Figure 1] FIG. 1 is a diagram illustrating an exemplary red wine making process. [Figure 2] Figure 2 illustrates an exemplary IoT configurable event-action sequencing architecture framework. [Figure 3] FIG. 3 illustrates the EASP resource hierarchy. [Figure 4] FIG. 4 illustrates an exemplary procedure of a resource manager for request processing. [Figure 5] FIG. 5 illustrates an exemplary procedure for execution unit access authentication for an IoT system. [Figure 6] FIG. 6 illustrates an exemplary flow of state processing by an execution unit. [Figure 7A] FIG. 7A provides an overview of steps that can be used to update the operations of a winemaking process. [Figure 7B] FIG. 7B illustrates an example use case for engine utilization updates. [Figure 8] FIG. 8 illustrates an exemplary flow of processing for an update engine. [Figure 9] Figure 9 shows an example oneM2M solution for a winemaking use case. <easp>FIG. 1 is a diagram illustrating resources. [Figure 10] Figure 10 shows an example oneM2M solution for a wine production use case. <eventstate>FIG. 1 is a diagram illustrating resources. [Figure 11] Figure 11 shows an example oneM2M solution for a winemaking use case. <transition>FIG. 1 is a diagram illustrating resources. [Figure 12] FIG. 12 illustrates example roles in an exemplary OCF architecture. [Figure 13] FIG. 13 illustrates an exemplary factory use case. [Figure 14] FIG. 14 illustrates an exemplary interactive control of EASP resources. [Figure 15] FIG. 15 illustrates an exemplary table that may be displayed in a graphical user interface that may be generated in accordance with the disclosed methods and systems. [Figure 16] FIG. 16 illustrates an exemplary display of the winemaking process of FIG. 1 in a oneM2M implementation. [Figure 17A] FIG. 17A illustrates an example M2M or Internet of Things (IoT) communication system in which the disclosed subject matter may be implemented. [Figure 17B] FIG. 17B is a diagram of an example architecture that may be used in the M2M / IoT communication system shown in FIG. 17A. [Figure 17C] FIG. 17C is a diagram of an example M2M / IoT terminal or gateway device that may be used in the communication system shown in FIG. 17A. [Figure 17D] FIG. 17D is a diagram of an exemplary computing system in which aspects of the communication system of FIG. 17A may be embodied. DETAILED DESCRIPTION OF THE INVENTION
[0012] IoT systems are becoming increasingly complex due to the abundance of data that IoT devices can generate, both in terms of size and variety. It provides many capabilities to use, mine, and analyze data sets. The event management capabilities of the system involve the collection of various data according to certain criteria. Correlate sources together and take resulting actions to make them available within the system. It enables smarter use of data. This capability is powerful. Although it does provide a single view of events and their resulting actions, This means that events are compared with the user's preferences, and if there is a match, the system Some IoT use cases can occur dynamically. May require different actions to be performed based on the occurrence of certain events Traditional service layer (SL) event management capabilities do not provide this functionality. They may not support it, and even if they do, it may be too complex to efficiently achieve that functionality. It may not be as user-friendly as it could be.
[0013] Traditional application programming scales well for IoT systems. What is disclosed here is a more efficient way to A service is a system (e.g., a framework) that realizes these use cases. The Service Layer is where complex applications are built using resources and services available in the Service Layer. The disclosed EASP provides a RESTful process that can be used to build a service layer. Efficiently manage operations and / or manage these complex applications The resources defined here (for example, EASP resources, events) can be updated. The resources (e.g., state resources, transition resources) provide important support to the EASP system.
[0014] The red wine production use case demonstrates more advanced event management in IoT systems. Figure 1 shows the red grapes after harvesting. This shows the high level process steps in the manufacturing of the product. The steps are broadly as follows: The grapes are removed from the stems and crushed (step 201), then vinified (step 202). 2), fermentation (step 203), circulation of the liquid (pump over, step 204), Pressing and racking (step 205) followed by malolactic fermentation (step 206) The wine is then barrel-aged (step 207), clarified and bottled (step 208).
[0015] In step 201, the harvested grapes are placed on a destemmer or conveyor belt. The grapes are then crushed and the juice and skins are mixed together for fermentation. The juice and solid parts of the grapes are called "must." In step 202, The must is transferred to a fermentation tank to allow the aroma, color, and tannins to settle. Check the pH and if any of the values are off, correct them to ensure a better wine. In step 203, yeast is added to the tank to begin the fermentation process. My mother makes wine by converting the sugars in the must into carbon dioxide and alcohol. Fermentation generates heat, so temperatures must be kept within a certain range to ensure good, high-quality wine. Fermentation temperature should be controlled within 60°F to 70-85°F or The temperature is periodically controlled throughout the fermentation period to reach any temperature within the range of 80-90 degrees Fahrenheit. The fermentation period is about two weeks at most. During fermentation, the grape solids (skins and seeds) rise to the top. In step 204, a process called "pump over" is performed. This is run several times a day and circulates must from the bottom of the tank onto the cap. Press the cap downwards towards the must to ensure a uniform mixture. When tools are used, this process is also called "cap punching." The temperature is adjusted to the desired range.
[0016] Continuing with FIG. 1, once fermentation is complete, the juice (at this point) is removed in step 205. The wine is poured off into holding tanks, and the remaining must, called pomace, is pressed into the press. The pomace is pressed into a press to extract the remaining wine, which is then added to the wine in the holding tank. To produce higher quality wine, only the poured wine is used. The wine in the container is left to settle, forming a layer of sediment at the bottom called "lees." The wine is then racked, but during racking, the sediment and other substances that cloud the wine are removed from the tank. In step 206, the wine is transferred to another tank while remaining in the tank. A second fermentation step may be performed, in which malic acid is converted to lactic acid. The addition of ML bacteria produces compounds that give the wine body. The wine is stirred twice a week and kept at a temperature between 70 and 75 degrees Fahrenheit. This process lasts for 2-6 weeks. Once the ML fermentation is complete, the wine is again aged in step 207. The wine is then racked and transferred to a storage container such as a barrel. While transferring the wine, the total acidity and pH are adjusted. The aging process involves aging the wine at a constant temperature between 55°F and 60°F. The temperature range must be maintained, and the wine should be tasted every 4-6 weeks and adjusted as needed. This ensures that the wine ages well. This step ensures that the wine is in a good condition for the next step. This lasts for several months to a year until the wine reaches a clarified state. In this step, fining agents may be added to the wine to remove unwanted substances in the wine. The wine is then filtered to remove the fining agents, and the wine is then bottled. Any final adjustments (total acidity, pH, residual sugar, etc.) may be made before bottling. After that, the wine will taste better with age, so you can aging it for any period from two months to several years. It may be allowed to age.
[0017] As you can see from the winemaking process, there are many steps and variables involved in winemaking. In order to monitor and control various "things" in such a complex process system, The T system can be used. Sensors can be used to measure temperature, pH, sugar content, and total acidity. Sends commands to control the pumps used in the pour-over and pressing and racking steps. The transition from one step to the next is based on the sensor measurement and the process Since each step depends on the outcome of the previous step, it is necessary to use an IoT system that automates a large part of the wine-making process. The stem could be easily designed.
[0018] The winemaking use case places various requirements on the IoT system, including: This will require a high level of event management capability. One is to use multiple actions depending on different trigger conditions for a particular event. For example, based on sugar content or other measurements in a winemaking use case, the next step Another requirement is to make adjustments based on the sensor measurements. The third requirement is to update the application's behavior in response to changes in input and communicate the updates. For example, the ability to integrate the entire process into the winemaking process. The ability to regulate acidity, pH, and sugar content.
[0019] Traditional IoT event management capabilities primarily focus on single event occurrences. This means that we focus on successful event detection and not on failed events. It does not support actions on single or alternate event occurrences. Because of the focus on the interaction between various events, many It is necessary to define separate events and configure their interactions, which is complex and time-consuming. Adding or updating an event will have a rippling effect on existing events. This may result in a temporary suspension of operations. In IoT operations in a system, these limitations are overcome by existing event management methods. Reduces the usefulness and benefit of a capability.
[0020] The promise of IoT systems is broad and diverse, from hundreds of millions of IoT devices to versatile and The future of IoT is expected to generate huge data sets. , which allows new, smarter solutions to be developed using diverse data from many different sources. As a result, IoT applications are becoming more complex. This will require more capabilities to enable smarter applications.
[0021] IoT architecture is still evolving and there is a huge amount of data available for applications. I am trying to determine how best to use Io A configurable event action sequencing mechanism that responds to various IoT events. to efficiently use the complex data available in IoT systems. IoT configurable event action Sequence sequencing may include: - Events in complex / distributed IoT systems are correlated with each other, resulting in a large amount of diverse data sets. Define an architecture that takes advantage of both the network and evolving system requirements Add. - Dynamic event correlation for users for monitoring and management purposes Defining a RESTful interface where resources and attributes are used to define and expose them. These resources are structured to link events with the actions that result from them. The resulting data can be consolidated into a streamlined IoT process. -Active IoT processes operate to address evolving conditions within the system Define procedures for dynamically updating IoT processes while they are running. - Interaction between different IoT processes to enable more complex operations These interactions are the interactions that one IoT process has with another. It may trigger the start, stop, suspend, resume, or reset of an IoT process, and may also trigger multiple IoT In some cases, processes may run in parallel with each other. -To execute IoT processes through interactions between IoT devices in the system Defining the procedure. -Discloses a configurable event action sequencing system that can be integrated into existing IoT applications. Providing examples that can be applied to your architecture.
[0022] Figure 2 shows an exemplary diagram for the disclosed IoT configurable event-action sequencing. 2 illustrates a system 210. The system components include a resource manager 214, an update manager 216, and a The engine 213 and the execution unit 216 may be included. and the event action sequencing system 210. The interface component includes an input interface 211 and an output interface The input interface 211 is provided for the IoT entity to Specify, configure, update, and access information about process events and actions The output interface 212 can provide a RESTful interface for Components are responsible for managing IoT devices in the system in response to actions taken during IoT processes. These interface components provide a mechanism for monitoring and controlling the device. The component is an IoT configurable event action sequencing system and IoT system It acts as a glue between the system and the product, and is included for completeness. Input and output interface components are typically It is protocol-centric and has an event-action sequencing system 210 This is an auxiliary function necessary for operation.
[0023] Within the system 210, a resource manager 214 manages the input interface components. The resource manager 214 receives input from external IoT entities through the IoT Manages the creation, storage, and maintenance of resources associated with a process. Manager 214 provides status information once IoT processes are up and running. The execution unit 216 executes the IoT process. execute actions, send commands to IoT devices, and monitor the status of trigger conditions The execution unit 216 is responsible for monitoring the operation of IoT processes and managing event transitions. To obtain details about the resource manager 214 and the update engine 213, Finally, the update engine 213 updates the IoT process while it is still running. Update the event conditions and actions of your IoT processes and ensure that the updates do not interfere with their current behavior. It is responsible for handling dynamic requests to ensure that the update engine The resource manager 213 receives input from the resource manager 214 and interfaces with the execution unit 216. Face.
[0024] Within the system 210, the Event Action Sequencing Process (EASP) , capturing events and actions interconnected to achieve a desired behavior. EASP uses events to detect changes in the state of the system on which it runs. You can configure different actions for an event to perform several actions. It provides a mechanism for specifying the next sequence of events within the EASP. A mechanism is provided to represent the EASP that allows the user to dynamically control the behavior of the EASP. resources for the EA are disclosed (e.g., via a request without affecting its operation) Ability to control the SP and how, if at all, the EASP responds to requests EASP will then process the IoT data into the desired sequence for the intended application. It was noted that it is an IoT process that interconnects events and actions. EASP links events and actions together to create a process flow (e.g., This can be thought of as a framework for forming a "sequencing of actions." The source itself may be a "program" that the EASP CSF executes. When executed, the EAS The P CSF is capable of transitioning from one event state resource to another. can.
[0025] EASP events and actions are part of an event-action sequencing system. The EASP can be represented as a resource in the system 210, where the requester can Create and define which events trigger the behavior of the action. As a result, EASP resources can be disclosed along with the parameters used to describe the EASP. Within the EASP resource, an event state resource is used to describe each event within the EASP. In addition, within the event state resource, the action to be taken and the One or more transition resources are provided to describe the next event. This shows an example of the relationships between the disclosed resources, in this example, EASP resources (e.g., EASP resource 217) is the parent resource and multiple event state resources (e.g., event state resources 218) and their associated transition resources (e.g., transition resources 219) within each resource to capture information about that resource. There may be parameters that provide relevant information.
[0026] EASP resource 217 manages all events and actions requested by EASP. An event can trigger the execution of some action or actions. Events are conditions within an IoT system that can be triggered or triggered. Some examples of events are: , thresholds or value ranges for specific sensors, timer expirations, RESTful actions on resources Create, Retrieve, Update, Delete, turn devices or entities on or off. Actions are actions that are performed by other EASPs, etc. An action is a RESTful operation on a resource that is executed upon detection of an event. , starting a timer, device management operations, store-and-forward operations, enabling another EASP This may include controlling the controls, actuators, and executing commands.
[0027] Other important events provided by the event action sequencing system 210 A key feature is the ability to specify EASP interactions. The behavior of an EASP depends on several requests from other EASPs. Furthermore, the two EASP events are closely related to each other. It may be used to control different aspects of the IoT system. These allow the construction of complex EASPs through the interaction of simpler EASPs. , provided by the disclosed event action sequencing system 210. This is a powerful feature.
[0028] EASP is a realization of the IoT process disclosed herein. In summary, The action sequencing system 210 is the overall functional system from which the EASP operates. This can be thought of as a system, as shown in Figure 2. EASP is a Instances of event-action correlations for a winemaking use case, for example. An EASP resource is a resource that represents an EASP. An EASP resource is as shown in Figure 3. As shown above, an EventState can have a child resource, EventState, and the child resource An event state can also have a child resource, a transition. Resources are the components of a desired application (e.g., each step in a wine-making use case). The exposed "EventState" is roughly An "event state" is called an EventState resource. A transition resource is the occurrence of a state associated with a transition resource. describes the events that trigger a transition from one event state to another Additionally, actions may be performed during event transitions.
[0029] EASP Resources - EASP Resources 217 provides a detailed overview of EASP. Table 1 , some exemplary parameters of an EASP resource are shown: EASP ID (EASP The EASP resource identifier may be used to associate an EASP resource 217 with EASP details. The EASP identifier may also be used by the execution unit 216 to perform EASP operations. A distinction is made between a precondition and an action due to some event. This can be used by other EASP resources to trigger the actions of this EASP resource. The (Description) parameter specifies the purpose of the EASP in a human-readable format. while the Current Status parameter allows the overall execution of the EASP. Control parameters are used to control the behavior of EASP and to Control EASP from enabling to pausing, resuming, terminating, and disabling In addition, EASP can be executed autonomously based on events in the IoT system. There may be automatic control. The Preconditions parameter specifies the conditions under which EASP is initiated. It provides necessary pre-events that can occur before the event and controls the control parameters to execute the EASP autonomously. The Exit Conditions parameter determines whether the operation should continue. This parameter allows for emergency termination of the EASP in case of an emergency where it would be harmful or dangerous to The data is processed in response to asynchronous responses from the execution unit 216 to process all actions related to the EASP. The "global" termination condition stops the EASP operation and deactivates its operation. During the story, it may be continuously monitored and applied regardless of the event state.
[0030] There are many ways in which the EASP can be controlled as specified by the control parameters. Such a method depends on the implementation of the event action sequencing system 210. While many options may exist, below are some examples of how to specify control parameters. When set to automatic control, the parameters related to events and actions are How should the action sequencing system 210 control the operation of the EASP? In this mode, the The condition parameter specifies the event (e.g., condition) or action that the EASP must take to initiate. Once started, EASP sequencing is performed according to the specified It depends on the event state resource 218 and the transition resource 219. EASP also uses "time "Enable On" is based on a timer with "Delay Enable" or "Disable". Once the EASP is actively running, it may be controlled using "on demand." Finished," "Finish on percentage completion or end event condition," "Pause," "Resume" " or "Reset" can be used to interactively control the EASP. The ability to pause, resume, or reset EASP allows for changing system conditions. It provides a highly IoT-centric interaction that can [Table 1]
[0031] Event State Resource - The Event State Resource 218 contains details about the event and other events. When triggered, the event captures the state of the action and the state that the action maintains until the action transitions to the next action. and waits for another event to occur before transitioning to another event state. The EventState ID indicates when the execution unit 216 is in the event state. Defined to handle transitions and maintain status information. Event states are transition to another event state for a specified duration or due to the occurrence of a specific event If the event state is timed, the Time Duration parameter However, it is important to know how long the event will run (e.g., how much time is left) and when the next event will occur. Specifies when to transition to the event state. In this case, the transition resource 219 specifies the details of the event. The Exit Condition parameter specifies the exit conditions for EASP resource 217. ) parameter, specifies the events that can end the current event state. Table 2 shows some example parameters of the event state resource 218. This indicates the data. [Table 2]
[0032] Transition Resources - Transition resources 219 are resources that allow transitions from the current event state to the next event state. Captures the condition for triggering a transition. The next EventState ID parameter is used to define the transition. Specify the destination EventState ID and, if there is an action that needs to be taken, execute the action. Transition Events are specified in the Execute Actions parameter. The parameter specifies the event that triggers the occurrence of the event state transition. Specified by multiple expressions that connect individual events with logical operators such as AND, OR, XOR, and NOT One transition resource 21 for each transition from the current event state. Note that 9 can be created, resulting in one specific event state resource There are multiple transition resources 219 for 217, each with a different trigger event. Table 3 lists the transition resources 21 Some exemplary parameters of 9 are shown. [Table 3]
[0033] The resource manager 214 receives the request via the input interface after it has been parsed and validated. The resource manager 214 then receives the request from the resource 211. Process the request based on the requested method. If the requested method is an update, The resource manager 214 checks whether an EASP process is actively running. If EASP is currently running, the resource manager 214 will The request is forwarded to the update engine 213. The procedure executed by the service manager 214 is shown below.
[0034] Entities that perform the steps shown in Figures 4 to 6, 8, 12, 14, etc. It should be understood that the property may be a logical entity. 17C or 17D. In one example, the M2M device may be configured to store the information in memory and execute it on its processor. The interaction of the devices is described in more detail below, but the IoT device 242 in FIG. 17A, and the system 210 of FIG. 2 can reside on the M2M terminal device 18 of FIG. The exemplary methods (e.g., For example, you can skip steps or change steps between Figures 1, 4 to 8, 12, 14, etc. Combining steps or adding additional steps is also possible.
[0035] The steps in Figure 4 are performed by the Resource Manager when evaluating a request from an IoT Requester. Step 221 describes the steps performed by the Checks whether the requested resource exists. If yes, or if the request The resources disclosed above (e.g., transition resource 219, event state resource 218, If the answer is yes, proceed to step 222; If no, an error response is sent. The error response includes step 234 (send response). In step 222, if necessary, a permission or access control policy is checked. This may involve multiple steps and may involve interactions with external entities. If allowed or access control allows, Proceed to step 223. If not authorized, step 234 (send response) may be included. In step 223, the requested operation - CRUD ( Check Create, Retrieve, Update, Delete If the requested action is a read, proceed to step 224. If the requested action is a delete, proceed to step 226. If the requested action is a create or update, proceed to step 225. Proceed to step 226. In step 224, the database is accessed and the following is listed: The response type depends on the request options, query string, etc. The appropriate response is to specify the current resource representation, the current status, as well as the status of the current event state, or the entire EASP resource structure This information is returned in step 234 (send response). At 25, the current status is checked to see if the EASP is operational, and then step If EASP is not running, proceed to step 234 and send the appropriate response. Delete the appropriate resource and its corresponding child resources. EASP resource 217 provides If the EASP is still running, the entire EASP structure is removed from the database 215. If so, an error response is returned.
[0036] Continuing to refer to FIG. 4, in step 226, the provided information is used to For example, in the case of a creation request, the information provided is checked to see if it satisfies the requirements. Checks whether the information meets the requirements of the schema file for the corresponding resource type. If the information meets the schema requirements, proceed to step 227. If the information does not meet the schema requirements, If so, an error response is sent and the process proceeds to step 234 to send the response. Checks whether EASP is running. If EASP is running, update engine 213 and waits for a response in step 233. The manager 214 determines whether the identified IoT devices (if any) are available for access. It may be necessary to interact with the execution unit 216 to ensure that This verification step can be delayed until a later time before activating the EASP. System dependent. If EASP is not active, proceed to step 228. Step 2 At 28, check the requested method. If it is "Update", go to step 229 If it is "Create", proceed to step 230. In step 229, the database 215 Update the information in with the data provided by the request and proceed to step 234. In step 230, if the requested resource exists and is a create operation, If yes, send an error response and proceed to step 234 to send the response. proceed to step 231. In step 231, the requested resource is created If the resource can be created, proceed to step 232. Otherwise, an error response is sent and the process proceeds to step 234 (send response). The resource manager 214 generates resource identifiers as needed. , an identifier can be generated to guarantee uniqueness within the device. The resource manager 214 checks for uniqueness and then performs the steps The response may be sent at 234. At step 233, the response is sent from the update engine 213. If the response is successful, the database In step 234, a response is generated and sent with the appropriate code. Send to the requester.
[0037] As previously mentioned, the resource manager 214 processes requests based on the needs of the requester. A different response can be returned to read the object. The default response is The resource may be a resource representation of a resource specified by a target identifier in the However, resource manager 214 may also include other relevant information that may be of interest to the requester. One such response is the EASP process The status of the EASP operations is aggregated, one for the entire EASP and one for the current The resource manager 214 can provide Another type of response is the aggregation of EASP resource structures in a response. You can read all the events and actions of EASP in one request. This information is used by the requester to build or monitor the EASP and its events and actions. Event Action Sequencing System 21 There may be other response types that the event action system can return as well. The design of the sequencing system 210 is crucial.
[0038] Execution Unit - Once an EASP process is defined, its behavior is determined (e.g., subject to some preconditions). It can be triggered by various events (such as the expiration of a timer due to a condition). Triggers can also be defined in the event action sequencing system 210. Execution of the EASP is handled by the execution unit 216, which The execution unit interfaces with the IoT system via the output interface 212. The 216th bit ensures access to the inputs to the EASP and also provides the If necessary, ensure access to the actuator type device for control purposes.
[0039] Before the actual operation of the EASP, the execution unit 216 executes all the necessary This validation is performed by the EASP resource definition and their event state resources are created, or Verification may be performed after startup but before the actual operation. In this case, the EASP resource The Current Status parameter of 217 is "EASP Validation" or any other equivalent function. It can be specified as an indicator of any type.
[0040] The actual verification is performed by verifying that the event action sequencing system 210 is an IoT system. This can be done locally or remotely depending on how it is integrated with the system. The event action sequencing system 210 is part of the IoT system. If integrated, access to the sensor and actuator devices is already established. The execution unit 216 may need to use an identifier to access the device. Or you may need to refer to some URI. In this case, the execution unit 216 sets up a messaging interaction with the device. For a subscription, the support of the output interface 212 may be required. Use of protocol mechanisms (e.g., CoAP Observe), polling The use of the API methods or some of the API calls exposed by the IoT system In these cases, authorization or access control policies govern access to IoT devices. It also plays a role in the event action sequencing system 210 that acquires access. These problems can be solved by the Event Action Sequencing System. Event action sequencing system 210 To enable such operations, some mechanism for such access must be provided by the IoT system. Figure 5 shows how to process a "create" request for an event state resource. An exemplary procedure for integrating the resource manager 214 with the execution unit 216 to Other components of the event action sequencing system 210 are shown in FIG. Note that this has been abbreviated to reduce clutter. You can create multiple resources for one EASP. Note also that resources are first created to tell EASP how to behave. The resources disclosed herein may be used to determine how an application processes EASP. Another example is how a program can be programmed with fewer resources, such as two resources. It may contain sources.
[0041] Figure 5 shows an example execution unit access verification to IoT system procedure. Step 2 At 51, the IoT requester 241 receives a request for creating an event state resource 218. This step is used to create an EASP resource 217 or a transition resource 219. When creating an EASP resource 217, the parameters specified are The data includes the EASP ID, a description of the EASP, how the EASP is controlled, and the tasks for the EASP. Table 1 lists other parameters that may be specified in a similar manner. When creating an event state resource 218, use the "EventState Specify parameters such as "ID", "Time Duration", and "Transition Events". Other EventState parameters are listed in Table 2. For transition resource 219, ,As described in Table 3, "Transition Events", "Next EventState ID", and "Execute Actions" parameters. The resource manager 214 processes the request and executes the event action sequence. Step 2: Perform any necessary verification required by the system 210. At 53, if the verification is successful, the resource manager 214 sends the Even tState information may be transferred to verify that access to the IoT device 242 can be performed .
[0042] Continuing to refer to FIG. 5, in step 254, execution unit 216 (output interface The request is sent to the IoT device 242 (with the interface 212). , may be a simple read to verify that the IoT device 242 is reachable. , or may involve the creation of a Subscription or CoAP Observe. Another purpose is for the event action sequencing system 210 to All permissions or access controls must be configured to allow access to the device 242. If access is not granted, the information is returned to the IoT requester 241. If access is granted, then in step 255 the IoT device 242 In step 256, the execution unit 216 returns K or an appropriate response. In step 257, the resource manager returns a response that the access to the resource manager 242 has been verified. The manager 214 creates an event state resource and stores the information in a database. In step 258, a composed response is generated and sent to the IoT requester 241. If the procedure fails, an appropriate error response is returned.
[0043] Once the verification is complete, the event action sequencing system 210 will Once the execution unit is able to perform all the actions required by the 216 initiates operations and tracks event state transitions. 6 and resource manager 214 forwards status information to the requester as needed. The execution unit 216 can also maintain communication with the update engine 211. 3 to interface with new dynamically added event state resources 218 or existing Changes to existing event state resources 218 can be integrated into the EASP without affecting its operation. Here, the process (e.g., application) This exposes the ability to update a process while it is actively running. This requires stopping the application, but does not require stopping the EASP. The action sequencing system 210 allows changes to be made and This is done without affecting existing behavior other than that of the one being modified. Therefore, there is no need to stop any activity (e.g., the wine process). The action sequencing system 210 can handle dynamic changes. However, the change may result in an event that is different from the originally programmed event state. Modifications can also be made to allow for venting, see the difference between Figure 1 and Figure 7B. The next event states in FIG. 7B (steps 243 and 244) are the same as those originally performed in FIG. It didn't exist when it was made.
[0044] FIG. 6 illustrates the steps performed by execution unit 216 when EASP is launched and running. The figure shows the status provided during the "Transition to next event state" step. Although the execution unit 216 only shows status information, it can be used to Note that the status information can provide information about where the current EASP process is. (e.g., what percentage is complete), which event state is currently active, etc. This may include any information provided by the EASP system to indicate the status. Examples of the information are shown in FIGS. 15 and 16.
[0045] FIG. 6 is a diagram showing an example of the execution unit state processing flow. 1c is activated, which triggers the execution unit 216 to start processing. This can be triggered in a variety of ways, and Figure 6 shows three possibilities. First, based on the preconditions specified in EASP resource 217 ( (step 261a), based on a future time (step 261b), or based on the requester's On-demand control (step 261c - request to activate EASP) The control parameters listed in Table 1 are used when EASP is activated. For example, to create each of the event state resources first Sometimes, there may be cases where EASP is not activated. In other scenarios, EASP is activated. EASP should only be active during certain times of the day, when it should not be active at all. At step 262, the user wants to There may be a load of vent state information. Once EASP is activated, the execution unit Unit 216 first loads the Initial EventState information. Then, when the processing flow is repeated, the Next EventState specified by the ID parameter is The event state resource 218 is loaded instead. If this step has not already been performed previously while creating a vent state resource, IoT It may be necessary to verify that access to the device can be performed. This is necessary for IoT systems. Subscribing to devices in the system, using CoAP Observe, and The event action sequencing system 210 and the IoT system remotely By polling the device and providing input to the event state when located at For a more integrated solution, you can call the appropriate API calls. If necessary, it may be run for a period of time before proceeding to the next step. A timer can be started for each event condition.
[0046] Continuing to refer to Figure 6, there may be event detection at step 263. The unit 216 communicates with the IoT device 242 necessary for the operation of the event state resource 218. Once the event state resource parameters are stored locally, , it starts monitoring its inputs to detect potential transition events. At this point, the enabled If enabled, the exit condition and timer expiration inputs are also applied to the detection logic. If an event is detected, the execution unit 216 can exit the event state and the EA You can also terminate the EASP if the SP was configured to do so. The unit 216 receives input from the update engine 213 when changes to the EASP are made. When this occurs, the execution unit 216 retrieves the locally stored The parameters provided by the update engine 213 are replaced with the parameters provided by the update engine 213. In step 264, there may be an action (or actions) that has been performed. Upon detecting a triggering event, the execution unit 216 performs the following on the current event state: Any action that can be specified can be performed on the IoT device or an event can be generated. Once all actions are complete, the system will proceed to the next step. If there is an updated engine input, the execution unit 216 Note that the parameters must be replaced with those provided by the input. This applies to any new actions that need to be performed, as well as the The ID of the next event state resource 218 can be included. This capability allows the EASP process to It can support dynamic updates to the behavior of the service.
[0047] In step 265, there can be a transition to the next event state resource 218. Next Event If the entState ID exists as part of the transition resources 219, the execution unit 216 Executes the transition to step 262 to execute the next event specified by the Nest EventState ID. The execution unit 216 can load information about the execution state resources 218. An identifier for the next event state resource 218 and other relevant information for the transition, e.g., Signals the resource manager 214 about the current state, which trigger event was detected, etc. This signal can be used to null out potential issues that may exist when dynamically updating EASP operation. This can be used to detect potential race conditions. Occurs whenever there are two possible EventStates for a trigger event. This can happen when updating an EASP as described here. For example, The event state resource 218 is recently modified by the update engine 213. If so, checks if the Nest EventState ID matches the currently stored identifier. This is the case when it is possible to
[0048] Update Engine - The Update Engine 213 is used by the requester to update the EASP process while the EASP process is running. This update takes the form of a change to a transition event. It can range from an expression to adding new event states to EASP. Other changes that may occur may also be supported. The update engine 213 is responsible for ensuring that updates do not disrupt the operation of the EASP. The execution unit 216 can be coordinated to ensure that interference is not detected. If issued, the update engine 213 does not enable updates and the resource manager 214 The necessary error response is provided and the resource manager 214 relays the response to the requester. do.
[0049] Figure 7B shows an example of an update to the winemaking process of Figure 1, where a higher quality To produce wine, the racking step (step 205) is split into two separate steps. This update is being updated to implement changes to an already running EASP process. Figure 7A shows how the new engine 213 is used. The following outlines the steps that can be used to update a work. A new "first racking transfer" step is added (step 243). Add a new "Second Drain Transfer" step (step 244). , updating the transition resource 219 of the “Pressing and Racking” step (step 205) to The transition is made to the newly created "First Drain Transfer" step (step 243). Step 344 begins the "malolactic fermentation" step (Step 206). Update the transition resource 219 to include the newly created "Second Drain Transfer" step (Step (transition 246) to (transition 244).
[0050] During the fermentation stage, the wine has good quality and can be subjected to two racking steps. At this point, the winemaker decided to issue a 2016 EASP as shown in Figure 7B. These event state resources 2 are used to create the first and second dregs transfer event states. Creating 18 does not affect existing behavior, so the create request succeeds. Once created, the event action sequencing system 210 is shown in Figure 1. Transitioning the EASP of the (original) "pressing and racking" step. In Figure 7B, this is The winemaker then presses the wine into the malolactic acid bacteria. The action transitions to the "first racking transfer" step 243 instead of the "first racking fermentation" step 206. The Update Engine sends a request to update the step by reconstructing the step. 213 evaluates the request and waits until the wine is completely pressed, as shown in event 6. Since this is only the bit detection stage (step 263), we can enter new input and change the processing flow. The EventState ID can be changed to "First Drain Transfer" step 243. Once the pressing is complete, the new engine input signals the EASP to transfer the wine to a separate tank. The action to transition to the "First racking transfer" event state will be executed. can be instructed.
[0051] When the winemaking process reaches the "First Rake Transfer" event state, the winemaker: Transition event parameters for transition resource 219 for the "malolactic fermentation" event state This change replaces the "barrel ageing" step with a "second racking" step. The Execute Actions parameter redirects the transition to the Transfer to Action step 244. The meter also pumps the wine into separate tanks rather than pumping it into barrels for aging. This request can be modified to allow processing to continue even if the "First Drain Transfer" stage is still running. Since it is within step 243, it can be processed successfully.
[0052] The overall procedure of the update engine 213 is shown in Figure 8. In step 271, an IoT request The ESTA 241 updates the transition resource while the corresponding EASP process is actively running. As an example, the IoT requester 241 may request a Transition Event You want to change the s parameter and the Next EventState ID parameter. The requester 241 requests a Transition Events parameter that is different from the value in the current transition resource 219. Create a new transition resource 219 with the NextEventState parameter and the NextEventState ID parameter. Any of these cases will trigger the invocation of the update engine 213. Additionally, the creation or modification of an event state resource can also be performed by the update engine 213. In step 272, the resource manager 214 executes step 2 71 requests and sends them to the event action sequencing system 210 In step 273, the resource manager 214 will recognize that the EASP process is actively running and will send update requests to In step 274, the resource manager 21 4 indicates that the update request is being processed and the results from the update engine 213 are pending. The response is sent back to the IoT requester to inform them of the request and the resource. It can contain an update ID generated by the manager 214. Current state status Other relevant information, such as the status of the project, the project's progress, and the overall status of the EASP, may also be included.
[0053] Continuing with reference to FIG. 8, in step 275, update engine 213 executes execution unit 2 16, updates can be performed safely without adversely affecting operation (e.g., fatal). Evaluate whether the update will cause any errors (e.g., technical errors or other threshold errors). If so, proceed to step 276; otherwise, proceed to step 277 Transition resources (or attributes) dictate how the EASP transitions to the next step. In step 276, if there is a problem that adversely affects the operation of the EASP (e.g., a fatal error), If the update can be performed without incurring a threshold error (or other threshold error), the update engine The execution unit 213 adds input to the execution unit 216 to update the EASP operation as shown in FIG. In step 277, the update engine 213 sends the appropriate response to the resource manager 214. In step 278, if the update engine 213 returns a successful response, The source manager 214 updates the database 21 with the information provided in the update request. 5. In step 279, the resource manager 214 notifies the IoT requester 241 Return an appropriate response, including the update ID and updated status from step 274. Regarding errors, it may depend on the implementation of EASP. In FIG. 6, step 263 is Responsible for detecting events that affect the EASP. Updates are made and the EASP timer expires. If the EASP is monitoring an event, it can make changes. However, if other inputs are monitored, If they are monitored, EASP does not know when they will trigger. May generate a "fatal error" when the timer expires and returns when an update is received If the timer is about to expire, a "threshold error" can be generated.
[0054] Additional Example: Configurable Event Action Sequencing System 210 (see herein) The Event Action Sequencing System 210 (also referred to in the document as the Event Action Sequencing System 210) is a It can be integrated into existing IoT architectures such as 2M and OCF. How do we integrate the action sequencing system 210 into these architectures? Examples of how oneM2M can be integrated are provided, and examples of oneM2M are provided in the context of the work disclosed herein. It is applied to manufacturing use cases. Also, EASP interactive control is used for event alerts. 2 shows how this can be achieved using the reaction sequencing system 210. In order to achieve this, an industrial factory use case is also presented. An example graphical user interface that can show the table returned to the user The source is shown in Figure 15.
[0055] oneM2M provides Common Service Functions (CSFs) to access services such as data management and device management. These CSFs define the service layer architecture that provides services to applications. A common service that can run on a cloud server, gateway device, or mobile device. are bound together in a Common Services Entity (CSE). Applications can then register to use the services provided by the CSE. The configurable event action sequencing system 210 provides In practice, event action sequencing can be integrated into the CSE as one of the services. The imaging system 210 itself may be one of the CSFs.
[0056] Once the event action sequencing system 210 is integrated, the EA SP resources 217, event state resources 218, and transition resources 219 are described. The resources shown can be added to the oneM2M architecture. Tables 4 and 5 show , disclosed <easp>Lists the child resources and resource-specific attributes for a resource, respectively. To do. [Table 4] [Table 5]
[0057] Tables 6 and 7 are newly disclosed <eventstate>The child resources and resources of a resource where the transitionEvents attribute specifies the state transition. Note that the method is specified as a potential method for determining the As shown in <transition>Put it in the resource do. [Table 6] [Table 7]
[0058] Tables 8 and 9 are newly disclosed <transition>The child resources and resources of a resource List each of the service-specific attributes. <transition>The existence of resources is <eventstate>Riso The transitionEvents, transitionActions, and nextEventStateID attributes of the event are required. Note that the need for a .sigma. [Table 8] [Table 9]
[0059] Figure 9 shows the disclosed <easp>An example of resource 280 is shown below. In this example, the winemaking process is <easp>Implemented as an EASP represented by a resource Therefore, the terms winemaking process and EASP can be used interchangeably. Cut. <easp>The resource is named "wineMaking" and its attributes and child resources are: This resource first captures the steps required in the winemaking process. The winemaker creates Preconditions, ExitConditions, and other Other attributes 281-287 are shown in Figure 9. Figure 9 shows the state after the event state is created. <easp>It shows a representation of the resource 280, so the numberEvents attribute 285 is "8". The initialEvent attribute 286 is "eid1" and the finalEvent attribute 287 is "eid8". EASP has not yet started, and both the control attribute 284 and the currentStatus attribute 283 are The two have the values "disable" and "Not Started" respectively. The winemaker can interact with the EASP using the control attribute 284. The preconditions and exitConditions events can be dynamically controlled. In some embodiments, what is called an attribute (e.g., a finalEvent attribute) is , resources, or vice versa.
[0060] <easp>Once the resource 280 is created, the winemaker: <easp>Child of resource 280 8 as a source <eventstate>Create resource 288. Each <eventstate>Resource 2 88 has the name "step#", where # is the number of the step in the winemaking process, The eventStateID has an "eid#" where # again corresponds to the process number. For step 203, which is the fermentation process <eventstate>Here is an example of resource 290: tStatus is 50% of the 2 week timeDuration, which means the fermentation process has already started. The values shown here are highly illustrative and may differ from the actual values. For example, the timeDuration attribute may not reflect the human-readable label " Instead of "weeks," the event state in step 203 can have a value in seconds. , which indicate which action is executed when each transition event occurs. one <transition>Resources (e.g., transition1 resource 295, transition2 resource 296, transition3 resources 297).
[0061] The exitConditions attribute 294 specifies the transition events that will occur if they do not occur. This mechanism provides a mechanism to override either the If a state is stuck and staying in that event state results in undesirable behavior, For example, wine fermentation can be prevented by waiting for two weeks or until the sugar content reaches a certain level. reaches zero, whichever occurs first. , which ensures that the process will eventually end even if the sugar content never reaches zero. Each entry in the conditions attribute 294 contains two values: the first value specifies the end event, and The second value specifies the transition resource for which the executeActions and nextStateEventID are specified. This is one implementation of the mechanism, but it is not possible to specify the action and nextEventStateID. Other mechanisms can be implemented to explicitly specify attributes. The use of groups also allows for support of multiple exit conditions.
[0062] <eventstate>Within step 203, one of the three transition events occurs within two weeks. This can occur during the fermentation period. The Transition1 event runs every 4 hours to measure the temperature. If the value is outside the specified range, an adjustment is made. This event is triggered by step 20. The action is triggered by the expiration of the timer that is first set when step 3 is started. The actions are checkTemp and adjustTemp. Both the event and the action are M2M, The mechanism provided in the TR-0021 Study of Action Triggering in V-0.5.0[2] It may be captured by the<resource_URI> <operator> <value>" , even simple expressions specified as key-value pairs separated by operators Complex expressions can be created by using logical operators to combine simpler expressions. The nextEventStateID attribute specifies the next event state to transition to. For on1 events, EASP performs the specified action and then remains on the current step. circle.
[0063] Transition2 events occur every 6 hours during the fermentation period. This allows the must to be mixed in a homogeneous state for a more uniform fermentation. For the situation 2 event, EASP proceeds to step 204, where the punch tool It is configured to run for 5 minutes before returning to the step (see Figure 15 for details). Finally, the transition3 event detects the end of the fermentation period when the sugar content reaches zero. In response, a rotational movement of the squeezing tool is performed and the EASP proceeds to step 205.
[0064] During the fermentation period, the winemaker tastes the wine to monitor its progress. During this period, winemakers finally began fermenting two separate fermenting processes to produce a higher quality wine. You can choose to perform the racking procedure at any time, as shown in Figure 7B. This includes racking the wine before or after the malolactic fermentation step 206. In the original winemaking process, pressing and racking are combined in step 205. This decision requires an update to the EASP flow. New steps 243 and 244 are added to capture each of the three racking steps. Next, while the pressing procedure is being carried out, the winemaker transitions to step 205. Update the migration resource 295. This update is not yet completed, so the update engine The data can be safely integrated by the algorithm 213. The updates made override the existing transition events and trigger the churn procedure of step 205. Instead, the new transition will bypass step 2 to perform the first racking procedure. Go to 43.
[0065] While the first racking transfer (step 243) is occurring, the winemaker performs step 2 For the transition resource 297 of 06, update the transition resource 297 as shown in Figure 15. The second racking transfer is started (step 244). It is allowed to settle for 24 hours to remove the sediment1 (called gross lees), and then bacteria are added for fermentation. At this point, EASP proceeds to step 206, where malolactic acid bacteria are added for up to six weeks. As in step 203, malolactic fermentation has an end condition and When the yeast level is zero or when the six-week duration expires. Either will force the EASP to proceed to step 244 where the second dregs transfer is enabled. can be.
[0066] In the second racking transfer, the three transition resources are linked together to follow each other. Transition 1 is the start of the tailings process, as indicated by the tank level being zero. It captures the event when a step is completed. EASP is represented by the formula "transition1 = done". The action performed in Transition2 is The key is to check the various levels of these and adjust them as needed. The action is captured by another EASP, which checks and adjusts levels of total acidity, pH, etc. Finally, once the level is properly adjusted, the EASP can be used to remove fine sediment. Once this is complete, EASP moves on to the barrel aging step.
[0067] The barrel aging process can take more than a year, so winemakers often have to "control, The exitConditions attribute value of "transition2" is specified. <transition>Resources are Each <eventstate>associated with a resource, e.g., tr from eventState eid3 transition2 (labeled 296) is the transition2 resource in eventState eid7. Please understand that this is different from the end condition. <easp>control attribute of resource 280 The winemaker tastes the wine based on the following criteria: <easp> You can terminate this process abruptly by explicitly changing the control attribute of resource 280. Otherwise, the winemaker will wait for the specified timeDuration. The aging process may then be completed by filtration and bottling. The filtering and bottling procedure consists of three main events: Turn on the filtering filter in the transition2 resource. Turning off and bottling on, and finally, the transition3 resource This reference is to eid8 and ei Not for d3. This applies to transition2 and transition3 resources. It is used.
[0068] Open Connectivity Forum: The Open Connectivity Forum (OCF) is a forum that aims to Another IoT architecture similar to oneM2M that defines service layer functions to communicate with each other In OCF (e.g., OIC Core Specification, v1.1.0[3]), device resources are stored on the CSE. Unlike oneM2M, which hosts resources centrally, the resources themselves are hosted locally on the OIC server. However, the OCF is implemented as an OIC relay that can be implemented as a gateway device. Figure 12 shows an example of the entity roles defined by OCF. The IC client sends a request to the OIC server via the OIC relay unit. device resources, thereby enabling the EASP processing disclosed herein. Therefore, configurable event action sequences are available. The system 210 may include a gateway to provide the services disclosed herein. This allows for a wide range of IoT devices and their resources to be integrated as part of a single IoT gateway. access to define IoT processes and monitor and control devices can be used for.
[0069] OCF provides a mechanism for automating tasks using scenes, rules, and scripts. These resources provide behaviors like event management, but The functionality currently detects that a certain event is true and then performs some automated These resources are limited to running scripts to perform specified tasks. Updating the database requires significant effort to enable the EASP processing functionality disclosed herein. As a result, new OIC resources are introduced here as OCF examples. do.
[0070] New OCF resource types can be defined as shown in Table 10. These resources The source type defines a structure similar to that shown in Figure 3, but is specified to fit within the OCF specification. The top level is the oic.wk.easplist resource type, which has child oic.wk.easp It is an Aggregation Resource for hosting resources. The child oic.wk.easp resources are those disclosed above. Finally, the oic.wk.eventState resource is the same as the oic.wk.easp resource. It is a child resource and represents the event state resource of the EASP process. The source is realized as an OCF resource property, as outlined below. Note that the resource type uses the prefix "oic.wk". The fix "oic.r" can also be used to specify OIC resource types. Other notable The key change is the introduction of the oic.if.easp interface, which allows requesters to The new resource types provide specialized representations of other processes, as described below. It may also support other OCF-defined interfaces, but for brevity they are not listed here. [Table 10]
[0071] Table 11 shows the properties exposed for the oic.wk.easplist resource. Most of the properties are provided to support OIC Aggregated Resources. It provides status information about the oic.wk.easp resources (IoT Pro This information can be used to manage the collection and to can be used to determine the load on the sequencing system 210 . [Table 11]
[0072] Table 12 shows the properties exposed for the oic.wk.easp resource. Patty, as mentioned above, <easp>These properties represent the parameters of the resource 280. has the same functionality as specified above. [Table 12]
[0073] Table 13 shows the properties exposed for the oic.wk.eventState resource. The properties of <eventstate>Represents a parameter of a resource. In this case, Transition parameters are represented as OIC properties, not as child resources of oic.wk.eventState. Note that they still provide the same state transition determining functionality as transition resources. do. [Table 13]
[0074] One of the unique features of OCF is the OCF Interface concept, which allows OCF resources to be It is defined as being visible (providing a view). In OCF, it is defined as accessing a resource. The interface defines what types of requests and responses are allowed at any given time. For example, the OCF oic.if.baseline interface handles read and update requests. The response is sent to the resource containing the meta properties. Table 14 lists the OCF interfaces, while oic.if. The r interface restricts requests to those that read properties of the source. Using the interface concept, create a new OCF interface oic.if.easp , which can provide different responses depending on the query string provided during the request. This interface then implements the open source code described in the operation of the resource manager 214. One of the responses shown: current representation, current EASP and event state status This allows the device to return the entire EASP structure as well as the Event Action System. Additional response data may also be included in this image as required by the sequencing system 210. To provide these specialized responses, new oi The c.if.easp interface may be defined and added to Table 14. [Table 14]
[0075] Industrial factories: In industrial factories, assembly lines are populated with robots that perform specific functions. There are multiple stations arranged to produce the final product. Figure 13 shows such a Two interconnected stations are shown. Station 220 (Station 31 7 and station 318) outputs from station 210 (station 311 to station 318). Station 315) per hour. The station 210 can output at a rate of 1.5 units. The station can receive input at a rate of 2 units per hour. It is adjusted to minimize the time the robot remains idle to maximize do.
[0076] The factory configurable event action sequencing system disclosed herein An EASP is created to implement 210 and control each of the stations shown. Each EASP process has multiple event states, which are determined by the desired speed of each station. This is controlled using the Time Duration parameter to ensure that the output is accurate. The administrator of the event action sequencing system 210 controls the execution of each IoT process. You have full access to them and can interactively control them as needed. Furthermore, each robot can be controlled by a manager, who can monitor the output of each station. Provide a diagnostic of its operation so that
[0077] Station 311 is an older station that has operated reliably but has recently shown signs of failure. During a shift, station 311 may include its components In response, the administrator sends diagnostic information that one of the Change the control parameter of the EASP resource of station 311 to "immediate termination" The administrator then sends a request to shut down station 311. The station is configured to output at a slower rate to compensate for being shut down. The IoT processing of the station 317 and station 318 is reprogrammed. Interactively control each IoT process in the application 317 and station 318 This shows the call flow that an administrator would follow to
[0078] FIG. 14 shows an exemplary interactive control of the EASP process. The administrator 321 may access the EASP resources of the station 317 (e.g., the EASP resource 217 ) to pause the EASP. The parameter is set to "pause." In step 332, the event action system Within the sequencing system 210, the resource manager 214 implements configurable event handlers. signal to an execution unit 216 that is part of the execution sequencing system 210. The execution unit 216 stops the execution of the event state. Stops the timer that it is controlling and stops any actions that it may be performing. In step 333, the event action sequencing system 21 0 can return a response indicating that the EASP has been suspended. Steps 331 through 333 can be repeated for the EASP of location 318. In step 334, the administrator 321 accesses the Time Adjust the Duration parameter to output at a rate of 4 units per hour. The user may optionally select multiple event state resources (e.g., event state resource 218). ) to execute this request.
[0079] Continuing to refer to FIG. 14, in step 335, the resource manager 214 , making appropriate changes to the event state resource of station 317's EASP resource. The resource manager 214 directly informs the execution unit 216 about the current event state. Alternatively, the resource manager 214 can signal a connection change to an existing interface. Changes can be forwarded to the update engine 213 to update the event state. For active event state resources, the resource manager 214 simply The database 215 of vent status resources may be updated. The event action sequencing system 210 then sends a The administrator returns a response to the EASP of the station 318 in steps 334 to 338. 336 can be repeated. In step 337, all Time Duration parameters When this is changed, the administrator can issue a "resume" request to resume operation of station 317. This sends a request with the control parameter set to "resume". In step 338, the resource manager 214 A signal is sent to the execution unit 216 to resume operation of the vent state. Now, let's reflect the changes made in steps 334 to 336 to slow down production. In step 339, the event action sequencing system 210 The administrator returns a response indicating that the SP has been restarted. Steps 337 to 339 can be repeated.
[0080] User Interface: Figure 15 is a configurable interface to present information about the EASP process in a tabular format. The event action sequencing framework 210 can provide This table shows an example user interface for the wine-making use case described above. The information in the table indicates the event status in the Use the query interface to specify the response data to be returned. The sequence can be read from the action sequencing system 210. Returns the EASP resource structure and the status of the EASP and current event state. In the table, the current event state is eid5 (bold). The table is color coded. For example, the existing event state may be black (if EASP is running). Newly added event states (while the event is still active) may be light blue. The text in the s attribute may be color coded to provide a quick visual representation to the winemaker. Current updates to the EASP of existing attributes created can be shown in red text. Cut.
[0081] <easp>Once a resource is created, it is saved for future use and can be used with other wine types. Winemakers may adjust the amount as needed to accommodate different grape varieties. You can try different fermentation times and add or remove event states depending on the Because fermentation can vary from batch to batch, the winemaker's ability to adjust the behavior of the EASP is crucial. This is important to producing the best tasting wine possible.
[0082] FIG. 16 illustrates an exemplary image that may be generated based on the methods and systems described herein. Refers to a display (e.g., a graphical user interface). The interface 901 (e.g., a touchscreen display) displays the status of the EASP process. A snapshot view can be provided. Display interface title 902 shows the name of the EASP and the current event status. There is a high-level flow 903 of the entire SP process, highlighting the current event state. The bottom of the display interface shows the EASP process 904 and the current event status. For EASP processes 904, there is status information for both the details and control buttons. The application allows users to view and potentially update EASP processes. For the event state status 905, a list of all next transitions is displayed, and the current The user is shown the possible transitions from the current event state.
[0083] FIG. 17A illustrates one or more events associated with the event action sequencing system 210. One or more of the disclosed concepts (e.g., FIGS. 2-15 and the accompanying description) may be realized. Examples include machine-to-machine (M2M), Internet of Things (IoT), or A diagram of a Web of Things (WoT) communication system 10. In general, M2M technologies are It provides the building blocks to connect any M2M device, M2M gateway, or M2M server. The service platform can be a component of IoT / WoT and IoT / WoT service layers. This can be done.
[0084] As shown in FIG. 17A, the M2M / IoT / WoT communication system 10 includes a communication network 12. The communication network 12 is a fixed network (for example, Ethernet, fiber, ISDN, PLC, etc.), or wireless networks (e.g., WLAN, cellular, etc.), or For example, the communication network 12 may be a , voice, data, video, messaging, broadcast and other content across multiple There may be multiple access networks serving users. The network 12 may be implemented using code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiplexing (FDM), or One or more of the following may be used: Single-Carrier FDMA (SDMA), Orthogonal FDMA (OFDMA), Single-Carrier FDMA (SC-FDMA), etc. A number of channel access methods may be used. For example, core networks, the Internet, sensor networks, and industrial control networks. , personal area network, converged personal network, satellite network, It may have other networks, such as a home network or a corporate network. do.
[0085] As shown in FIG. 17A, the M2M / IoT / WoT communication system 10 includes an infrastructure domain. The infrastructure domain may include infrastructure and field domains. refers to the network side of an end-to-end M2M deployment, and the field domain is typically The field domain refers to the area network behind the gateway. The M2M gateway device 14 and the M2M terminal device 18 may be any number of M2M gateway devices 14 and M2M terminal devices 18. It will be understood that the device 18 may be included in the M2M / IoT / WoT communication system 10 as needed. Each of the M2M gateway device 14 and the M2M device 18 is connected to a communication network 1. The M2M gateway is configured to transmit and receive signals via a wireless link. The device 14 may be connected to an operator network such as the communication network 12 or directly to a wireless link. wireless M2M devices (e.g., cellular and non-cellular) and fixed Networks that allow M2M devices (e.g., PLCs) to communicate. For example, M2M devices 18 collects the data and transmits it to the M2M app via a communication network 12 or a direct wireless link. The M2M device 18 may also transmit data to the M2M application 20 or the M2M device 18. The data may be received from the application 20 or the M2M device 18. and the signal is transmitted to the M2M application via the M2M service layer 22 as described below. The M2M device 18 and the gateway 14 may, for example, Wireless, WLAN, WPAN (e.g., Zigbee, 6LoWPAN, Bluetooth), direct wireless link The communication may be over a variety of networks, including wired and wired.
[0086] Referring to FIG. 17B, the M2M service layer 22 in the illustrated field domain is , an M2M application 20, an M2M gateway device 14, and an M2M terminal device 18, and provides services to the communication network 12. The M2M service layer 22 may, as desired, , any number of M2M applications, M2M gateway devices 14, M2M terminal devices 18, and It should be understood that the M2M service layer 22 may communicate with the communication network 12. It may be implemented by multiple servers, computers, etc. The M2M terminal device 18, the M2M gateway 14, and the M2M application 20 are applied to the The M2M service layer 22 functions as, for example, a web server. It may be implemented in various ways, such as in the cellular core network, in the cloud, etc.
[0087] An M2M service layer 22' similar to the illustrated M2M service layer 22 is The M2M service layer 22' resides in the infrastructure domain. 1. The M2M application 20′ and the underlying communication network 12′ are provided with services. The M2M service layer 22' also includes an M2M gateway device 14 and and provides services to M2M terminal devices 18. The M2M service layer 22' can provide any number of M2M applications. It will be understood that the M2M gateway device may communicate with the M2M terminal device. The M2M service layer 22' interacts with service layers from different service providers. The M2M service layer 22' may include one or more servers, computers, virtual machines, This can be achieved through cloud computing, computer systems, storage farms, etc. .
[0088] Further referring to FIG. 17B, the M2M service layers 22 and 22′ are A core set of service delivery capabilities that can be leveraged by applications and vertical systems. These service capabilities are provided by M2M applications 20 and 20'. interact with the device for data collection, data analysis, device management, security, billing, and service These services allow functions such as service / device discovery to be performed. Performance is improved by removing the burden of implementing these features from the application. Simplifies application development and reduces cost and time to market. 2' also shows that the M2M applications 20 and 20' are provided by the service layers 22 and 22'. It can also communicate over various networks 12 and 12' in conjunction with the services it provides. Make it possible.
[0089] In some examples, the M2M applications 20 and 20′ may be implemented as disclosed herein. , the desired action to communicate using the event action sequencing system 210. The M2M applications 20 and 20' are not limited to Not only are they important in the areas of transportation, health and wellness, connected homes, energy management, and asset management, but they are also Applications include various industries such as traffic tracking, and security and surveillance. As mentioned above, the system can be configured to handle devices, gateways, and other servers. The M2M service layer, which runs on the network, handles, for example, data collection, device management, and security. Security, billing, location tracking / geofencing, device / service discovery, and legacy systems It supports features such as system integration and provides these capabilities as services for M2M applications. Available at 0 and 20'.
[0090] The event action sequencing system of this application is part of the service layer. The service layer can be implemented using an application programming interface (API). ) and a set of underlying networking interfaces to provide value-added service capabilities It is a middleware layer that supports M2M entities (e.g., implemented on hardware). M2M functional entities such as devices, gateways, or services / platforms that are used The ETSI M2M and Both oneM2M and oneM2M will include the event action sequencing system of the present application. The oneM2M service layer is a set of Common Service Functions (CSFs) (i.e., service capabilities) of one or more specific types of CSFs. An instantiation of a service is called a Common Service Entity (CSE) and can be of different types Network nodes (e.g., infrastructure nodes, middle nodes, application nodes) Furthermore, the event action sequence of this application can be hosted on a The sequencing system is a system that performs the event action sequencing of the present application. To access services, you must use a service-oriented architecture (SOA) or resource-oriented architecture. It can be implemented as part of an M2M network using a Reverse Oriented Architecture (ROA).
[0091] As disclosed herein, a service layer is a functional layer within a network services architecture. The service layer is typically an application layer such as HTTP, CoAP, or MQTT. It sits on top of the application protocol layer and provides value-added services to client applications. The service layer is, for example, a control layer and a transport / access layer. It also provides an interface to the core network at the lower resource layer. The layers are service definition, service runtime enablement, policy management, and access control. Multiple categories of (service) capabilities or functions, including control and service clustering Recently, some industry standards bodies, such as oneM2M, have started to support M2M type data. devices and applications across Internet / Web, cellular, enterprise, and home To address the challenges associated with integrating M2M services into deployments such as mobile networks, The M2M service layer can be called CSE or SCL. access to the collection or set of capabilities or functions described above that are supported by It can be provided for a variety of applications or devices, some examples of which include but are not limited to: Although it is not a standard, it can be used in various applications. This includes billing, data management, device management, discovery, provisioning, and connection management. These capabilities or functions are defined by the message formats, Such various applications can be accessed through APIs that utilize resource structures and resource representations. CSE or SCL are made available to the application by hardware or software. It is a functional entity that can be implemented in various applications or public to the device (i.e., the functional interfaces between such functional entities) The applications or devices that use the services or capabilities that are provided We will provide this service to our customers.
[0092] 17C is a system diagram of an exemplary M2M device 30. The exemplary M2M device 30 includes, for example, M2M terminal device 18 (which may include IoT device 242), or one or more 17C, the M2M gateway device 14 may include the components of the M2M gateway device 14. The M2M device 30 includes a processor 32, a transceiver 34, a transmit / receive element 36, a speaker, / Microphone 38, Keypad 40, Display / Touchpad 42, Non-removable memory 44, removable memory 46, power supply 48, global positioning system (GPS) chip The M2M device 30 may include a network device 50, and other peripheral devices 52. Consistent with the It should be understood that the M2M device 30 (e.g., an event action sequencing system) The IoT system 210, IoT device 242, IoT requester 241, etc. Exemplary embodiments for implementing the disclosed systems and methods for a computer sequencing system It may be implemented as follows.
[0093] The processor 32 may be a general-purpose processor, a special-purpose processor, a conventional processor, a digital signal processor, or Digital Signal Processor (DSP), multiple microprocessors, one or more associated with a DSP core Multiple microprocessors, controllers, microcontrollers, and application-specific integrated circuits Application-Specific Integrated Circuits (ASIC), Field Programmable Gate Array (FPGA) circuits, any other type The processor 32 may be a signal coding integrated circuit (IC), a state machine, or the like. The M2M device 30 may operate in a wireless environment, for example, for packet processing, data processing, power control, input / output processing, or the like. The processor 32 may also perform any other functions that enable the transmit / receive element 3 17C shows a configuration of a processor 32 and a transceiver 34 that may be coupled to the processor 32. Although the processor 32 and the transceiver 34 are shown as separate components, It will be appreciated that the processor may be integrated into an electronic package or chip. The server 32 may be an application layer program (e.g., a browser) or a wireless access layer (RA) N) programs or communications. The processor 32 may, for example, authentication, security key agreement, or cryptographic operations, such as at the data or application layer. Security operations such as the following may also be performed.
[0094] The transmit / receive element 36 transmits signals to the M2M service platform 22 or It may be configured to receive signals from the 2M service platform 22. For example, The transmit / receive element 36 is an antenna configured to transmit or receive RF signals. The transmit / receive element 36 may be connected to various networks such as WLAN, WPAN, cellular, and In one example, the transmit / receive element 36 may For example, an emitter / detector configured to transmit or receive IR, UV, or visible light signals. In yet another example, the transmit / receive element 36 may be a transmitter of RF and optical signals. The transmit / receive element 36 may be configured to transmit and receive both radio signals or It will be appreciated that the present invention may be configured to transmit or receive any combination of wired or wired signals. Let's do it.
[0095] Additionally, the transmit / receive element 36, although depicted as a single element in FIG. 17C, may be a M2M The device 30 may include any number of transmit / receive elements 36. More specifically, the M2M device The M2M device 30 may employ MIMO technology. two or more transmit / receive elements 36 (e.g., multiple antennas) for transmitting and receiving ) may also be included.
[0096] The transceiver 34 modulates and transmits the signals transmitted by the transmit / receive element 36. / may be configured to demodulate the signal received by the receiving element 36. Thus, the M2M device 30 may have multi-mode capabilities. Enables M2M devices 30 to communicate over multiple RATs such as IEEE 802.11 and IEEE 802.11 To facilitate this, transceiver 34 may include multiple transceivers.
[0097] The processor 32 may store any of the following memory devices: a non-removable memory 44 or a removable memory 46. It can access information from and store data in any type of suitable memory. The non-removable memory 44 may be a random access memory (RAM), a read-only memory (ROM), or a may include a ROM, hard disk, or any other type of memory storage device. The removable memory 46 may be a subscriber identity module (SIM) card, a memory stick, or the like. In other examples, the processor may include a memory card, a secure digital (SD) memory card, etc. The server 32 is not physically located on the M2M device 30, such as a server or home computer. The processor 32 may access information from and store data in memory. , related to the event-action sequences in some of the examples described here The method and system responds to the success or failure of a request, e.g., to control the lighting pattern, image, or color on the display or indicator 42. , or the event action sequencing system 210 and related configurations The display or indicator may be configured to indicate the status of the element in another manner. The controlled lighting patterns, images, or colors on the monitor 42 may be any of the images (e.g., reflecting the state of any of the method flows or components of the Here you can see the messages and The messages and procedures are disclosed. The messages and procedures are provided when a user selects an input source (e.g., a speaker). / microphone 38, keypad 40, or display / touchpad 42) Event action sequencing system information (e.g., event state resources) It can be extended to provide an interface / API for requesting Additional examples include event action sequencing and system information requests. A list, configuration, or query may be displayed on the display 42.
[0098] The processor 32 may be powered by a power supply 48, and other components within the M2M device 30. The power supply 48 may be configured to distribute or control power to the M2M device 30. For example, power source 48 may be one or more dry cell batteries (e.g., For example, nickel cadmium (NiCd), nickel zinc (NiZ), nickel metal hydride (NiMH), It may include lithium ion (Li-ion, etc.), solar cells, fuel cells, etc.
[0099] The processor 32 also receives location information (e.g., longitude and The M2M device may be coupled to a GPS chipset 50 configured to provide the location (location and latitude). The device 30 may be configured to determine the location of the object by any suitable location determination method consistent with the information disclosed herein. It will be understood that location information can be obtained by
[0100] The processor 32 may also provide additional features, functionality, or wired or wireless connectivity. other peripherals, which may include one or more software or hardware modules. The peripheral device 52 may be connected to the sensor. For example, the peripheral device 52 may include an accelerometer, a biometric various sensors such as a fingerprint sensor, an e-compass, a satellite transceiver, a digital a mobile camera (for photos or videos), a Universal Serial Bus (USB) port or Other interconnection interfaces, vibration devices, television receivers, hands-free headsets Bluetooth® modules, frequency modulation (FM) radio units, digital music Player, Media Player, Video Game Player Module, Internet Browser It may include the like.
[0101] The transmitting / receiving element 36 may be a sensor, a consumer electronics device, a smart watch or a smartwatch. Wearable devices such as smartphones, medical or e-health devices, robots, industrial equipment, drones , in other apparatus or devices, such as vehicles, such as automobiles, trucks, trains, or airplanes The transmit / receive element 36 may comprise one of the peripherals 52. via one or more interconnection interfaces, such as an interconnection interface; May be connected to other components, modules, or systems of the apparatus or device .
[0102] FIG. 17D shows, for example, a system for implementing the M2M service platform 22 of FIGS. 17A and 17B. 1 is a block diagram of an exemplary computing system 90 that can be implemented with the A computing system 90 (e.g., an M2M terminal device 18 or an M2M gateway device 14) ) may include a computer or server and may be primarily controlled by computer-readable instructions. The manner in which such instructions are stored and accessed is not limited. The instructions are executed within a central processing unit (CPU) 91 to operate the computing system 90. Many well-known workstations, servers, and personal computers can In a computer, the central processing unit 91 is a single-chip CPU called a microprocessor. In other machines, the central processing unit 91 may have multiple processors. The coprocessor 81 is an optional processor separate from the main CPU 91. It performs additional functions or assists the CPU 91. The CPU 91 or coprocessor 81 Event action sequencing, such as receiving an EASP resource request message. receiving, generating, and processing data related to the disclosed systems and methods This can be done.
[0103] In operation, CPU 91 fetches, decodes, and executes instructions, providing the primary device of the computer. The information is transferred to other resources via the system bus 80, which is a data transfer path. The system bus transfers data from the resources in the computing system 90. The system bus 80 connects the components together and defines the medium for data exchange. Typically, there is a data line for transmitting data and an address line for transmitting addresses. and control lines for sending interrupts and for operating the system bus. An example of such a system bus 80 is a PCI (Peripheral Component Interconnect: There is a Peripheral Component Interconnect (Peripheral Component Interconnect) bus.
[0104] The memory devices coupled to the system bus 80 include random access memory (RAM) 8 2 and read only memory (ROM) 93. Such memory is used for storing and ROM 93 generally contains memory that cannot be easily altered. The data stored in the RAM 82 is used by the CPU 91 or other hardware. The RAM 82 or ROM 93 can be read or modified by any software device. The memory controller 92 may be controlled by the memory controller 92. The memory controller 92 may It may provide an address translation function that, when executed, translates virtual addresses into physical addresses. The memory controller 92 also isolates processes within the system and prevents them from being accessed by user processes. Therefore, the first module may provide memory protection that isolates system processes from the A program that runs in this mode is mapped by its own process virtual address space. Only the memory allocated to the process can be accessed, and memory sharing between processes is not configured. Unless a process is started, it cannot access memory in the virtual address space of another process.
[0105] Furthermore, the computing system 90 includes a CPU 91, a printer 94, a keyboard, and a 84, mouse 95, and disk drive 85. It may also include a peripheral controller 83 that handles the
[0106] The display 86 is controlled by a display controller 96. is used to display the visual output generated by the display system 90. Visual output includes text, graphics, animated graphics, and video. The display 86 can be a CRT-based video display, an LCD-based flat panel display, or display, gas plasma-based flat panel display, or touch panel The display controller 96 may be implemented as a It contains the electronic components necessary to generate a video signal that
[0107] Furthermore, the computing system 90 may be configured to communicate with the network of FIGS. 17A and 17B. 12. It may also include a network adapter 97 that may be used.
[0108] Any or all of the systems, methods, and processes described herein may be computer-executable instructions (e.g., The instructions may be embodied in the form of a program code, for example, When executed by a machine such as an M2M server, an M2M terminal device, or an M2M gateway device, It is understood that the described systems, methods, and processes may be performed or implemented. Specifically, any of the steps, acts, or functions described above may be implemented by such computer-executable The computer-readable storage medium may be implemented in the form of instructions. Volatile and non-volatile, removable and non-removable, implemented by any method or technology Although such computer-readable storage media includes both the signal itself and the bubble media, As is clear from the description herein, storage media should not be construed as statutory subject matter. The computer-readable storage medium may include RAM, ROM, EEPROM, flash memory, or Other memory technologies, CD-ROM, Digital Versatile Disc (DVD) or other optical disk storage devices magnetic cassette, magnetic tape, magnetic disk storage device or other magnetic storage device, or can be used to store desired information and be accessed by a computer The computer-readable storage medium includes any other physical medium on which the computer can store data. The computer program may have a computer program written therein, the computer program being a data processor. a computer program that can be loaded into the data processing unit and executed by the data processing unit; When executed, the method is adapted to cause a data processing unit to perform the method steps. This can be done.
[0109] A preferred method, system, or apparatus of the subject matter of the present disclosure is shown in the drawings, i.e., event For clarity, in describing methods and systems related to action sequencing, However, claimed subject matter is not limited to the specific terms selected. No limitation on the term is intended, and each specific element may accomplish a similar purpose. It is to be understood that the present invention includes all technical equivalents which operate in a similar manner for the purpose.
[0110] The various techniques described herein may be implemented in hardware, firmware, software, or or, where appropriate, combinations thereof. The firmware and software are used to implement the equipment located at various nodes of a communication network. The device may reside on a single device for performing the methods described herein. , or can operate in combination with each other. As used herein, the terms "Device", "Network Device", "Node", "Device", "Network Node" etc. may be used interchangeably. In addition, the use of the word "or" is not intended to be limiting unless otherwise stated herein. Unless otherwise specified, it is generally used inclusively.
[0111] This written description is for the purpose of disclosing the invention, including the best mode thereof, and is not intended to be limiting unless otherwise specified. Making and using the system and performing any incorporated methods Examples are used to enable those skilled in the art to practice the invention, including: The patentable scope of the invention is defined by the claims, and does not include other implementations that occur to those skilled in the art. Examples (e.g., skipping steps, combining steps such as Figures 5 and 6) and / or adding steps between the exemplary methods disclosed herein. Such other embodiments are also contemplated, provided that the elements do not deviate from those set forth in the claims. or includes equivalent elements not significantly different from those claimed in the claims. It is intended to be within the scope of the claims.
[0112] Here, a system in which the EASP function is realized is disclosed. The IoT device (see Figure 3) EASP resources, event state resources, and The disclosed method and system can create an EASP based on the use of the transition resource. The system allows updating the EASP operation while it is running (as shown in Figure 8 and Figure 14). The information in Tables 1 to 3 is an application program that can be used to create an EASP. It can be considered a programming interface.
[0113] Handles resource creation requests with configurable event action sequencing By doing so, IoT systems define the components of complex applications. The resources that are used are EASP resources, event state resources, and transition resources, as well as their are the relevant parameters.
[0114] Configurable event action sequencing enables IoT systems to execute This system manages the operation of EASPs. This includes linking to other EASPs that can be executed in parallel, Update resources in EASP without affecting the operation of EASP while the system is running. and providing the status of the EASP operation to the requester. The system that presents the EASP resource parameters (prerequisites and / or exit conditions) This allows for the creation of smaller components. By linking components together, it becomes possible to create complex IoT applications.
[0115] EASP is useful when an application requires multiple steps (e.g., modules). The wire shown in Figure 1 is programmed to perform the operations for the application. The winemaking application begins by removing the grapes from the stems to begin the winemaking process. The EASP is programmed to execute a number of steps that begin with: EASP can, for example, sequence a process one step at a time and allocate relevant EASP resources (e.g. For example, Table 1, Table 2, or Table 3). The transition to another step depends on the detected event. It can also be caused by
[0116] In particular, the methods, systems, and apparatus described herein are useful in Internet of Things systems. It can provide a means of configurable event-action sequencing in systems. There, a request is received from the requester and an event action sequence is executed. This may include creating an EASP resource. The source may contain the following information: EASP ID, description, current status of the EASP, and control actions. , preconditions, termination conditions, number of events in EASP, initial event state when EASP starts This is the last event in the EASP environment, and the EASP resource is then used upon request. Create EASP ID, description, current state of EASP, control action, precondition, termination condition, The number of events in the initial event state when EASP starts, or the final event in EASP , corresponding to a particular parameter. , and has a means for maintaining communication so that state information can be transferred to the requester as needed. The device, computer-readable storage medium, or apparatus may include a parameter for a prerequisite or termination condition. The EASP has a means for linking the operation of the current EASP with other existing EASPs using the data. The method, system, computer-readable storage medium, or apparatus receives an event from a requester. A request to create a state resource (e.g., a resource related to an event state) The event state resource may include the following information: , the identifier used for the current event state, the description of the event state, Current status, the time set as the duration of the event state, and the early stage of the event state An event that terminates the current event to allow for termination or asynchronous termination. The event that triggers the state transition, the ID of the next event state to transition to, and other event states A list of actions to be performed when the transition event parameter is triggered to transition to The event state is then returned as requested. Creates a state resource, an identifier to be used for the current event state, Description, current status of the event state, and the time set as the duration of the event state , an event that ends the current event state to allow asynchronous termination of the event state , the event that triggers the event state transition, and the ID of the next event state to transition to, another Executed when a transition event parameter can be triggered to transition to an event state. The list of actions to be taken or the identifier of the next event state corresponds to a particular parameter. The method, apparatus, computer-readable storage medium, or device may optionally A means for maintaining communication is provided to allow for the transfer of status information. The storage medium or device can be read while the EASP is active without affecting the operation of the EASP. , a new event state resource dynamically added to EASP, or an existing event state resource This paragraph has a means for determining whether changes to the source can be integrated. and any combinations described in the following paragraphs (including the omission or addition of steps) It is intended to be consistent with the rest of the description.
[0117] Method, system, computer-readable storage medium, or apparatus for creating a transition resource Therefore, the transition resource has a means for receiving a request from a requester. may contain the following information: the event that caused the transition of the event state; the occurrence of the event; The actions that can be performed as a result of the request, or the next event state to transition to. Transition resources are created depending on the event. Events that cause state transitions, Actions that can be taken as a result of the event occurring, or the next event state to transition to corresponds to a particular parameter. The device has a means of maintaining communication so that it can transfer status information to the requester as needed. The method, system, computer-readable storage medium, or apparatus may: New transition resources dynamically added to the EASP without affecting the operation of the EASP, is a method for determining whether changes to existing transition resources can be integrated. The method, system, computer-readable storage medium, or apparatus includes means for: Requests for the creation of Action Sequencing Process Resources (EASP Resources) The EASP resource has a means to obtain the event from the requester. Linking to actionable actions enables complex Internet of Things applications The EASP resource defines the following information: This may include information such as: EASP ID, description, current status of the EASP, control actions, assumptions condition, exit condition, number of events in EASP, initial event state when EASP starts, is the final event of EASP. Then, EASP resources are created according to the request. All combinations of the above and the following paragraphs (including the deletion or addition of steps) are It is intended to be consistent with the rest of the detailed description.
[0118] The method, system, computer-readable storage medium, or apparatus is A link for creating a first event state resource among the plurality of event state resources. The event has a means for acquiring a quest, where the event is a trigger for an action to be performed. This is a requirement in Internet of Things systems. An event state resource is created, where the event state resource is the A resource that includes a current status and the duration of that status. The system, computer-readable storage medium, or device may include a second event for the application. means for receiving a request to add a second event state resource. Based on the request to add an event state resource, the first event state resource is Then, based on the analysis of the first event state resource, the EASP is activated. A second event state resource can be created while the EASP is running without adversely affecting its operation. Method, system and computer-readable storage medium for determining when an EASP can be integrated. The entity, or device, is the second of multiple event state resources for the application. means for receiving a request to update the event state resource of the second event; Based on the request to update the event state resource, the first event state resource The first event state resource is analyzed, and based on the analysis of the first event state resource, the EASP A second event condition can be sent to the EASP while the program is running without adversely affecting the operation of the EASP. The first event state resource determines when a first transition can be updated. All of the combinations described in this paragraph and the following paragraphs (including steps Any such modifications (including deletions or additions) are intended to be consistent with the remainder of the detailed description.
[0119] The methods, systems, and apparatus, computer-readable media, among others, described herein The first event state resource for an application is the A system that can include a means for obtaining a request to create a state resource. It can provide a means for configurable event-action sequencing in systems. Here, the event state resource is associated with the state of the event in the application. resources available for application (for example, the fermentation step in the wine-making process) An event can be a module or step within the overall process of a project. (e.g., detecting a timer, measuring a temperature, etc.) triggers an action to be performed It may be a condition that has been detected, and an event state resource is created based on the request. The first event state resource contains the current status of the event state and the transition A resource containing parameters (for example, an attribute or resource containing the information in Table 3) The method, system, computer-readable storage medium, or apparatus may be Receives a request to add or update a second event state resource for an application A request to add or update a second event state resource is received. Based on the estimate, a first event state resource is analyzed. Based on the analysis of the EASP, we have determined that the EASP operation is adversely affected while it is actively running. a second event state resource (including the corresponding step or module) without The event state resource determines when an event can be integrated into the EASP. Contains an indication of the event that will cause the current state of the event to end, so that the current state can be ended. The system may include a method for obtaining a request to generate a transition resource. The transition resource may be associated with a second event state resource. The first event state resource may include an identifier for the next event state to transition to. (For example, Figure 15).< / easp> < / eventstate> < / easp> < / easp> < / easp> < / eventstate> < / transition> < / value> < / operator> < / eventstate> < / transition> < / eventstate> < / eventstate> < / eventstate> < / easp> < / easp> < / easp> < / easp> < / easp> < / easp> < / eventstate> < / transition> < / transition> < / transition> < / eventstate> < / easp> < / transition> < / eventstate> < / easp>
Claims
1. An apparatus for a configurable event action sequencing process (EASP) in an Internet of Things (IoT) system, comprising: A processor; a memory coupled to the processor; Including, The memory includes executable instructions that, when executed by the processor, cause the processor to perform operations, the operations including: obtaining a request to create a first EASP resource for an application, the first EASP resource being a middleware resource controllable via a set of Application Programming Interfaces (APIs) and underlying networking interfaces associated with states of a set of events in the application, each of the set of events being a detected condition that triggers an action to be performed, the operation further comprising: creating the first EASP resource in response to the request; The first EASP resource is a resource including a current status of a state of a series of events specified by the request, a transition parameter, and an action parameter, the transition parameter including an identifier of a second EASP resource to transition to based on the detected condition, and the action parameter specifying one or more actions to take based on the detected condition, the one or more actions including creating a resource within the IoT system or other mechanism provided by the IoT system; thing, Including, Device.
2. The operation includes: receiving a request to add the second EASP resource for the application; analyzing the first EASP resource based on a request to add the second EASP resource; determining when the second EASP resources can be integrated into the EASP while the EASP is actively executing based on the analysis of the first EASP resources; The apparatus of claim 1 further comprising:
3. The operation includes: receiving a request to update the second EASP resource of a plurality of event state resources for an application; analyzing the first EASP resource based on a request to update the second EASP resource; determining when the second EASP resource can be updated to the EASP based on the analysis of the first EASP resource while the EASP is actively executing without affecting operation of the EASP; The apparatus of claim 1 further comprising:
4. The apparatus of claim 1 , wherein the first EASP resource includes an indication of an event that causes a current state of the event to terminate such that a current state of the event can be terminated.
5. The operation includes: obtaining a request to create a transition resource; the transition resource is associated with the second EASP resource; 2. The apparatus of claim 1.
6. The apparatus of claim 1 , wherein the first EASP resource includes an identifier of a next event state to transition to.
7. The apparatus of claim 1 , wherein the middleware resource is configured to operate at a service layer that functions above an application protocol layer to provide value-added services to a plurality of client applications.
8. The apparatus of claim 7 , wherein the service layer is defined by oneM2M or ETSI standards.
9. 1. A computer-implemented method for a configurable event action sequencing process (EASP) in an Internet of Things (IoT) system, comprising: obtaining a request to create a first EASP resource for an application, the first EASP resource being a middleware resource controllable via a set of Application Programming Interfaces (APIs) and underlying networking interfaces associated with a state of a set of events in the application, each of the set of events being a detected condition that triggers an action to be performed, the method further comprising: creating the first EASP resource in response to the request; The first EASP resource is a resource including a current status of a state of a series of events specified by the request, a transition parameter, and an action parameter, the transition parameter including an identifier of a second EASP resource to transition to based on the detected condition, and the action parameter specifying one or more actions to take based on the detected condition, the one or more actions including creating a resource within the IoT system or other mechanism provided by the IoT system; thing, Including, method.
10. receiving a request to add the second EASP resource for the application; analyzing the first EASP resource based on a request to add the second EASP resource; determining when the second EASP resources can be integrated into the EASP while the EASP is actively executing based on the analysis of the first EASP resources; The method of claim 9 further comprising:
11. receiving a request to update the second EASP resource of a plurality of event state resources for an application; analyzing the first EASP resource based on a request to update the second EASP resource; determining when the second EASP resource can be updated to the EASP based on the analysis of the first EASP resource while the EASP is actively executing without affecting operation of the EASP; The method of claim 9 further comprising:
12. 10. The method of claim 9, wherein the first EASP resource includes an indication of an event that causes a current state of the event to terminate such that the current state of the event can be terminated.
13. obtaining a request to create a transition resource; the transition resource is associated with the second EASP resource; 10. The method of claim 9.
14. The method of claim 9 , wherein the first EASP resource includes an identifier of a next event state to transition to.
15. 10. The method of claim 9, wherein the middleware resource is configured to operate at a service layer that functions above an application protocol layer to provide value-added services to a plurality of client applications.
16. The method of claim 15 , wherein the service layer is defined by oneM2M or an ETSI standard.
17. A computer-readable storage medium having a computer program stored thereon, A computer readable storage medium, the computer program being loadable into a data processing unit and adapted to cause the data processing unit to perform the method according to any one of claims 9 to 16, when the computer program is executed by the data processing unit.
Citation Information
Patent Citations
Internet of Things event management system and method
JP2016535359A
State machine builder equipped with improved interface and processing of state independent event
JP2017142798A
Method and apparatus for automatically generating an events dictionary in an internet of things (IOT) network
US20160041534A1
Simplified entity lifecycle management
US20170083175A1