Service cooperation facility and service cooperation procedure
The service cooperation device automatically starts services using a data model to facilitate cooperation between application services and other services, enhancing maintainability and service coordination through event-driven activation.
Patent Information
- Application Number
- DE112022007875
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-12-09
- Publication Date
- 2025-08-07
AI Technical Summary
Existing information processing devices do not automatically start services using a data model to facilitate cooperation between application services and other services.
A service cooperation device comprising a data model generation unit, a data model management unit, an event detection unit, and a service start unit, which generates and manages a data model defining data handled by multiple services, detects events in the data, and starts corresponding services based on predefined associations.
Enables automatic service activation based on data events, improving maintainability and enabling seamless cooperation between application services and other services without modifying the services themselves.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical area
[0001] The present invention relates to the cooperation of a plurality of services forming an application service. State of the art
[0002] Some application services work in cooperation with other services. One method for smoothly implementing such cooperation is to use a data model that references data used by the application service and other services, allowing the service to start automatically.
[0003] Patent Document 1 discloses an information processing device comprising: origin extraction means for extracting an "origin," which is information about a generation relationship between data in target information containing the data and a program used to process the data; order extraction means for extracting the order of a "link," which is a relationship between the data and the program; and influence area investigation means for specifying an influence area of a first program based on the origin and the order. State-of-the-art documentsPatent document
[0004] Patent Document 1: Japanese Patent Application Laid-Open No. JP 2018 - 45 508 A SummaryProblem to be solved with the invention
[0005] The information processing device disclosed in Patent Document 1 extracts the relationship between the data and the program, and the extracted information is used to analyze the scope of influence in a software upgrade, rather than to start a service according to an event. In other words, the information processing device disclosed in Patent Document 1 is not used to automatically start the service using the data model.
[0006] The present invention is intended to solve the above problem, and it is therefore an object of the present invention to automatically start a service that cooperates with an application service using a data model. Ways to solve the problem
[0007] The present invention is intended for a service cooperation device, and the service cooperation device comprises: a data model generation unit for generating a data model that defines data handled by an application service operating in cooperation with a plurality of services and a relationship among the plurality of data items; a data model management unit for storing the data model and the data handled by the application service; an event detection unit for detecting an event that has occurred in the data defined by the data model in the data model management unit; and a service start unit for transferring the data in which the event has been detected to a corresponding service, which is a service that has been associated with the data in advance, among the plurality of services, thereby starting the corresponding service. Effects of the invention
[0008] With the service cooperation device of the present invention, it is possible to automatically start a corresponding service according to an event of data defined by a data model.
[0009] These and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when considered in conjunction with the accompanying drawings. Short description of the drawings Fig. 1 is a block diagram showing a configuration of a service cooperation device; Fig. 2 is a diagram showing a flow of services in a ride-hailing service and data required by each service; Fig. 3 is a diagram illustrating a data model represented by nodes and edges; Fig. Figure 4 is a diagram showing a detailed example of the data model of the on-demand ride-hailing service; Fig. 5 is a diagram used to explain the operation of an event detection unit; Fig. 6 is a diagram showing a substance of the data model; Fig. Figure 7 is a diagram showing an example of a one-to-one correspondence between a data item and a service; Fig. 8 is a diagram showing an example of an N-to-one correspondence between a data item and services; Fig. 9 is a diagram showing an example of a one-to-one correspondence between a data item and a service, with a start condition of the service; Fig. 10 is a diagram showing a flow of detecting an event and starting a service; Fig. 11 is a flowchart showing the operation of the service cooperation device; Fig. 12 is a diagram showing a hardware configuration of the service cooperation device; and Fig. 13 is a diagram showing a hardware configuration of the service cooperation device. Description of the Embodiments A. First Preferred Embodiment A-1. Overview
[0010] Fig. 1 is a block diagram showing a configuration of a service cooperation device 101 according to a first preferred embodiment. The service cooperation device 101 achieves cooperation between an application service 21 executed by an application service execution device 201 and other services that need to execute the application service 21. The application service 21 is an ASP service provided by an ASP (Application Service Provider). The application service 21 is implemented by cooperating with a plurality of services. In the exemplary case of Fig. 1, the application service 21 is implemented by cooperating with the services A, B and C.
[0011] The service cooperation device 101 is configured to include a data model generation unit 11, a data model management unit 12, an event detection unit 13, and a service start unit 14.
[0012] The data model generation unit 11 generates a data model 51 according to an input from an administrator of the application service 21. The data model 51 defines data handled by the application service 21 and a relation among the data.
[0013] The data model management unit 12 manages the data model 51 generated by the data model generation unit 11. When the application service execution unit 201 executes the application service 21, a data event occurs as defined by the data model 51. The data event includes at least one of data creation, update, and deletion. When a data creation event occurs, the generated data is stored in the data model management unit 12. When a data update event occurs, existing data is updated in the data model management unit 12. Further, when a data deletion event occurs, the data is deleted in the data model management unit 12.
[0014] The event detection unit 13 detects the event of the data defined by the data model 51 based on a change of the data in the data model management unit 12.
[0015] The service starting unit 14 specifies a service (hereinafter referred to as a "corresponding service") corresponding to the data in which the event has been detected, among the services A31, B32, and C33, and transfers the data item in which the event has been detected to the corresponding service, thereby starting the corresponding service.
[0016] For example, each of the services A31, B32, and C33 is an endpoint whose URL (Uniform Resource Locator) is published. For each of these endpoints, an operation or process is determined in advance to be performed according to the input data. Starting a service means transferring predefined data to the endpoint or performing some kind of communication with it. Starting the service executes the service at the endpoint. A-2. Data model generation unit 11 and data model management unit 12
[0017] Fig. Figure 2 shows a flow of services when performing an on-demand ride hailing service 34, as well as data required by each service. In the following, it is assumed that the on-demand ride hailing service 34 is an example of the application service 21. The on-demand ride hailing service 34 cooperates with an authentication / authorization service 35, a payment service 36, and a control service 37. The authentication / authorization service 35, the payment service 36, and the control service 37 correspond to the services A31, B32, and C33, respectively, shown in Fig. 1 are shown.
[0018] The on-demand ride hailing service 34, the authentication / authorization service 35, the payment service 36, and the control service 37 are performed in this order. The authentication / authorization service 35 authenticates a user of the on-demand ride hailing service 34 with an ID, a password, and the like. The data required by the authentication / authorization service 35 is the user. The payment service 36 is a service for paying a fare to a destination. The data required by the payment service 36 is the ticket. The control service 37 controls mobility. In other words, the control service 37 is a service for allocating mobility and transporting the user to the destination.
[0019] The data model generation unit 11 generates the data model that defines the data required by each service and a relation among the data, and stores the data model in the data model management unit 12. Fig. 3 shows the data model 51 generated by the data model generation unit 11. In the data model 51, for example, a graph database is used, and a relation of the data is represented by the nodes 38, 39, and 40, and the edges 41 and 42.
[0020] Node 38 represents the "user" data required by the authentication / authorization service 35. Node 39 represents the "ticket" data required by the payment service 36. Node 40 represents the "mobility" data required by the control service 37. Nodes 38 and 39 are connected to each other by edge 41, and nodes 39 and 40 are connected to each other by edge 42.
[0021] Fig. Figure 4 shows a detailed example of the data model 51. Each of the nodes 38, 39, and 40, as well as the edges 41 and 42 that form the data model 51, has a label. Furthermore, each of the nodes 38, 39, and 40, as well as the edges 41 and 42, has a property, as necessary.
[0022] With respect to node 38, which represents the data required by the authentication / authorization service 35, the label is "User" and the property is "User ID." With respect to node 39, which represents the data required by the payment service 36, the label is "Ticket" and the property is "Fare." With respect to the node representing the data required by the control service 37, the label is "Mobility" and the property is "Taking Seat," "Leaving Seat," or "Number of Passengers." The label of the edge is, for example, "Order." The application service execution unit 201 processes the data in the order specified in the data model 51. The data model is merely positioned as metadata and has no property value. A-3. Event Detection Unit 13
[0023] Fig. 5 is a diagram used to explain the operation of the event detection unit 13.
[0024] In the data model management unit 12, in addition to the data model 51 generated by the data model generation unit 11, actual data (hereinafter referred to as "data model substance 52") used by the application service 21 is stored. The application service execution unit 201 executes the application service 21 and stores the data generated in the process in the data model management unit 12 as the data model substance 52. Furthermore, the data updated or deleted in the process of executing the application service 21 is also updated or deleted in the data model management unit 12.
[0025] The event detection unit 13 detects events that occur in the "user" data, the "ticket" data, and the "mobility" data, specifically in the substance 52 of the data model stored in the data model management unit 12. The event relates to at least one of the creation, update, and deletion of the data.
[0026] Fig. Figure 6 is a diagram showing the substance 52 of the data model. Unlike the data model 51, the substance 52 of the data model has a property value. For example, node 43 of the "User" data has the property value "0001" for the "User ID" property. Furthermore, node 44 of the "Ticket" data has the property value "500" for the "Fare" property.
[0027] Furthermore, node 45 of the "Mobility" data has the property value "A" of the "Take Seat" property, the property value "E" of the "Leave Seat" property, and the property value "2" of the "Number of Passengers" property. The event detection unit 13 detects the event of the data in which the property value is written. A-4. Service Start Unit 14
[0028] The service start unit 14 specifies the corresponding service, which is a service corresponding to the data in which the event was detected, and passes the data to the corresponding service, thereby starting the corresponding service. The data is assigned to the service in advance by the administrator, and the service start unit 14 has correspondence information. Furthermore, the data item and the service are not necessarily assigned one-to-one, but may be assigned one-to-N, N-to-one, or N-to-N. Furthermore, the start condition of the service may be predetermined.
[0029] Fig. Figures 7 to 9 show examples of the correspondence between the data elements and the services. Fig. Figure 7 shows an example of a one-to-one correspondence between a data element and a service. The "user" data is assigned to the authentication / authorization service 35 (https: / / xxxx:port / ). Furthermore, the "ticket" data is assigned to the payment service (https: / / yyyy:port / ). Furthermore, the "mobility" data is assigned to the control service (https: / / zzzz:port / ).
[0030] Fig. Figure 8 shows an example of a one-to-n correspondence between a data element and services. The "user" data is assigned to the authentication / authorization service 35 (https: / / xxxx:port / ) and a public transport service (https: / / vvvv:port / ). Furthermore, the "ticket" data is assigned to the payment service (https: / / yyyy:port / ). Furthermore, the "mobility" data is assigned to the control service (https: / / zzzz:port / ).
[0031] Fig. Figure 9 shows an example of a one-to-one correspondence between a data element and a service with the service's start condition. In this exemplary case, the data element and the service are mapped one-to-one, as in the exemplary case in Fig. 7, and further, “creation or update” is specified as the start condition of the authentication / authorization service 35.
[0032] Specifically, when the creation or update event occurs in the "user" data, the service start unit 14 starts the authentication / authorization service 35. Furthermore, "creation" is specified as the start condition of the payment service 36. Specifically, when the creation event occurs in the "ticket" data, the service start unit 14 starts the payment service 36. Furthermore, "creation, update, or deletion" is specified as the start condition of the control service 37. Specifically, when the creation, update, or deletion event occurs in the "mobility" data, the service start unit 14 starts the control service 37.
[0033] Fig. Figure 10 is a diagram illustrating a flow of event detection and service startup. Assume that when the application service execution unit 201 executes the application service 21, the "Mobility" data is generated. The "Mobility" data has the property value "A" of the "Take Seat" property, the property value "E" of the "Leave Seat" property, and the property value "2" of the "Number of Passengers" property.
[0034] When the event detection unit 13 detects the generation of "mobility" data, the service launch unit 14 refers to the correspondence information between the data item and the service and transmits the "mobility" data to the control service 37 (https: / / zzzz:port / ), which is a service corresponding thereto, thereby controlling the control service 37. The control service 37 can thereby acquire the information necessary for summoning a ride, such as seat occupancy, seat departure, and the number of passengers. A-5. Flowchart
[0035] Fig. 11 is a flowchart showing the operation of the service cooperation device 101. As preparation in advance, the data model generation unit 11 generates the data model, and the service launch unit 14 has the correspondence information between the data item and the service.
[0036] First, in step S101, the event detection unit 13 detects the event of the data.
[0037] Next, in step S102, the service starting unit 14 specifies the corresponding service of the data in which the event occurred.
[0038] Next, in step S103, the service starting unit 14 determines whether a start condition is specified. If the start condition is not specified, the service starting unit 14 starts the service in step S105.
[0039] If the start condition is specified in step S103, the service start unit 14 determines in step S104 whether the event matches the start condition. If the event does not match the start condition, the service start unit 14 does not start the service, but the process of the service cooperation device 101 is terminated.
[0040] If the event matches the start condition in step S104, the service starting unit 14 starts the service in step S105, and the process of the service cooperation device 101 is terminated. A-6. Variations
[0041] In the above description, the service launch unit 14 establishes a one-to-one correspondence between the data defined by the data model 51 and the service, and specifies the corresponding service. However, the service launch unit 14 may abstract the data defined by the data model 51 and establish a correspondence between the abstracted data obtained by abstracting the data and the service, thereby specifying the corresponding service.
[0042] For example, when the data model 51 defines the user data, the data regarding "human" obtained by abstracting the user data can be associated with a specific service X. When the data regarding "human" is generated, the service starting unit 14 can start the specific service X according to the data regarding "human."
[0043] In the above description, after the event detection unit 13 detects that the event has occurred in the data, the service start unit 14 starts the corresponding service. However, before the event occurs in the data, the service start unit 14 may start the corresponding service.
[0044] For example, when the application service execution device 201 considers generating the user data, a user data generation request is transmitted to the service cooperation device 101, and the request is stored in the data model management unit 12. If the service cooperation device 101 issues a response indicating that the request is permitted to the application service execution device 201, the application service execution device 201 generates the user data.
[0045] With such a configuration, the event detection unit 13 detects the user data generation event in advance based on the user data generation request stored in the data model management unit 12. Then, the service startup unit 14 can start the service corresponding to the user data before the user data is actually generated.
[0046] In the exemplary case in Fig. 9, the start condition of the corresponding service is specified for all data defined by the data model 51. The start condition of the corresponding service can be freely specified by the user. For example, a condition can be specified that the corresponding service is started when two data elements coincide.
[0047] With respect to the data in which the event of creation or update has occurred, the service starting unit 14 may have a determination criterion, which is a condition predetermined in advance that a value of the data should satisfy, and may verify the validity of the data in light of the determination criterion.
[0048] For example, assume that a determination criterion is set in advance that the value of the newly generated data is not less than 5 and less than 50. The service starting unit 14 can start the corresponding service only if the service starting unit 14 verifies the data in which the event occurred and determines that the value of the data is valid.
[0049] After the service startup unit 14 starts the corresponding service, the service startup unit 14 can associate the data that served as a trigger for starting the corresponding service with the corresponding service and the start time of the corresponding service, and accumulate the data as a service startup history. In this way, when difficulties occur in the corresponding service, it becomes possible to specify the data that is the cause of the difficulties. A-7. Effects
[0050] The service cooperation device 101 according to the first preferred embodiment comprises: the data model generation unit 11 for generating the data model 51 that defines data handled by the application service 21 operating in cooperation with the plurality of services A31, B32, and C33, and a relationship among the plurality of data items, the data model management unit 12 for storing the data model 51 and the data handled by the application service 21, the event detection unit 13 for detecting an event that has occurred in the data defined by the data model 51 in the data model management unit 12, and the service start unit 14 for transferring the data in which the event has been detected to a corresponding service, which is a service that has been assigned to the data in advance, among the plurality of services, thereby starting the corresponding service. becomes.
[0051] Therefore, according to the service cooperation device 101, it is possible to automatically start the corresponding service according to the occurrence of the data defined by the data model, and smoothly perform cooperation between the application service 21 and the other services. Furthermore, it becomes possible to add a new service or modify an existing service simply by changing the definition of the data model, without making any changes to the service itself. Furthermore, with the definition of the data model, the startup order and dependencies among services can be easily grasped, and maintainability is improved. B. Hardware configuration
[0052] In the above-described service cooperation device 101, the data model generation unit 11, the data model management unit 12, the event detection unit 13 and the service start unit 14 are implemented by the processing circuit 81, which is shown in Fig. 12. More specifically, the processing circuit 81 includes the data model generation unit 11, the data model management unit 12, the event detection unit 13, and the service start unit 14 (hereinafter referred to as "data model generation unit 11 and the like").
[0053] For the processing circuit 81, dedicated hardware may be used, or a processor that executes a program stored in memory may be used. For example, a central processing unit, a processing unit, an arithmetic unit, a microprocessor, a microcomputer, a DSP (digital signal processor), or the like is used as the processor.
[0054] When the processing circuit 81 is dedicated hardware, the processing circuit 81 corresponds, for example, to a single circuit, a complex circuit, a programmed processor, a multi-programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination of these circuits.
[0055] The respective functions of the data model generation unit 11 and the like may be implemented by a plurality of processing circuits 81, or these functions may be collectively implemented by a single processing circuit.
[0056] When the processing circuit 81 is a processor, the functions of the data model generation unit 11 and the like are implemented by a combination with software or the like (software, firmware, or software and firmware). The software or the like is described as a program stored in a memory. As shown in Fig. As shown in Fig. 13, a processor 82 applied to the processing circuit 81 reads out and executes the program stored in a memory 83, thereby implementing the respective functions of the constituent elements.
[0057] More specifically, the service cooperation device 101 has the memory 83 storing therein programs executed by the processing circuit 81, so that the following are executed: the step of causing the data model generation unit 11 to generate the data model 51 that defines data handled by the application service 21 operating in cooperation with the plurality of services A31, B32, and C33 and a relationship among the plurality of data items, the step of causing the data model management unit 12 to store the data model 51 and the data handled by the application service 21, the step of causing the event detection unit 13 to detect an event that has occurred in the data defined by the data model 51 in the data model management unit 12, and the step of causing the service start unit 14, the data,in which the event has been detected, to a corresponding service, which is a service assigned in advance to the data, among the plurality of services, so that the corresponding service is thereby started.
[0058] In other words, this program is executed to cause a computer to perform a procedure or process of the data model generation unit 11 and the like. Here, the memory 83 may be, for example, a non-volatile or volatile semiconductor memory such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable Read Only Memory), an EEPROM (Electrically Erasable Programmable Read Only Memory), an HDD (Hard Disk Drive), a magnetic disk, a flexible disk, an optical disk, a compact disc, a minidisc, or a DVD (Digital Versatile Disc) and its associated drive unit, or the like, or any storage medium that may be used in the future.
[0059] The above describes the case where the respective functions of the data model generation unit 11 and the like are implemented using one of hardware and software or the like. However, this is only an example case, and there may be a case where part of the data model generation unit 11 and the like is implemented using dedicated hardware and the other part is implemented using software or the like.
[0060] For example, there may be a case where the function of the data model generation unit 11 is implemented by the processing circuit 81 as dedicated hardware, and the respective functions of the constituent elements other than the data model generation unit 11 are implemented when the processing circuit 81 as the processor 82 reads and executes the programs stored in the memory 83.
[0061] As described above, the processing circuit can implement the above-described functions using hardware, software, or the like, or a combination thereof. Furthermore, the data model management unit 12 is formed from the memory 83.
[0062] Furthermore, the preferred embodiments can be freely combined with each other, or they can be appropriately modified or omitted. The above description is illustrative in all aspects. It is therefore understood that numerous modifications and variations may be used that are not illustrated. List of reference symbols 11 Data model generation unit 12 Data model management unit 13 Event detection unit 14 Service start unit 21 Application Service 31 Service A 32 Service B 33 Service C 34 On-demand ride-hailing service 35 Authorization service 36 Payment service 37 Control Service 38, 39, 40, 43, 44, 45 knots 41, 42 edge 51 Data model 52 Substance of the data model 81 Processing circuit 82 processor 83 storage 101 Service Cooperation Facility 201 Application Service Execution Facility QUOTES CONTAINED IN THE DESCRIPTION
[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature
[0000] JP 2018 - 45 508 A
[0004]
Claims
[1] Service cooperation facility comprising: - a data model generation unit for generating a data model defining data handled by an application service operating in cooperation with a plurality of services and a relationship among the plurality of data elements; - a data model management unit for storing the data model and data handled by the application service; - an event detection unit for detecting an event that has occurred in the data defined by the data model in the data model management unit; and - a service starting unit for transferring the data in which the event has been detected to a corresponding service, which is a service assigned in advance to the data, among the plurality of services, thereby starting the corresponding service. [2] The service cooperation device according to claim 1, wherein the event comprises at least one of creation, deletion and update of the data. [3] Service cooperation device according to claim 1 or 2, wherein the service launch unit allocates abstracted data obtained by abstracting the data defined by the data model to the plurality of services, and the corresponding service is a service corresponding to the abstracted data of the data in which the event was detected, among the plurality of services. [4] Service cooperation device according to one of claims 1 to 3, where the event is either creation or update of the data, and the service start unit only starts the corresponding service if the value of the data in which the event was detected meets a predefined condition. [5] The service cooperation device according to any one of claims 1 to 4, wherein the service start unit accumulates a service start history associating the corresponding service with the data transferred to the corresponding service when the corresponding service is started. [6] Service cooperation method comprising: - generating a data model that defines data handled by an application service operating in cooperation with a plurality of services and a relationship among the plurality of data elements by means of a data model generation unit; - Storing the data model and the data handled by the application service by means of a data model management unit; - detecting an event that has occurred in the data defined by the data model in the data model management unit by means of an event detection unit; and - passing the data in which the event has been detected to a corresponding service, which is a service that has been previously associated with the data, among the plurality of services, so that the corresponding service is thereby started, by means of a service starting unit.
Citation Information
Patent Citations
Service implementation from a service directory
DE112011102073T5
Process Management Using Representation State Transfer Architecture
US20100070561A1