Device and method for controlling the execution of a mashup Web of Things service
The apparatus and method for controlling mashup WoT services address execution failures by optimizing service combinations based on user-specific information and execution logic, ensuring efficient and reliable service delivery.
Patent Information
- Application Number
- DE102015108683
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2014-11-14
- Filing Date
- 2015-06-02
- Publication Date
- 2026-02-05
- Estimated Expiration
- 2035-06-02
AI Technical Summary
Conventional mashup services in the Web of Things (WoT) environment fail to execute properly due to issues with specific web service APIs and lack of consideration for user-specific information such as location, time, and personal characteristics, leading to incomplete or unreliable service execution.
An apparatus and method for controlling mashup WoT services that combine different WoT services by utilizing a WoT mashup service function entity, a WoT service execution function entity, and a WoT service repository to optimize service execution based on user-specific information and execution logic descriptions, including sequential, arithmetic, logical, and conditional operations.
Enables efficient and reliable execution of mashup WoT services tailored to user needs, ensuring optimal service delivery by considering user preferences and service states, thereby improving the reliability and accuracy of service execution.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
CROSS REFERENCE TO RELATED APPLICATIONSThis application claims priority to Korean Patent Application Nos. 10-2014-0073128 and 10-2014-0158473 filed on Jun. 16, 2014 and Nov. 14, 2014, respectively.BACKGROUND1. Technical FieldEmbodiments of the present invention relate to an apparatus and method for controlling execution of a mashup world wide web of things (mashup web of things) service (mashup WoT service), and more particularly to an apparatus and method that can examine, register, and execute a new service in which two or more WoT services are combined when an available WoT service is executed in a web application service environment.2. Description of Related ArtAs the Internet of Things (IoT) and the wearable device market have spread, interest in IoT-related devices and IoT-related applications has gradually increased.In particular, the IoT may provide information services (e.g., temperature, humidity, heart rate, location coordinate, distance information, etc.) useful to a user via the exchange of information between things each equipped with a communication function, or may enable remote control of things (e.g., brightness and interior temperature control, etc.).A service in which things provide a service to a user while communicating with the user using conventional web technology in an IoT environment is called a web-based IoT service or WoT service. In this case, for receiving an intelligent service of things, a service mashup that creates a new service by combining WoT basic services provided by things and then executes a WoT service suitable for the user's need is essential.The conventional mashup (or web mashup) refers to the development of a new web service by combining various pieces of information disclosed via the web and web service APIs. For example, in the case of a service mashup that queries the outside temperature of a current location, it is possible to combine information about the current location of a user with a web-based temperature query service provided by a meteorological observation station and then provide a target service to the user.However, the entire mashup service cannot be executed properly when a problem occurs with a specific web service API that constitutes a single mashup service. In other words, in the above mashup example, the entire mashup service cannot be executed when a problem occurs with a temperature query service API provided to the meteorological observation station.Moreover, there are cases where the conventional service mashup uses incomplete user information such as the location of a user, the time at which the user makes a request, and so on to invoke a web service API. However, in this case, no mashup method is provided that takes into account the state of provision of a web service API, a QoS, and the preference and personal characteristics (age, sex, area, school, occupation, etc.) of a user.As a related technology, Korean Patent Application Publication No. 2010-0120905 discloses a technology in which a user can freely search and select ontology, automatically combine semantic services based on the results of the search and selection, and provide an interface via a combined composite semantic service or via a semantic workflow, and the users can interact with each other.D. Zeng, S. Guo, and Z. Cheng: "The web of things: a survey", Journal of Communications, vol. 6, no. 6, pp. 424-438, September 2011, discusses the architecture and some important technologies of the Web of Things (WoT), presents some open platforms and prototypes, summarizes existing research results, and provides systematic comparisons to provide insight into the WoT's development and future.SUMMARYAt least some embodiments of the present invention are directed to providing an apparatus and method for controlling execution of a mashup WoT service that, in conjunction with controlling service execution of a WoT service system, can generate a mashup WoT service suitable for a WoT service user by combining different WoT services provided by things, and can execute and query the mashup WoT service.The subject matter described herein achieves, among other things, the object of executing services that require execution of at least two further services more efficiently and reliably (e.g., without failures).The object is achieved by means of the subject matters of the independent claims. The dependent claims indicate some of the possible exemplary embodiments.In accordance with one aspect of the present invention, there is provided an apparatus for controlling execution of a mashup WoT service, including: a WoT mashup service function entity configured to respond to a mashup WoT service request from a WoT service user by executing a mashup WoT service optimized for the WoT service user; a woT service execution function entity configured to, in response to a request for execution of the simple WoT services for execution of the mashup WoT service from the WoT mashup service function entity, return the results of simple WoT services to the WoT mashup service function entity; and a WoT service repository configured to store WoT service execution descriptions each describing execution logic for each of the simple WoT services.The WoT mashup service function entity may include a WoT mashup engine configured to read the WoT service execution description from the WoT service repository or execute the mashup WoT service in accordance with a service policy in the corresponding WoT service execution description; and a WoT mashup logic management configured to query the WoT service repository via the WoT service execution description or register or update the WoT service execution description.The WoT mashup engine may cooperate with the WoT service execution functional entity.The WoT service execution functional entity may cooperate with a WoT broker or with a general web service to execute each of the simple WoT services.Each of the WoT service execution descriptions may set a method for executing the simple WoT service or a method for executing the mashup WoT service in which two or more simple WoT services are combined.Each of the WoT service execution descriptions may include information about the execution of the mashup WoT service, a service policy configured to execute the mashup WoT service generated by combining the two or more simple WoT services, and service profiles representing parameters configured to identify the mashup WoT service optimized for the WoT service user.The service policy may correspond to sequential execution or arithmetic operation execution or logical operation execution or conditional execution.In accordance with another aspect of the present invention, there is provided a method of controlling execution of a mashup WoT service, including: receiving, by a WoT mashup service function entity, a mashup WoT service request from a WoT service user; selecting, by the WoT mashup service function entity, a mashup WoT service optimized for the WoT service user based on a WoT service repository storing WoT service execution descriptions each describing execution logic for a simple WoT service; and executing the optimized mashup WoT service together with a WoT service execution function entity capable of executing the simple WoT service by the WoT mashup service function entity.Selecting the mashup WoT service optimized for the WoT service user may include selecting and combining two or more WoT service execution descriptions that belong to the WoT service execution descriptions stored in the WoT service repository and that are optimal for the WoT service user.The mashup WoT service may be generated by combining the simple WoT services whose number is two or more; and executing the optimized mashup WoT service may include requesting the WoT service execution functional entity to execute the simple WoT services, receiving results of the execution of the simple WoT service, and executing the optimized mashup WoT service based on the results of the execution of the simple WoT services.Each of the WoT service execution descriptions may include a service policy, and the service policy may correspond to sequential execution or arithmetic operation execution or logical operation execution or conditional execution.The sequential execution may take the form of "Mashup-WoT Service No. C = simple WoT service No. B (Simple WoT Service No. A)"; and the sequential execution may be performed to calculate a result of the mashup WoT service No. C. using a result of executing the simple WoT service No. A as an input of simple WoT service No. B.The arithmetic operation execution may be performed in a form of "Mashup-WoT service No. C = α· Einfacher WoT service No. A + β· Einfacher WoT Service No. B"; and the execution with arithmetic operations may be performed to calculate a result of the mashup WoT service No. C. based on operation results of executing simple WoT services No. A and No. B can be executed and α and β can be the parameters of the service execution profiles.The logical operation execution may be in a form "Mashup-WoT service No. C = simple WoT service No. A & Simple WoT Service No. B"; and the logical operation execution may be performed to calculate a result of the mashup WoT service No. C. based on operation results of executing simple WoT services No. A and No. B, and the logic operation operator "&" may refer to a case where the results of the simple WoT services No. A and No. B satisfies a specific condition.Execution with logical operations may take the form of "Mashup-WoT Service No. C = simple WoT service No. A | Simple WoT Service No. B"; and the logical operation execution may be performed to obtain the result of the mashup WoT service No. C. based on operation results of executing simple WoT services No. A and No. B, and the logic operation operator "|" may refer to a case where at least one of the results of the simple WoT services No. A and No. B satisfies a specific condition.The conditional execution may take a form of "simple WoT service No. A ? simple WoT service No. B: Simple WoT Service No. C"; and conditional execution may be performed to execute simple WoT service No. B if the simple WoT service No. A satisfies a specific condition, and the simple WoT service No. C. if the simple WoT service No. A does not satisfy the specific condition.Further, the method may include querying the WoT service repository about the WoT service execution description by the WoT mashup service function entity or registering or updating the WoT service execution description by the WoT mashup service function entity.BRIEF DESCRIPTION OF THE DRAWINGSThe above and other objects, features and advantages of the present invention will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which: FIG. 1 is a schematic diagram illustrating the configuration of a WoT service system to which the present invention is applied; FIG. 2 is a schematic diagram illustrating the configuration of an apparatus for controlling execution of a mashup WoT service according to an embodiment of the present invention; FIG. 3 is a schematic diagram illustrating the internal configuration of the WoT service repository illustrated in FIG. 2 ; FIG. 4 illustrates an example in which a service policy has been applied to a mashup WoT service in an embodiment of the present invention; FIG. 5 illustrates an example in which service profiles have been applied to a mashup WoT service in an embodiment of the present invention; and FIGS. 6 and 7 are flowcharts illustrating a method of controlling execution of a mashup WoT service according to an embodiment of the present invention.DETAILED DESCRIPTIONThe present invention may be subject to various modifications and may have various embodiments. Specific embodiments are illustrated in the drawings and described in detail below.However, it is to be understood that the present invention is not to be limited to these specific embodiments, but includes all changes, equivalents and substitutions which fall within the spirit and scope of the present invention.The terms used herein are used only for describing embodiments and not for limiting the inventive concept. Unless defined otherwise, a singular form may include a plural form. The terms including "comprise," "includes," "comprising," "including," and their derivatives specify the presence of described shapes, numbers, steps, operations, elements, parts, and / or groups thereof, and do not preclude the presence or addition of at least one other shape, number, step, operation, element, part, and / or group thereof.Unless otherwise defined, all terms, including technical or scientific terms, used herein have the same meanings as commonly understood by one of ordinary skill in the art to which the present invention pertains. Further, it should be understood that terms such as those defined in commonly used dictionaries should be interpreted as having a meaning that is consistent with their meaning in the context of the specification and the relevant art, and unless explicitly defined herein, they will not be interpreted in an idealized or overly formal sense.Hereinafter, embodiments of the present invention will be described in more detail with reference to the accompanying drawings. In order to facilitate the general understanding of the present invention, like reference numerals are assigned to like components throughout the drawings, and redundant descriptions of the like components are omitted.FIG. 1 is a schematic diagram illustrating the configuration of a WoT service system to which the present invention is applied.The WoT service system includes a WoT service provider 20 and a WoT broker 30.The WoT service provider 20 may provide a WoT service user 10 with various web services related to things 40, i.e., a WoT service.Accordingly, the WoT service provider 20 performs information management and service execution control functions with respect to the WoT service. That is, the WoT service provider 20 may include a module 22 responsible for the function of managing information about the WoT service and a module 24 responsible for the function of controlling the execution of the WoT service.In addition, the WoT service provider 20 allows things to cooperate with each other across the web to perform a simple WoT service.The WoT broker 30 is responsible for an access load attributable to the joint operation of a large number of things. In addition, the WoT broker 30 provides the function of managing WoT resources. Accordingly, the WoT broker 30 is considered a broker system that supports the joint operation of things 40 via the web.FIG. 2 is a schematic diagram illustrating the configuration of an apparatus 50 for controlling execution of a mashup WoT service according to an embodiment of the present invention.The apparatus 50 illustrated in FIG. 2 for controlling the execution of a mashup WoT service includes a WoT mashup service function entity 52, a WoT service execution function entity 54 and a WoT service repository 56.The WoT mashup service function entity 52 may make a corresponding response to a mashup WoT service request from the WoT service user 10. Moreover, the WoT mashup service function entity 52 may perform a corresponding operation in response to a request for the creation, deletion or change of the mashup WoT service logic or a query about the mashup WoT service logic from the WoT service user 10.In this case, the WoT mashup service function entity 52 includes a WoT mashup logic management 52 aand a WoT mashup engine 52 b.The WoT mashup logic management 52 aincludes the function of querying the WoT service repository 56 via a WoT service execution description or registering or updating a WoT service execution description.The WoT mashup engine 52 breads a WoT service execution description from the WoT service repository 56 or executes a mashup WoT service in accordance with a service policy. That is, when the WoT service user 10 requests a specific mashup WoT service (e.g., a cooling service based on a discomfort index), the WoT mashup engine 52 brequests the WoT service repository 56 via a WoT service execution description that can provide an optimal mashup WoT service for the corresponding user. Thereafter, the WoT mashup engine 52 bexecutes mashup WoT service in accordance with a service rule included in the read-out WoT service execution description. In this case, the WoT mashup engine 52 bmay cooperate with the WoT service execution functional entity 54.When a request for execution of a simple WoT service is received from the WoT mashup service function entity 52, the WoT service execution function entity 54 performs the function of executing the corresponding WoT service and returning the result of the execution to the things mashup execution unit 52 b. In this case, the WoT service execution functional entity 54 may cooperate with the WoT broker 30 or with a conventional web service to execute the simple WoT service.The WoT service repository 56 stores information regarding the execution of the WoT service.FIG. 3 is a schematic diagram illustrating the internal configuration of the WoT service repository 56 illustrated in FIG. 2.The WoT service repository 56 stores WoT service execution descriptions 56 a, 56 band 56 nthat describe multiple execution logic portions for respective WoT services. That is, in the WoT service repository 56, a plurality of WoT service execution descriptions are stored.Each of the WoT service execution descriptions 56 a, 56 b, and 56 ndescribes a method for executing a simple WoT service or a mashup / federated WoT service by combining two or more simple WoT services.Each of the WoT service execution descriptions 56 a, 56 b, and 56 nincludes mashup WoT service information (e.g., an agent providing a mashup WoT service, an access method, and the QoS), a service policy configured to execute a mashup WoT service generated by combining two or more WoT services, and service profiles describing parameters configured to identify the user-optimized mashup WoT service such as a user preference and an execution request situation (a time, a location) for the mashup WoT service, etc. Thus, service profiles may include static information for a specific WoT service, such as a version of the service, the lifetime cycle and service classification, etc.In this case, the mashup WoT service information included in each of the WoT service execution descriptions 56 a, 56 b, and 56 nmay include information on a description of the mashup WoT service including the uniform resource indicator (URI) of an agent providing the mashup WoT service or a web service application programming interface (web service API).Moreover, each of the WoT service execution descriptions 56 a, 56 b, and 56 nmay include the execution rule of a mashup WoT service in which two or more simple WoT services are combined. Accordingly, the execution rule of the mashup WoT service No. C. using sequential execution, execution by arithmetic operations, execution by logic operations, or conditional execution, for example, when existing simple WoT services No. A and No. B are present:1) Sequential Execution: No. C = No. B (No. A); No. A is first carried out and then performed using the result of No. A as the input of No. B No. B.2) Execution with Arithmetic Operations: No. C. is calculated based on the results of WoT Services No. A and No. B are determined. In this case, α and β indicate additional information, which is calculated with the results of executing the simple WoT services No. A and No. B can be combined. α and β can be defined using the parameters of service profiles.3) Execution with Logical Operations: No. C = No. A & No. B (or No. C = No. A | No. B); No. C. is calculated based on the results of each of the WoT services No. A and No. B is determined. In this case, the logic operation operator "&" refers to the case that two service results satisfy a specific condition. The logic operation operator "|" refers to the case that at least one of two service results satisfies a specific condition.4) Conditional Execution: No. A ? No. B: No. C; If Simple WoT Service No. A satisfying a specific condition becomes the WoT simple service No. B. Otherwise, the simple WoT service No. C. The condition of No. A may be specified herein using any equality and relation operators such as "greater than", "less than", "equal".In this case, conditional execution represents a rule such that a subsequent simple WoT service varies depending on the result of execution of a previous simple WoT service.An example is given as follows. In order to calculate the thermal comfort index, it is necessary to combine numerical values relating to various indices such as temperature, humidity, air flow rate, radiation temperature, water vapor partial pressure, etc. Specifically, the discomfort index, i.e., the representative thermal comfort index, can be calculated using the temperature T (measured in units of ° C.) and the relative humidity RH (measured in units of %) via the following equation:To execute a Discommodant Index Mashup service, first, the simple WoT service No. A related to the measurement of the current temperature T and the simple WoT service No. B, which relates to the relative humidity RH, is separately prepared. Thereafter, using the above equation, the result of a diseasy index mashup operation can be obtained. That is, the execution rule of the discommodant index mashup service No. C. can be determined by the operation of the simple WoT services No. A and No. B.Meanwhile, by considering the situation (location, time, cost, preference, and / or selection state) of a user requesting execution of each simple WoT service and the state (accessibility, driving state, QoS) of a dings providing the simple WoT service, the service profiles included in each of the WoT service execution descriptions 56 a, 56 b, and 56 nmay include parameters configured to provide a user-suitable WoT service.FIG. 4 illustrates an example in which a service policy has been applied to a mashup WoT service in an embodiment of the present invention. That is, FIG. 4 illustrates the case where a new mashup WoT service No. n is generated using two existing simple WoT services No. 1 and No. 2 that are present in the WoT service repository 56.In FIG. 4, a new mashup WoT service n performing the arithmetic operation of two simple WoT services is another service. The new mashup WoT service is stored (registered) in the WoT service repository 56.Moreover, the new mashup WoT service n is executed via the WoT mashup engine 52 bof the mashup WoT service function entity 52 when a user makes an execution request. The WoT mashup engine 52 bprovides the result of execution for the user as a service response.FIG. 5 illustrates an example in which service profiles are applied to a mashup WoT service in an embodiment of the present invention. That is, FIG. 5 illustrates a method for applying service profiles included in a WoT service execution description to a mashup WoT service.A user wishing to receive the new mashup WoT service n may apply specialized profiles (i.e., parameters α and β) to the respective simple WoT services with respect to the results of executing the simple WoT services No. 1 and No. 2 for the user requesting the service.This allows the new mashup WoT service n to be received.As described above, a service example of providing a cooling mashup service based on the discomfort index by applying an embodiment of the present invention is as follows:1) User A (i.e., a WoT service user) requests, via device 50, a cooling service based on the discomfort index to control execution of a mashup WoT service, and then requests execution of the corresponding mashup WoT service to receive the service in a room.2) Accordingly, the WoT mashup engine 52 brequests a corresponding mashup WoT service execution description stored in the WoT service repository 56 within the mashup WoT service execution control device 50. Thereafter, the WoT mashup engine 52 bmeasures the internal temperature and the relative humidity by allowing simple WoT services to be separately executed via the WoT service execution functional entity 54.3) Thereafter, the WoT mashup engine 52 bcalculates the inconvenience index based on an operation execution rule while considering the service profiles of the WoT service execution description. Since the discomfort indices felt by persons are different from each other, the WoT mashup engine 52 bmay calculate specialized discomfort indices for each user using parameter information stored in profiles such as gender, age, temperature accuracy, cooling sensitivity, etc.4) Thereafter, the WoT mashup engine 52 bexecutes a WoT service with respect to an available cooling device to provide comfort desired by the corresponding user using the calculated discomfort index. In other words, if the calculated discomfort index exceeds a specific numerical value determined in a WoT service execution description, the WoT mashup engine 52 bexecutes a WoT service with respect to things (e.g., an air conditioner, an air supply fan, etc.) to reduce the discomfort indexThe service policy and service profiles of a mashup WoT service for the above-described example of a cooling mashup service based on the discomfort index can be described as in the following Table 1:Table 1 Table 1-Service information:ID = No. N;Service category = Cooling service;WoT service provider = iCo Inc.;WoT Service Type = MashupWoT Quality of Service = good-Service Regulation:(x = No. A);(y = No. B); B);(z = No. M) = (1.8x + 0.55(1-y)(1.8x - 25) + 35p);No. N = (z > 80? No. C: (z > 75? No. D & No. E: No. F));-Service Profiles:Location=***, **-ro, **-gu, Daejeon Cityp=0,9In this case, the mashup WoT cooling service No. described above. N can be considered as a service in which the following simple WoT services have been combined.Simple Service No. A: Temperature detectionSimple Service No. B: Moisture detectionSimple Service No. C: Air Conditioning OperationSimple Service No. D: Air conditioner stopSimple Service No. E: Supply Air Fan OperationSimple Service No. F: Supply Air Fan StopMashup Service No. M: Inconvenience index calculation service.In addition, in the calculation of the discomfort index, the calculation of the numerical value of the discomfort index of the corresponding user can be compensated using a parameter p.Moreover, in executing simple WoT services constituting the mashup WoT service, the execution request location of the user or a parameter configured to set the blowing strength of the cooling device may be considered using service profiles.That is, when executing a service execution description of a single mashup WoT service, the same service execution rule can provide a different result in response to a request from a user by considering account service profiles suitable for the user's request situation. For example, a user using the corresponding mashup WoT service using the parameters α and β of corresponding execution profiles may allow a WoT service suitable for its request situation to be executed if the execution rule of mashup WoT service No. C as "No. C = α·Nr. A + β·No. B" is defined.FIGS. 6 and 7 are flowcharts illustrating a method of controlling execution of a mashup WoT service according to an embodiment of the present invention.First, in step S10, a simple WoT service execution description (i.e., a WoT service execution description) is stored in the WoT service repository 56. In this case, the WoT service execution description sets a method for executing a WoT service or a mashup WoT service in which two or more simple WoT services are combined.Thereafter, a user who wants to receive a mashup WoT service, i.e., the WoT service user 10, connects to the device 50 to control the execution of the mashup WoT service in step S 10.Moreover, the user who wants to receive a mashup WoT service requests and selects a desired WoT service in step S 12. In this case, various types of information (e.g., age, sex, heart rate, location, etc.) about the user who wishes to receive a mashup WoT service, a selection state, and information about the user's environment (e.g., temperature, humidity, airflow rate, radiation temperature, water vapor partial pressure, etc.) are sent to the device 50 to control the execution of the mashup WoT service.Accordingly, the WoT mashup engine 52 bselects a most optimal mashup WoT service for the user based on the user's current location, the time the user made an execution request, the mashup conditions (e.g., a preference, etc.), and the order of priority (e.g., the order in which mashup WoT services having the same priority can be sequentially selected in step S 14. That is, the WoT mashup engine 52 bmay select, from the WoT service repository 56, the most optimal mashup WoT service that may implement the user-selected mashup WoT service. In other words, WoT service execution descriptions, each describing execution logic, are stored in the WoT service repository 56 for each simple WoT service. Thus, a most optimal mashup WoT service can be selected for the user when the most optimal WoT service execution descriptions for the user are selected and then combined. In this case, the mashup WoT service selected by the WoT mashup engine 52 bmay be considered a combination of two or more simple WoT services. In this case, the two or more simple WoT services are services that can realize a user-selected mashup WoT service most accurately, reliably, and effectively. In the following, it is assumed that a selected mashup WoT service is a combination of two or more simple WoT services. Moreover, the execution rule of the selected mashup WoT service corresponds to sequential execution or execution with arithmetic operations or execution with logical operations or conditional execution.Thereafter, the WoT mashup engine 52 bchecks the service policy of the mashup WoT service (i.e., the selected mashup WoT service that is most optimal for the user) that should be executed at the WoT service repository 56.If it is determined as a result of the check that the service policy corresponds to sequential execution, the WoT mashup engine 52 bexecutes the sequential execution together with the WoT service execution functional entity 54 on the basis of the selected simple WoT services in steps S 16 and S 18. For example, the WoT service execution functional entity 54 maintains the simple WoT service No. A executes and executes the WoT mashup engine 52 busing the result of the WoT service execution functional entity 54 as the input of the simple WoT service No. B is the simple WoT service No. B off if the service policy of the corresponding mashup WoT service "No. C = No. B (No. A)".Thereafter, in step S 20, the WoT mashup engine 52 bconsides the result of execution as the result of the corresponding mashup WoT service No. C.Moreover, the WoT mashup engine 52 bregisters the corresponding mashup WoT service as a new simple WoT service in step S 22. That is, the WoT mashup engine 52 bconsides the mashup WoT service whose result value has been obtained in step S 20 as a new WoT simple service, and stores the new WoT simple service in the WoT service store 56 to use it in the future. In addition, the WoT mashup engine 52 bprovides the result of executing the corresponding mashup WoT service to the user (i.e., to the WoT service user 10).If necessary, the step S 22 of registering the corresponding mashup WoT service as a new simple WoT service may be omitted. That is, if the result of the corresponding mashup WoT service is calculated in step S 20, the result may be directly provided to the corresponding WoT service user 10.Meanwhile, in steps S 24 and S 26, the WoT mashup engine 52 bexecutes the arithmetic operation execution together with the WoT service execution functional entity 54 on the basis of the selected simple WoT services if it is determined as a result of the checking that the service rule corresponds to the arithmetic operation execution. For example, the WoT service execution functional entity 54 maintains simple WoT services No. A and No. B separately if the service policy of the corresponding mashup WoT service "No. C = α·Nr. A + β·No. B" is. Thereafter, the WoT mashup engine 52 bacquires No. based on the results of the operation of the executed simple WoT services. A and No. B is the result of Mashup WoT Service No. That is, the WoT mashup engine 52 bapplies the parameter α to the simple WoT service No. A and the parameter β on the simple WoT service No. B and then calculates the sum of the results of the application as the result of the mashup WoT service No. C. Thereafter, the WoT mashup engine 52 bexecutes the operations of steps S 20 and S 22 described above.Meanwhile, in steps S 28 and S 30, the WoT mashup engine 52 bexecutes logical operation execution based on the selected simple WoT services together with the WoT service execution functional entity 54 if it is determined as a result of the checking that the service policy corresponds to the logical operation execution. For example, the WoT service execution functional entity 54 maintains the simple WoT services No. A and No. B off if the service policy of the corresponding mashup WoT service "No. C = No. A & No. B" is. Thereafter, the WoT mashup engine 52 bcalculates based on the results of executing the simple WoT services No. A and No. B is the result of No. C. Thereafter, the WoT mashup engine 52 bexecutes the operations of steps S 20 and S 22 described above.Meanwhile, in steps S 32 and S 34, the WoT mashup engine 52 bexecutes logical operation execution based on the selected simple WoT services together with the WoT service execution functional entity 54 if it is determined as a result of the check that the service policy corresponds to the conditional execution. For example, the WoT mashup engine 52 bcarries the simple WoT service No. B off when the simple WoT service No. A satisfies a specific condition and maintains the simple WoT service No. C. if the simple WoT service No. A does not meet a specific condition if the service policy of the corresponding mashup WoT service "No. A ? No. B: No. C". In other words, the WoT mashup engine 52 bcarries the simple WoT service No. B off when the result of the operation of the simple WoT service No. executed by the WoT service execution functional entity 54. A satisfies a specific condition, and maintains the simple WoT service No. C. when the result of the operation of the simple WoT service No. A does not satisfy the specific condition.Meanwhile, the generation of the mashup service logic, the generation of a query of a mashup service, and the deletion and change of a mashup service have not been separately described in the above description. However, this creation, making of a query, deletion, and change can be sufficiently performed by the WoT service user 10 and the WoT mashup logic management 52 a.For example, the WoT mashup logic management 52 agenerates the corresponding mashup service logic and stores the generated mashup service logic in the WoT service repository 56 when the WoT service user 10 requests generation of the desired mashup service logic. That is, it is considered that a new WoT service execution description is generated and stored in the WoT service repository 56. In this case, the newly generated mashup service logic is accepted and used in the future in response to the selection of the mashup WoT service by the WoT service user 10.When the WoT service user 10 requests a request for a desired mashup service, the WoT mashup logic management 52 ain the WoT service repository 56 searches for the corresponding mashup service and then sends the read mashup service to the WoT service user 10.When the WoT service user 10 requests deletion of a desired mashup service, the WoT mashup logic management 52 ain the WoT service repository 56 searches for the corresponding mashup service and then deletes the read mashup service.When the WoT service user 10 requests the change (update) of a desired mashup service, the WoT mashup logic management 52 ain the WoT service repository 56 searches for the corresponding mashup service and changes (updates) it the read mashup service.According to the present invention configured as described above, a WoT mashup service can be registered and executed in such a manner that an optimum WoT service suitable for each user's requests can be received.Based on the time when a user makes an execution request, the user's location, the mashup conditions, and the order of priority with respect to a single mashup WoT service, a mashup service in which the most suitable WoT services are combined is executed, and the result of the execution may be provided to a user. For example, in the case of a WoT mashup service for weather interrogation based on WoT services adjacent to a user's current location, a WoT service may be executed that provides a highly accurate temperature measurement when a user requests high accuracy. Moreover, the result of the service can be provided to the user.As described above, the optimum embodiments have been disclosed in the drawings and the specification. Although specific terms have been used herein, they have been used merely to describe the present invention, but not to limit their meanings or to limit the scope of the present invention as set forth in the claims. Accordingly, it will be understood by those of ordinary skill in the relevant art that various modifications and other equivalent embodiments may be made. Thus, the true scope of the present invention is intended to be defined based on the spirit of the appended claims.
Claims
An apparatus for controlling execution of a mashup WoT service, the apparatus comprising: a web of things mashup service function entity, WoT mashup service function entity, (52) configured to execute a mashup WoT service adapted for a WoT service user (10); a WoT service execution function entity (54) configured to process execution of simple WoT services to execute the mashup WoT service of the WoT mashup service function entity; and a WoT service repository (56) configured to store WoT service execution descriptions (56a, 56b, 56n) respectively describing execution logic for each of the simple WoT services; wherein the WoT mashup service function entity comprises: a WoT mashup engine (52b) configured to execute the mashup WoT service in accordance with the service policy read from the corresponding WoT service execution description; wherein each of the WoT service execution descriptions comprises information about the mashup WoT service, a service policy configured to execute the mashup WoT service generated by combining the two or more simple WoT services, and service profiles representing parameters configured to identify the mashup WoT service adapted for the WoT service user.The apparatus of claim 1, wherein the WoT mashup service function entity further comprises: a WoT mashup logic management configured to query the WoT service repository via the WoT service execution description or register or update the WoT service execution description.The apparatus of claim 2, wherein the WoT mashup engine is co-operable with the WoT service execution functional entity.The apparatus of claim 3, wherein the WoT service execution functional entity is operable to cooperate with a WoT broker or with a general web service to execute each of the simple WoT services.The apparatus according to any one of claims 1 to 4, wherein each of the WoT service execution descriptions sets a method for executing the simple WoT service or a method for executing the mashup WoT service in which two or more simple WoT services are combined.The apparatus of claim 1, wherein the service policy corresponds to sequential execution or arithmetic operation execution or logical operation execution or conditional execution.A method for controlling execution of a mashup WoT service, the method comprising: selecting, by a WoT mashup engine (52b) of the WoT mashup service function entity (52), a mashup WoT service adapted for a WoT service user based on a WoT service repository storing WoT service execution descriptions each describing the execution logic for a simple WoT service; and executing, by the WoT mashup engine (52b), the WoT mashup service function entity (52), the adjusted mashup WoT service together with a WoT service execution function entity (54) that can execute the simple WoT service; wherein each of the WoT service execution descriptions (56a, 56b, 56n) comprises information about the mashup WoT service, a service policy adapted to execute the mashup WoT service generated by combining the two or more simple WoT services, and service profiles representing parameters adapted to identify the mashup WoT service adapted to the WoT service user.The method of claim 7, wherein selecting the mashup WoT service adapted for the WoT service user comprises selecting and combining two or more WoT service execution descriptions associated with the WoT service execution descriptions stored in the WoT service repository.The method of claim 8, wherein: the mashup WoT service is generated by combining the simple WoT services; and executing the adjusted mashup WoT service comprises executing the adjusted mashup WoT service based on the results of executing the simple WoT services.The method according to any one of claims 7 or 8, wherein each of the WoT service execution descriptions sets a method for executing the simple WoT service or a method of the mashup WoT service in which two or more simple WoT services are combined.The method of claim 10, wherein the service policy corresponds to sequential execution or arithmetic operation execution or logical operation execution or conditional execution.The method of claim 11, wherein: the sequential execution is in a form of "Mashup-WoT Service No. C = simple WoT service No. B (Simple WoT Service No. A)"; and sequential execution for calculating a result of the mashup WoT service No. C. using a result of executing the simple WoT service No. A as an input of simple WoT service No. B.The method of claim 11, wherein the execution is performed with arithmetic operations in a form of "Mashup-WoT service No. C = α· Einfacher WoT service No. A + β· Einfacher WoT Service No. B" ; and execution with arithmetic operations for calculating a result of the mashup WoT service No. C. based on operation results of executing simple WoT services No. A and No. B, and α and β are the parameters of the service execution profiles.The method of claim 11 or 12, wherein: the execution with logical operations is in a form of "Mashup-WoT service No. C = simple WoT service No. A & Simple WoT Service No. B" ; and execution with logical operations for calculating a result of the mashup WoT service No. C. based on operation results of executing simple WoT services No. A and No. B, and the logic operation operator "&" refers to a case where the results of the simple WoT services No. A and No. B satisfies a specific condition.The method of claim 11 or 12, wherein: the execution with logical operations is in a form of "Mashup-WoT service No. C = simple WoT service No. A | Simple WoT Service No. B"; and the execution is performed with logical operations to obtain a result of the mashup WoT service No. C. based on operation results of executing simple WoT services No. A and No. B, and wherein the logic operation operator "|" refers to a case where at least one of the results of the simple WoT services No. A and No. B satisfies a specific condition.The method of any of claims 11 to 14, wherein: the conditional execution is in a form of "simple WoT service No. A ? simple WoT service No. B: Simple WoT Service No. C" ; and conditional execution is performed to execute simple WoT service No. B if the simple WoT service No. A satisfies a specific condition, and the simple WoT service No. C. if the simple WoT service No. A does not satisfy the specific condition.The method of any one of claims 7 to 15, further comprising querying the WoT service repository about the WoT service execution descriptions by the WoT mashup service function entity or registering or updating the WoT service execution descriptions by the WoT mashup service function entity.
Citation Information
Patent Citations
10-2014-0073128
2010-0120905
10-2014-0158473