Patent Description:
With rapid development of the mobile internet, an increasingly high requirement is imposed on network intelligence. To implement intelligent control on a network, as shown in <FIG>, a commonly used communications system is provided. The system includes a network device <NUM>, a mobile device <NUM>, a sensor <NUM>, and a sensor signal processor <NUM>.

A specific process of performing intelligent control by the communications system shown in <FIG> includes: The sensor <NUM> is embedded in the mobile device <NUM>. The sensor <NUM> can collect sensor information, where the sensor information includes time information, location information, and the like. The mobile device <NUM> obtains the sensor information collected by the sensor <NUM> and sends the sensor information to the sensor signal processor <NUM>. The sensor signal processor <NUM> determines the sensor information collected by the sensor <NUM>, to generate a corresponding instruction based on a determining result, and sends the instruction to the network device <NUM>. The network device <NUM> having a data forwarding and control capability can perform intelligent control on the communications system after analyzing the sensor information according to the instruction.

However, in the foregoing intelligent control process, the mobile device <NUM> needs to drive the network device <NUM>. Specifically, the sensor <NUM> installed in the mobile device <NUM> drives the network device <NUM> by using the sensor information. The communications system cannot provide a proactive service or adaptively change based on a context, and the network device <NUM> integrates control and forwarding. Consequently, a network control capability is limited, and an entire network cannot be globally and intelligently controlled.

<CIT> refers to methods and systems for fine tuning access control by remote, endpoint systems to host systems. Multiple conditions/states of one or both of the endpoint and host systems are monitored, collected and fed to an analysis engine. Using one or more of many different flexible, adaptable models and algorithms, an analysis engine analyzes the status of the conditions and makes decisions in accordance with pre-established policies and rules regarding the security of the endpoint and host system. Based upon the conditions, the policies, and the analytical results, actions are initiated regarding security and access matters.

<CIT> refers to systems, apparatus, techniques, and methods for predictively adapting properties of devices as a function of a user's historical behaviors (e.g., habits) as well as the specific context within which such behaviors are displayed. Such context can be virtually anything, such as day of the week, time of day, season, tide, temperature, weather, the user's mood, the score of a particular sporting event from the previous day, the phase of the moon, the user's location, etc. Based on observation by software, the user's habits and the context within which those habits occur are observed and the device is customized based on the user's behavioral patterns and the context thereof.

This application provides a control method, a related device, and a system, so that the system has a context-aware capability, and capability of intelligent control on a network is effectively improved. This problem is solved by the subject matter of the independent claims. Further implementation forms are provided in the dependent claims.

This application provides a control method, a related device, and a system which construct the context-aware model, so that the context-aware engine obtains the target data based on the context-aware model, and sends, to the controller, the indication information used to indicate that the target data meets the trigger condition. In this way, the controller can perform the preset control. It can be learned that, when performing the preset control, the controller may provide a proactive service based on the context-aware model, and when the control method provided in this application is applied to different scenarios, the controller may configure different context-aware models to be applied to different application scenarios. In addition, the controller performs network control, and the context-aware engine obtains and forwards the target data, so that the controller performs centralized network control, to obtain a global intelligent control capability, thereby improving efficiency of performing context-aware control by the controller.

An embodiment of the present invention provides a control method. The control method in this embodiment is based on a context-aware system, and in this embodiment, the context-aware system is described with reference to <FIG>.

<FIG> is a schematic diagram of a context-aware system according to the present invention.

The context-aware system <NUM> shown in <FIG> is an internet of things (Internet of Thing, IoT). Specifically, the context-aware system <NUM> includes, but is not limited to, a controller <NUM>, a context-aware engine <NUM>, an interconnection network <NUM>, a network device <NUM>, a network service device <NUM>, a mobile device <NUM>, a wireless sensor <NUM>, a wearable device <NUM>, and the like.

The controller <NUM> in this embodiment of the present invention is described by using a software defined networking (Software Defined Network, SDN) controller as an example.

The context-aware system <NUM> in this embodiment of the present invention implements interconnection between things based on the SDN network controller <NUM>. In this way, the context-aware system <NUM> in this embodiment can sense a data transmission intention more intelligently and more efficiently.

The SDN network controller <NUM> in this embodiment of the present invention is a network control device on a network control plane. The SDN network controller <NUM> in this embodiment provides southbound network device management. Specifically, the SDN network controller <NUM> implements, by using a southbound interface, network device management matters including link discovery, topology management, policy formulation, entry delivery, and the like.

The SDN network controller <NUM> in this embodiment provides a northbound network control and orchestration service. Specifically, the SDN network controller <NUM> enables, through a northbound interface, a network service developer to invoke various network resources in a software programming form, to implement the network control and orchestration service.

Specifically, when the SDN network controller <NUM> provides the southbound network device management, the SDN network controller <NUM> communicates with the network device <NUM> by using a network protocol such as an OpenFlow (OpenFlow, OF) protocol and/or a network configuration protocol (Network Configuration Protocol, NETCONF), to control and configure the network device <NUM>.

The interconnection network <NUM> included in the context-aware system <NUM> in this embodiment includes, but is not limited to, a communications network such as a data center network, a wide area network, a wireless network, and the internet of things. The interconnection network <NUM> is configured to provide a basis for communicating with a peripheral system and device.

The network device <NUM> included in the context-aware system <NUM> includes, but is not limited to, a router, a switch, a softswitch, and the like. The network device <NUM> forwards data under control of the SDN network controller <NUM>. The SDN network controller <NUM>, serving as the network control plane, intelligently controls forwarding of the network device <NUM>.

The network service device <NUM> included in the context-aware system <NUM> is a device that provides a network data service, and obtains corresponding data information through network access, for example, weather data, traffic information data, and geographic location data of a place.

The mobile device <NUM> is not limited to a personal digital assistant (Personal Digital Assistant, PDA), a smartphone, a tablet, a water heater, and the like, and the mobile device <NUM> interacts with the controller <NUM> and the context-aware engine <NUM> by using the interconnection network <NUM>.

The wireless sensor <NUM> and the wearable device <NUM> that are included in the context-aware system <NUM> may provide sensor data to the context-aware engine <NUM>.

Based on the foregoing context-aware system, with reference to <FIG>, the following describes in detail a specific execution process of a control method provided in an embodiment.

As shown in <FIG>, the control method in this embodiment includes the following steps.

Step <NUM>. A controller creates a context-aware model.

A defining process of the context-aware model can be implemented in step <NUM> in this embodiment. To be specific, the context-aware model can be created by using the defining process of the context-aware model.

The following first describes the context-aware model in this embodiment:.

The context-aware model in this embodiment models a scenario and a network application by using a domain-specific modeling language, so that the controller having a context-aware capability can proactively drive the network application.

The network application in this embodiment may be an application on the mobile device <NUM>, or may be an application of the controller. The application of the controller may be used to turn on a network, or may be used to turn off a network. Alternatively, the network application may be an application used to provide a programming interface to a third party. The context-aware model created in this embodiment can enable the context-aware system to have the context-aware capability.

A specific process of creating the context-aware model may be as follows:.

The controller may first determine a context-aware function that can be supported by the controller, so that the controller may configure the context-aware model based on the context-aware function, and the context-aware system can implement, by using the context-aware model, the context-aware function defined by the context-aware model.

For example, if the controller determines that the context-aware function that can be supported by the controller is: clocking in/out for a user using the mobile device <NUM>. Specifically, the context-aware system determines, based on a context-aware model that can clock in/out for a user, whether a current location at which the user is located is in an area in which the company is located. If the current location at which the user is located is in the area in which the company is located, the context-aware system may automatically clock in/out for the user, and in a clock in/out process, the user does not need to perform any operation.

For another example, if the controller determines that the context-aware function that can be supported by the controller is: automatically enabling a water heater at a user's home to heat. Specifically, the context-aware system determines, based on a context-aware model that can enable a water heater to heat, whether a distance between a current location of the user and the home is less than a preset value. If yes, the context-aware system can automatically enable the water heater at the user's home to heat, and in a heating process, the user does not need to perform any operation on the water heater.

This embodiment does not make any limitation on how the controller specifically determines the context-aware function that can be supported by the controller, provided that the controller can configure the context-aware model based on the supported context-aware function. For example, the controller in this embodiment may determine a supported context-aware function based on a configuration of the controller. For another example, the controller may determine a supported context-aware function based on a configuration of a developer. For still another example, the controller may determine a supported context-aware function by using data obtained by a sensor control interface that is of the controller and that is for external exchange.

Optionally, the controller needs to exchange information with an external device to create the context-aware model. The external device may be the network device <NUM>, the network service device <NUM>, the mobile device <NUM>, the wireless sensor <NUM>, the wearable device <NUM>, or the like. A sensor control interface configured to exchange information with the external device is disposed in the controller, so that the controller can receive, by using the sensor control interface, information sent by the external device, and can configure the context-aware model based on the information sent by the external device.

It should be noted that, information that is sent by the external device and that is received by the controller in this embodiment may not be limited in the process of creating the context-aware model. Details are not limited in this embodiment.

The following describes, by using an example, how the controller creates the context-aware model:.

The controller may determine characteristic information used to implement the context-aware function, and set the characteristic information in the context-aware model through text modeling, to be specific, set the characteristic information in a text format in the context-aware model.

The characteristic information in this embodiment includes any one or more of the following: network entity type definition information, network entity function definition information, data attribute definition information, interface definition information, measurement definition information, data threshold information, frequency definition information, and data precision information.

Descriptions are provided by using an example in which the characteristic information includes the network entity type definition information.

Specifically, the controller in this embodiment may perform modeling based on an abstract entity, and create a type set, where the type set includes at least one network entity, and all network entities in a same type set have a same network entity type.

The network entity in this embodiment may be a general name of various devices in the context-aware system, such as a node device, a communications device, a terminal device, a storage device, and other hardware devices that serve the network entity.

For example, types of all network entities in a type set created by the controller are smartphones, or types of all network entities in a type set are smart televisions, or types of all network entities in a type set are water heaters.

The controller may determine the network entity type definition information, where the network entity type definition information is used to define a type of a network entity. In this embodiment, the network entity type definition information defined by the controller can implement the context-aware function.

For example, the network entity type definition information may be used to define the type of the network entity as a smartphone. For another example, the network entity type definition information may be used to define the type of the network entity as a wearable device.

Specifically, when the network entity type definition information has been set in the context-aware model created by the controller, the context-aware engine may collect target data from a target device based on the context-aware model. A device type of the target device in this embodiment is consistent with the type defined by the network entity type definition information.

In a specific application scenario, if the controller determines that a context-aware model that can implement a clock in/out function needs to be created, the network entity type definition information created by the controller may be used to define the type of the network entity as a smartphone carried by a user. In this way, the context-aware engine can collect, based on the context-aware model, the target data from the smartphone used as the target device.

Descriptions are provided by using an example in which the characteristic information includes the network entity function definition information.

Specifically, the controller in this embodiment performs modeling based on an attribute of a network entity.

Specifically, the controller determines the network entity function definition information, where the network entity function definition information is used to define a function of the network entity.

In this embodiment, the network entity having the function defined by the network entity function definition information may implement the context-aware function in this embodiment.

In this way, the controller can set the network entity function definition information in the context-aware model, so that the context-aware engine collects target data from a target device, where a function of the target device in this embodiment is consistent with the function defined by the network entity function definition information.

Specifically, the function defined by the network entity function definition information in this embodiment may be a global positioning system (Global Positioning System, GPS) positioning function, a function of obtaining outdoor temperature data, a function of obtaining a body parameter, or the like. The body parameter may be a heartbeat parameter, a body temperature parameter, or the like.

In a specific application scenario, if the controller determines that a context-aware model that can implement a clock in/out function needs to be created, the function defined by the network entity function definition information created by the controller is a GPS positioning function. In this way, the context-aware engine can collect, based on the context-aware model, data from a target device that has the GPS positioning function.

Descriptions are provided by using an example in which the characteristic information includes the data attribute definition information.

The data attribute definition information in this embodiment is used to define a data type, so that the context-aware engine determines, based on the context-aware model in which the data attribute definition information is set, a data type of the collected target data is consistent with the data type defined by the data attribute definition information.

It can be learned from the foregoing descriptions that the target device may be defined by using the network entity type definition information and/or the network entity function definition information that are/is included in the context-aware model.

In a specific application, data generated by the target device may include data with a plurality of attributes, such as temperature data, GPS positioning data, signal data, and call data. The controller in this embodiment may define, by using the data attribute definition information, an attribute of specific data that needs to be currently collected. For example, in a specific application scenario, if the controller determines that a context-aware model that can implement a clock in/out function needs to be created, the target data defined by the data attribute definition information created by the controller is the GPS positioning data. In this case, the context-aware engine can collect, from the target device based on the context-aware model, the GPS positioning data generated by the target device.

Descriptions are provided by using an example in which the characteristic information includes the interface definition information.

The controller in this embodiment determines the interface definition information, where the interface definition information is used to define a data interface.

Specifically, the interface definition information is used to define a protocol for collecting the target data, such as a wireless fidelity (Wireless-Fidelity, Wi-Fi) protocol, so that the context-aware engine collects the target data based on an interface defined by the interface definition information.

In a specific application scenario, if the controller determines that the context-aware model that can implement the clock in/out function needs to be created, the interface definition information created by the controller is the Wi-Fi protocol. In this case, the context-aware engine can collect the target data based on the context-aware model by using the Wi-Fi protocol.

Descriptions are provided by using an example in which the characteristic information includes the measurement definition information.

The controller in this embodiment determines the measurement definition information, where the measurement definition information is used to define a data measurement unit, so that a measurement unit of the target data collected by the context-aware engine is consistent with the data measurement unit defined by the measurement definition information.

In a specific application scenario, if the controller determines that a context-aware model that can automatically enable a water heater at a user's home to heat needs to be created, the measurement definition information created by the controller may be used to define a data unit as degree Celsius. In this way, the context-aware engine can collect data with a measurement unit of degree Celsius based on the context-aware model. For another example, the measurement definition information created by the controller may be used to define a data unit as Fahrenheit. In this case, the context-aware engine can collect, based on the context-aware model, data with a measurement unit of Fahrenheit.

Descriptions are provided by using an example in which the characteristic information includes the data threshold information.

The controller in this embodiment determines the data threshold information, where the data threshold information is used to define a value range of the target data, so that a data range of the target data collected by the context-aware engine is consistent with the data range defined by the data threshold information.

In a specific application scenario, if the controller determines that a context-aware model that can automatically enable a water heater at a user's home to heat needs to be created, a value range defined by the data threshold information created by the controller may be higher than <NUM> degrees Celsius. In this case, when water temperature that is reported on the water heater and that is collected by the context-aware engine is <NUM> degrees Celsius, the context-aware engine may determine, based on the data threshold information included in the context-aware model, that the water temperature reported on the water heater is ignored, and the context-aware engine does not analyze the water temperature higher than <NUM> degrees Celsius based on the context-aware model until when the context-aware engine determines that the water temperature reported on the water heater is higher than <NUM> degrees Celsius.

Descriptions are provided by using an example in which the characteristic information includes the data precision information.

The controller in this embodiment determines the data precision information, where the data precision information is used to define precision of the target data, so that precision of the target data collected by the context-aware engine is consistent with the data precision defined by the data precision information.

In a specific application scenario, if the controller determines that a context-aware model that can automatically enable a water heater at a user's home to heat needs to be created, the data precision defined by the data precision information created by the controller is an integer. In this case, when water temperature that is reported on the water heater and that is collected by the context-aware engine is <NUM> degrees Celsius, the context-aware engine can determine, based on the data precision information included in the context-aware model, that the target data is <NUM>, so that precision of the target data is consistent with the data precision defined by the data precision information.

Descriptions are provided by using an example in which the characteristic information includes the frequency definition information:.

The controller in this embodiment determines the frequency definition information, where the frequency definition information is used to define frequency of collecting the target data, so that the context-aware engine collects the target data based on the frequency defined by the frequency definition information.

In a specific application scenario, if the controller determines that a context-aware model that can automatically enable a water heater at a user's home to heat needs to be created, the frequency definition information created by the controller may be used to define an interval of collecting the target data to be five minutes. In this case, the context-aware engine can collect, based on the frequency definition information included in the context-aware model, water temperature reported on the water heater once every five minutes.

In a process of creating the context-aware model in this embodiment, the controller further needs to determine a trigger condition and preset control, so that the controller performs the preset control when the target data meets the trigger condition. The preset control is a control manner that is defined by the context-aware model and that is used to implement the context-aware function.

To better understand the trigger condition and the preset control, the following provides descriptions with reference to a specific application scenario.

In an optional application scenario, if the context-aware function that can be supported by the controller is clocking in/out for a user who uses a terminal device, the trigger condition may be: GPS positioning data reported by the terminal device carried by the user indicates that the user is located in an area in which a company is located. In this case, the preset control may be controlling, by the controller, a server that is configured to clock in/out for an employee and that belongs to the company to perform a clock in/out operation for the user.

In an optional application scenario, if the context-aware function that can be supported by the controller is automatically enabling a water heater at a user's home to heat, the trigger condition may be: a distance between a location indicated by GPS positioning data reported on the terminal device that is carried by the user and the user's home is less than three kilometers. In this case, the preset control may be automatically enabling the water heater at the user's home to heat. The trigger condition may alternatively be: water temperature reported on the water heater at the user's home is higher than or equal to <NUM> degrees Celsius. In this case, the preset control may be stopping enabling the water heater at home to heat.

The foregoing descriptions of creating the context-aware model are an optional example and are not limited, provided that the controller can configure the context-aware model that can implement the context-aware function.

To better understand the control method in this embodiment of the present invention, in this embodiment, a function that can be implemented by the controller is described by using an optional example. It should be noted that, in this embodiment, descriptions of the function that can be implemented by the controller is an optional example and is not limited.

Step <NUM>. The controller sends the context-aware model to the context-aware engine.

Step <NUM>. The context-aware engine receives the context-aware model.

Specifically, a northbound sensor control interface is disposed in the context-aware engine in this embodiment. The context-aware engine exchanges data with the controller through the northbound sensor control interface.

More specifically, the context-aware engine receives the context-aware model through the northbound sensor control interface.

The context-aware engine may parse the context-aware model to read the characteristic information included in the context-aware model. For detailed descriptions of the characteristic information included in the context-aware model, refer to step <NUM>. Details are not described in this embodiment.

Step <NUM>. The context-aware engine collects the target data based on the context-aware model.

After parsing out the characteristic information included in the context-aware model, the context-aware engine may collect the target data based on the characteristic information included in the context-aware model.

It can be learned that the controller sends the context-aware model to the context-aware engine, so that the context-aware model subscribes to and processes the target data based on the context-aware model.

A manner in which the context-aware engine processes the target data is not limited in this embodiment, provided that the context-aware system in this embodiment can implement the context-aware function. For example, the context-aware engine can parse, filter, and convert the target data based on the context-aware model, so that the target data meets the definition of the context-aware model.

Based on the characteristic information included in the context-aware model, the following describes how the context-aware model specifically collects the target data.

Optionally, when the characteristic information included in the context-aware model is the network entity type definition information, the context-aware engine may determine, based on the network entity type definition information, the target device configured to obtain the target data, where the device type of the target device is consistent with the type defined by the network entity type definition information.

Optionally, when the characteristic information included in the context-aware model is the network entity function definition information, the context-aware engine may determine, based on the network entity function definition information, a function of the target device configured to obtain the target data, where the function of the target device is consistent with the function defined in the network entity function definition information.

Optionally, when the characteristic information included in the context-aware model is the data attribute definition information, the context-aware engine may collect the target data from the target device based on the data attribute definition information, where the data type of the collected target data is consistent with the data type defined by the data attribute definition information.

Optionally, when the characteristic information included in the context-aware model is the interface definition information, the context-aware engine may collect the target data based on the interface defined by the interface definition information.

Optionally, when the characteristic information included in the context-aware model is the measurement definition information, the context-aware engine may collect the target data based on the measurement definition information, so that the measurement unit of the target data collected by the context-aware engine is consistent with the data measurement unit defined by the measurement definition information.

Optionally, when the characteristic information included in the context-aware model is the data threshold information, the context-aware engine may collect the target data based on the data threshold information, so that the data range of the target data collected by the context-aware engine is consistent with the data range defined by the data threshold information.

Optionally, when the characteristic information included in the context-aware model is the data precision information, the context-aware engine may collect the target data based on the data precision information, so that the precision of the target data collected by the context-aware engine is consistent with the data precision defined by the data precision information.

Optionally, when the characteristic information included in the context-aware model is the frequency definition information, the context-aware engine may collect the target data based on the frequency definition information, so that the context-aware engine collects the target data based on the frequency defined by the frequency definition information.

It can be learned that the context-aware engine can determine, by using the frequency definition information, a time window within which the target data needs to be collected, and the context-aware engine can collect the target data from the target device based on the time window.

In a process in which the context-aware system implements the context-aware function, the target data may be streaming sensor data reported by various devices in the context-aware system.

Step <NUM>. The context-aware engine determines whether the target data meets the trigger condition, and if yes, performs step <NUM>, or if no, returns to perform step <NUM>.

The trigger condition is a condition created by the context-aware model. For specific descriptions, refer to the foregoing steps. Details are not described in this step.

The context-aware engine in this embodiment may perform analysis processing on the obtained target data that meets the definition of the context-aware model, to determine whether the target data meets the trigger condition.

The following describes how the context-aware engine specifically determines whether the target data meets the trigger condition:.

Optionally, the context-aware engine can calculate the target data based on a preset condition included in the context-aware engine, so that the context-aware engine performs logical reasoning on the target data to determine whether the target data meets the trigger condition.

For example, the context-aware function implemented by the context-aware model is automatically enabling the water heater at the user's home to heat. In this case, the trigger condition defined by the context-aware model is reporting indication information when a distance between a geographical location at which the user is currently located and the user's home is less than three kilometers, so that the controller automatically instructs, based on the indication information, the water heater to heat. In this application scenario, the context-aware engine may obtain, based on information that is used to collect data and that is included in the context-aware model, current geographic location information of the user from a terminal device used by the user, and determine, based on the current geographic location information of the user, whether the distance between a geographic location at which the user is currently located and the user's home is less than three kilometers. If yes, the context-aware engine may determine that the target data meets the trigger condition.

Optionally, the context-aware engine determines the target data based not only on the context-aware model but also on data prestored in the context-aware engine.

For example, when the context-aware model implements a context-aware function of automatically enabling a water heater at a user's home to heat, the data prestored in the context-aware engine may be a time period within which the user is off duty. For example, the context-aware engine may store a time period within which the user is off duty from <NUM>:<NUM> p. to <NUM>:<NUM> a.

Specifically, the context-aware function implemented by the context-aware model is automatically enabling the water heater at the user's home to heat. In this case, the trigger condition defined by the context-aware model is reporting indication information when a distance between a geographical location at which the user is currently located and the user's home is less than three kilometers, so that the controller automatically instructs, based on the indication information, the water heater to heat. In this application scenario, the context-aware engine may query data prestored by the context-aware engine to determine whether a current time period is a time period within which the user is off duty. If yes, the context-aware engine may query current geographic location information of the user, or if no, the context-aware engine may not query current geographic location information of the user. It can be learned that when determining that the current time period is the time period within which the user is off duty, the context-aware engine determines whether the target data meets the trigger condition defined by the context-aware model.

Step <NUM>. The context-aware engine generates the indication information.

Specifically, it can be learned from step <NUM> that the indication information is used to indicate that the target data obtained by the context-aware engine meets the trigger condition defined by the context-aware model.

Step <NUM>. The context-aware engine sends the indication information to the controller.

Step <NUM>. The controller receives the indication information.

Specifically, the controller in this embodiment receives, through a northbound sensor control interface, the indication information sent by the context-aware engine.

Step <NUM>. The controller performs preset control based on the indication information.

The preset control in this embodiment is a control manner defined by the context-aware model.

In this embodiment, before performing the preset control, the controller may first generate application configuration information and/or a network control constraint.

The controller implements the preset control by using the application configuration information and/or the network control constraint.

For example, if the context-aware function implemented by the created context-aware model is clocking in/out for a user, the controller may establish, when the context-aware model has been created by the controller, a communication link between a southbound network device interface of the controller and a server configured to clock in/out for the user.

Specifically, when receiving the indication information sent by the context-aware engine, the controller may determine the preset control that has been defined by the context-aware model. In this application scenario, the preset control is clocking in/out for the user. In this case, the controller may send the application configuration information to the server through the established communications link between the controller and the server configured to clock in/out for the user, so that the server can clock in/out for the user.

For another example, if the context-aware function implemented by the created context-aware model is data packet transfer, and specifically, the context-aware system includes a plurality of links used to control a network application, when the context-aware model has been created, the controller may control the links by using a configured network control constraint.

Specifically, when the controller receives the indication information sent by the context-aware engine, the target data defined by the context-aware model is bandwidth of a link, and the trigger condition defined by the context-aware model is that bandwidth utilization of the link is greater than or equal to <NUM>%, the controller may determine the preset control defined by the context-aware model. In this application scenario, the preset control is transferring a packet on the link to a preset server or discarding a packet on the link, to avoid congestion.

A manner of performing preset control by the controller in this embodiment is not described in detail in this embodiment. For example, the controller may control network layer forwarding, a network status, network connectivity, a network device, a device connection, device management, a device protocol, and the like, provided that the context-aware function can be implemented.

The following describes beneficial effects of the control method in this embodiment:.

In this embodiment of the present invention, the context-aware model is constructed with reference to a context-aware technology. The context-aware model defines the target data that needs to be obtained, the trigger condition, and the preset control, so that the controller can perform the preset control when determining that the target data meets the trigger condition. It can be learned that, when performing the preset control, the controller does not need to be constrained by a driver installed in the terminal device, so that the controller can provide a proactive service based on the context-aware model. In addition, when the control method in this embodiment is applied to different scenarios, the controller may configure different context-aware models, so that the controller controls a network to implement different context-aware capabilities, thereby extending an application range of intelligent network control.

According to the control method in this embodiment, the controller performs network control, and the context-aware engine obtains and forwards the target data, so that the controller performs centralized network control, to obtain a global intelligent control capability. In addition, in this embodiment, the context-aware engine processes data, thereby improving efficiency of performing context-aware control by the controller.

To better understand the control method in this embodiment of the present invention, the following describes, with reference to a specific application scenario, a specific application process of the control method in an application scenario of data center migration.

Various resources are deployed in a data center <NUM> shown in <FIG>, the data center <NUM> is deployed in a distributed manner, and the resources are decentralized in the data center <NUM> nearest to a tenant <NUM>.

In the prior art, when needing to obtain a network resource of the tenant <NUM>, the data center <NUM> coordinates network resource of the tenant <NUM>. For example, when the tenant <NUM> is at a location A, a tenant resource may be deployed in a data center DC-A currently nearest to the tenant <NUM>. When the tenant <NUM> is migrated from the location A to a location B, a network resource obtained by the tenant <NUM> at the location B needs to be obtained from a data center DC-B nearest to the tenant <NUM>. In this case, the resource in the data center DC-A is configured and synchronized to the data center DC-B after a specific delay. In this way, after the tenant <NUM> is migrated to the location B, data in the data center DC-B can be obtained.

It can be learned that, in the prior art, a passively triggered resource response is used, to be specific, the resource in the data center DC-A can be triggered, so that the resource is configured and synchronized to the data center DC-B after a specific delay only when it is determined that the tenant <NUM> has migrated from the location A to the location B. It can be learned that timeliness of resource configuration is low.

The following describes a specific process of migrating, by the data center with reference to a context-aware technology, resources in the data center in this application scenario by applying the control method provided in the present invention.

In this application scenario, the SDN network controller <NUM> may configure a context-aware model <NUM> for migrating the resources in the data center.

The context-aware model <NUM> in this application scenario may include characteristic information used to implement a context-aware function.

Specifically, the characteristic information includes network entity type definition information, where the SDN network controller <NUM> may define the network entity type definition information by using a keyword. Types of network entities defined by the network entity type definition information include the data center DC-A and the data center DC-B, and the network entity type definition information further defines a mobile phone <NUM> carried by the tenant <NUM>.

Specifically, the characteristic information may further include interface definition information, where the SDN network controller <NUM> may define the interface definition information of the mobile phone <NUM> by using a keyword, so that the context-aware engine <NUM> obtains, based on the interface definition information, an interface for collecting the target data.

Specifically, the characteristic information may further include data attribute definition information, where the SDN network controller <NUM> may define the data attribute definition information by using a keyword, so that the context-aware engine <NUM> determines, based on the data attribute definition information, a type of the target data that can be obtained. In this application scenario, the type of the target data defined by the data attribute definition information is geographic location information of the mobile phone <NUM>.

Specifically, the characteristic information may further include frequency definition information, where the frequency definition information may define frequency of obtaining the target data to be one hour.

The characteristic information may further include operation capability definition information, so that the context-aware engine <NUM> can perform a derivation operation on the obtained target data by using the operation capability definition information.

Specifically, the operation capability definition information defines a binary operation, for example, a logical operation such as an OR operation (OR), an AND operation (AND), or a NOT operation (NOT), for condition triggering. To be specific, the context-aware engine <NUM> determines, based on the operation capability definition information, whether the indication information needs to be sent to the SDN network controller <NUM>.

After the SDN network controller <NUM> configures the context-aware model, the SDN network controller <NUM> can send the context-aware model to the context-aware engine <NUM>.

In this embodiment, the mobile phone <NUM> carried by the tenant <NUM> may be registered on the context-aware engine <NUM>. For specific descriptions of the context-aware engine <NUM>, refer to the foregoing embodiment. Details are not described in this application scenario. The context-aware engine <NUM> can obtain, based on the context-aware model <NUM> from the registered mobile phone <NUM>, geographic location information of the tenant <NUM> that is used as the target data.

In this application scenario in which the tenant <NUM> is from the location A to the location B, the context-aware engine <NUM> obtains the geographical location information of the tenant <NUM> based on the context-aware model, and performs a logical operation. When the trigger condition is reached, the SDN network controller <NUM> is instructed, by using the indication information, to perform preset control on a network of the tenant <NUM>.

The trigger condition in this application scenario may be that a distance between a current location of the tenant <NUM> and the data center DC-A is greater than or equal to a first threshold, and a distance between the current location of the tenant <NUM> and the data center DC-B is less than or equal to a second threshold. This indicates that the user is migrating from the location A to the location B.

The context-aware engine <NUM> sends, to the SDN network controller <NUM>, the indication information used to indicate that the target data meets the trigger condition.

When receiving the indication information, the SDN network controller <NUM> can determine that the target data meets the trigger condition, and can perform preset control based on the context-aware model, where the preset control is performing virtual machine migration for the tenant <NUM>.

It can be learned that, in this application scenario, the SDN network controller <NUM> can configure and synchronize the resources in the data center DC-A to the data center DC-B in a process in which the tenant <NUM> is migrated from the location A to the location B, that is, when the tenant <NUM> has not reached the location B, so that the resources have been migrated when the tenant <NUM> arrives at the location B.

The context-aware model <NUM> in this application scenario is used to migrate a data center, and the control method in this application scenario may also be reused in another application scenario. For example, the control method in this application may be applied to an office automation (Office Automation, OA) card swiping system, to implement automatic clocking in/out for an employee, and in an application process, only the context-aware model needs to be changed. For example, the target data included in the context-aware model is GPS data of the employee, the trigger condition is that the GPS data of the employee is within a range of a plant area, and the preset control is clocking in/out for the employee. In this way, the OA card swiping system may automatically clock in/out for the employee when determining that the GPS data of the employee is within the range of the plant area, and the employee does not need to input a clock in/out operation during a clock in/out process, greatly improving clock in/out efficiency for the employee.

With reference to <FIG>, the following describes in detail a specific structure of the controller in this embodiment. <FIG> is a schematic diagram of a hardware structure of an embodiment of the controller according to the present invention.

The controller in this embodiment can implement the control method shown in <FIG>. For a specific execution process, refer to <FIG>. Details are not described again.

The controller <NUM> may include one or more controllers running a computer system <NUM>.

The computer system <NUM> in this embodiment mainly includes a disk <NUM>, and the disk <NUM> is used as a persistent data storage medium and is configured to store a context-aware model <NUM>.

It should be noted that descriptions of a storage medium used to store the context-aware model <NUM> are an optional example and are not limited in this embodiment. In another application scenario, the context-aware model <NUM> may alternatively be stored by using another storage medium. Details are not limited in this embodiment.

The computer system <NUM> in this embodiment can read and modify the stored context-aware model <NUM>.

The computer system <NUM> in this embodiment further includes a processor <NUM>, and the processor <NUM> can configure the context-aware model <NUM> and store the context-aware model <NUM> on the disk <NUM>.

The computer system <NUM> further includes a memory <NUM>, and the memory <NUM> is configured to cache running data that is used to run an SDN network operating system <NUM> and model data of the context-aware model <NUM>.

When the controller <NUM> in this embodiment runs the SDN network operating system <NUM>, the controller <NUM> can perform the control method in the foregoing embodiment.

The computer system <NUM> may further perform data communication and exchange data with an external device by using a network adapter <NUM>, a driver adapter <NUM>, and an input/output adapter <NUM> that are connected to a system bus <NUM>.

In <FIG>, a specific structure of the controller is described from a perspective of physical hardware. The following describes the specific structure of the controller with reference to <FIG> from a perspective of a functional module.

The controller includes a configuration unit <NUM>, a sending unit <NUM>, a receiving unit <NUM>, and a control unit <NUM>.

The configuration unit <NUM> is configured to: determine characteristic information used to implement a context-aware function, and set the characteristic information in the context-aware model, to create the context-aware model.

The characteristic information includes any one or more of the following: network entity type definition information, network entity function definition information, data attribute definition information, interface definition information, and data threshold information.

The network entity type definition information is used to define a type of a target device from which the context-aware engine collects the target data;.

The sending unit <NUM> is configured to send the created context-aware model to the context-aware engine, where the context-aware model is used to define preset control performed when target data meets a trigger condition, and the preset control is used to implement the context-aware function; and the context-aware model is further used to instruct the context-aware engine to send indication information to the controller when the context-aware engine determines that the target data meets the trigger condition, where the indication information is used to indicate that the target data meets the trigger condition.

The receiving unit <NUM> is configured to receive the indication information.

The control unit <NUM> is configured to perform the preset control based on the indication information.

For a specific execution process of performing the control method by the controller shown in <FIG>, refer to <FIG>. Details are not described again.

With reference to <FIG>, the following describes in detail a specific structure of the context-aware engine in this embodiment. <FIG> is a schematic structural diagram of hardware of an embodiment of the context-aware engine according to the present invention.

The context-aware engine in this embodiment can implement the control method shown in <FIG>. For a specific execution process, refer to <FIG>. Details are not described again.

The context-aware engine <NUM> is a core component of a development program or system on an electronic platform. By using the context-aware engine <NUM>, a developer may quickly establish and layout a function required by a program, or assist in running of a program.

The context-aware engine <NUM> communicates with the network service devices <NUM>, the wireless sensor <NUM>, and the like by using the interconnection network <NUM>.

The context-aware engine <NUM> in this embodiment is a data processing device including a computer system <NUM>.

For specific descriptions of a disk <NUM>, a context-aware model <NUM>, a processor <NUM>, a memory <NUM>, a system bus <NUM>, a network adapter <NUM>, a driver adapter <NUM>, and an input/output adapter <NUM> that are included in the context-aware engine <NUM> in this embodiment, refer to <FIG>. Details are not described again.

The context-aware engine <NUM> in this embodiment further includes the memory <NUM>, and the memory <NUM> is configured to cache model data used to run a context-aware processing system <NUM> and the context-aware model <NUM>.

In this embodiment, when the context-aware engine <NUM> runs the context-aware processing system <NUM>, the context-aware engine <NUM> can implement the control method in the embodiment of <FIG>. For a specific execution process, refer to <FIG>. Details are not described again.

The disk <NUM> in the context-aware engine <NUM> further includes an ontology library <NUM>. The processor <NUM> in this embodiment obtains preset data stored in the ontology library <NUM>, to perform the control method shown in <FIG>, where the preset data stored in the ontology library <NUM> in this embodiment may vary based on different application scenarios. To be specific, if the context-aware engine <NUM> in this embodiment serves in different application scenarios, the ontology library <NUM> may provide different preset data. For example, the ontology library <NUM> may provide preset data applied to a financial field, preset data applied to an intelligent control field, preset data applied to a cloud computing field, or the like. This is not specifically limited in this embodiment. For another example, the ontology library <NUM> may provide different preset data when the context-aware engine <NUM> serves devices of different models.

With reference to <FIG>, it can be learned that, when this embodiment is applied to an application scenario in which a water heater at a user's home is automatically enabled to heat, the preset data stored in the ontology library <NUM> may be a time period within which the user is off duty.

Optionally, a type of the ontology library <NUM> in this embodiment may be a web ontology language (Web Ontology Language, Owl) database, a sensor database, a historical experience database, or the like.

In <FIG>, a specific structure of the context-aware engine is described from a perspective of physical hardware. The following describes the specific structure of the context-aware engine with reference to <FIG> from a perspective of a functional module.

The context-aware engine includes a receiving unit <NUM>, an obtaining unit <NUM>, a determining unit <NUM>, and a sending unit <NUM>.

The receiving unit <NUM> is configured to receive a context-aware model sent by a controller, where the context-aware model is used to define preset control performed when target data meets a trigger condition, and the preset control is used to implement a context-aware function; and the context-aware model is further used to instruct the context-aware engine to send indication information to the controller when the context-aware engine determines that the target data meets the trigger condition, where the indication information is used to indicate that the target data meets the trigger condition.

Specifically, the context-aware model includes characteristic information used to implement the context-aware function.

More specifically, the characteristic information includes any one or more of the following: network entity type definition information, network entity function definition information, data attribute definition information, interface definition information, and data threshold information.

The obtaining unit <NUM> is configured to obtain, based on the context-aware model, the target data defined by the context-aware model.

The determining unit <NUM> is configured to determine whether the target data meets the trigger condition defined by the context-aware model.

The sending unit <NUM> is configured to send the indication information to the controller when it is determined that the target data meets the trigger condition defined by the context-aware model.

For a specific execution process of performing the control method by the context-aware engine shown in <FIG>, refer to <FIG>. Details are not described again.

It may be clearly understood by persons skilled in the art that, for the purpose of convenient and brief description, for a specific working process of the foregoing system, apparatus, and unit, refer to a corresponding process in the foregoing method embodiments, and details are not described herein again.

Claim 1:
A control method performed by a controller, the method comprising:
• sending a created context-aware model to a context-aware engine (step <NUM>), wherein:
o the context-aware model is used to define a preset control performed when target data meet a trigger condition,
o the preset control is used to implement a context-aware function; and
o the context-aware model is further used to instruct the context-aware engine to send indication information to the controller when the context-aware engine determines that the target data meet the trigger condition, wherein the indication information is used to indicate that the target data meet the trigger condition,
• receiving the indication information (step <NUM>); and
• performing the preset control based on the indication information (step <NUM>),
• wherein before the sending the created context-aware model to the context-aware engine, the method further comprises:
o determining characteristic information used to implement the context-aware function, and setting the characteristic information in the context-aware model, to create the context-aware model,
wherein the characteristic information comprises any one or more of the following: network entity type definition information, network entity function definition information, data attribute definition information, and interface definition information, wherein
▪ the network entity type definition information is used to define a type of a target device from which the context-aware engine collects the target data, wherein the type of the target device is a water heater or a wearable device;
▪ the network entity function definition information is used to define a function of the target device from which the context-aware engine collects the target data, the function of the target device is a Global Positioning System, GPS, function, a function for obtaining an outdoor temperature, a function for obtaining a heartbeat parameter, or a function for obtaining a body temperature parameter;
▪ the data attribute definition information is used to define a data type of the target data collected by the context-aware engine, wherein the data type of the target data are temperature data, GPS positioning data, or call data; and
▪ the interface definition information is used to define a protocol for collecting the target data, the protocol being a Wireless Fidelity, Wi-Fi, protocol.