WO2013031286A1 - データ共有装置およびデータ共有方法 - Google Patents
データ共有装置およびデータ共有方法 Download PDFInfo
- Publication number
- WO2013031286A1 WO2013031286A1 PCT/JP2012/060759 JP2012060759W WO2013031286A1 WO 2013031286 A1 WO2013031286 A1 WO 2013031286A1 JP 2012060759 W JP2012060759 W JP 2012060759W WO 2013031286 A1 WO2013031286 A1 WO 2013031286A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- message
- task group
- task
- reception
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
Definitions
- the present invention relates to a data sharing apparatus and a data sharing method between business applications in a system composed of a single device or a plurality of devices interconnected via a network.
- each business application exchanges data with each other within or between devices.
- Processing related to data exchange for example, exclusive control within or between devices, control of data sharing timing
- program codes of business applications for example, exclusive control within or between devices, control of data sharing timing
- the data transmission source performs processing in consideration of the data reception destination (for example, designation of the reception destination device and data processing according to the reception destination).
- the data sharing apparatus has a task group configured for each business application and a message management unit that executes transmission / reception of messages between a plurality of task groups.
- Each task group stores one or more tasks that execute business application processing, this table that stores data read and written by one or more tasks, and data that is received from other task groups and reflected in this table
- a reception table, a task group execution unit, and a message transmission / reception unit sequentially stores one or more tasks in the task group after storing the data stored in the reception table in the table, and then executes the contents of the table after the execution of the one or more tasks is completed.
- the message having the message is passed to the message sending / receiving unit.
- the message transmission / reception unit passes the message received from the task group execution unit to the message management unit, and stores the data included in the message received from the message management unit in the reception table.
- the message management unit passes the message received from the message transmission / reception unit to the message transmission / reception unit of another task group.
- FIG. 1 is a system configuration diagram illustrating a configuration example of a system. It is a hardware block diagram which shows the hardware structural example of a server. It is a software block diagram which shows the software structural example of a server. It is a figure which shows the example of an item of a task group characteristic and a data characteristic, and the example of the value which each item can take. It is a figure which shows an example of the task table
- FIG. 1 is a diagram showing a system configuration example.
- a PRC (Programmed Route Control) server 20 is connected to a CTC (Centralized Traffic Control) server 30, a GD (Graphic Display) server 40, and an EDP (Electronic Data Processing) server 50 via a network 60.
- CTC Centralized Traffic Control
- GD Graphic Display
- EDP Electronic Data Processing
- the PRC server 20 is a server that automatically controls the course of a train, and has a data sharing unit 10.
- the CTC server 30 is a server that remotely operates the interlocking device for signals and branching units, and has a data sharing unit 10.
- the GD server 40 is a server in which a commander organizes operations and has a data sharing unit 10.
- the EDP server 50 is a server that transmits a daily schedule to the PRC server 20 and includes a data sharing unit 10.
- the PRC server 20, the CTC server 30, the GD server 40, and the EDP server 50 constitute a system that realizes data sharing by communicating with each other via the network 60 and exchanging data.
- the system configuration is not limited to this, and it is sufficient that two or more servers having the data sharing unit 10 are connected via a network.
- a system configuration may be employed in which the data sharing unit 10 and a plurality of business applications are provided on a single server, and the plurality of business applications exchange data via the data sharing unit.
- a railway operation management system is taken as an example for explanation, but this does not limit the applicable field of the present invention to the railway field.
- a flight schedule management server or a boarding gate management server it is possible to use it for aircraft schedule management.
- FIG. 2 is a hardware configuration diagram showing a hardware configuration example of each server shown in FIG. As illustrated in FIG. 2, the server 101 includes a main control unit 102, a main storage unit 103, an input unit 104, and a communication unit 105.
- the main control unit 102 controls information processing in the server 101 by the processor executing the program code recorded in the main storage unit 103.
- the main storage unit 103 stores information related to the server 101 in a nonvolatile manner.
- the input unit 104 performs input to the server 101 when it is necessary to manually input information regarding the server 101.
- the communication unit 105 is connected to the communication unit 105 of another device via the network 60 and communicates information with the other device.
- the main control unit 102 is a CPU (Central Processing Unit) and a RAM (Random Access Memory), the main storage unit 103 is a hard disk, the input unit 104 is a keyboard, and the communication unit 105 is an Ethernet (registered trademark).
- the main control unit 102 is a CPU (Central Processing Unit) and a RAM (Random Access Memory)
- the main storage unit 103 is a hard disk
- the input unit 104 is a keyboard
- the communication unit 105 is an Ethernet (registered trademark).
- FIG. 3 is a software configuration diagram showing a software configuration example of each server 101 shown in FIG. As illustrated in FIG. 3, the server 101 includes a data sharing unit 10 and one or more business applications 201. These entities are software programs and data stored in the main storage unit 103 shown in FIG. 2, and are read into the RAM and executed by the CPU (processor) at the time of execution.
- the business application 201 is an application for performing business, and each business application 201 corresponds to a single task group.
- a task group is composed of one or more programs called tasks that constitute a business application, and holds one task group database 217.
- the tasks constituting the task group read and write data (data on this table described later) in the corresponding task group database 217.
- the data sharing unit 10 includes a data storage unit 202, a task cycle execution program 208, a data transmission program 209, a message creation program 210, a data reflection program 211, a data reception program 212, a message interpretation program 213, a message transmission / reception program 214, and a message management program. 215 and a communication program 216.
- the task cycle execution program 208, data transmission program 209, message creation program 210, data reflection program 211, data reception program 212, message interpretation program 213, and message transmission / reception program 214 are executed by the CPU (processor), each task group Since independent processing is executed, the following description will be made assuming that these programs are provided for each task group. However, these programs only need to be provided functionally for each task group, and only one program code entity is provided for each server.
- the data storage unit 202 stores data used for executing the software program that implements the data sharing unit, and includes a task group characteristic 203 and one or more task group databases 217.
- Each task group database 217 includes a data characteristic 204, one or more main tables 205, a transmission table 206, and a reception table 207.
- the task group cycle execution program 208 executes processing for the corresponding task group for each cycle set for each task group.
- the data transmission program 209 performs data transmission processing.
- the message creation program 210 converts the data passed from the data transmission program into a message and passes it to the message transmission / reception program 214.
- the data reflection program 211 performs data reflection processing.
- the data reception program 212 performs data reception processing.
- the message interpretation program 213 converts the message passed from the message transmission / reception program into data and passes it to the data reception program 212.
- the message sending / receiving program 214 passes the message passed from the message creation program 210 to the message management program 215, or passes the message passed from the message management program 215 to the message interpretation program 213.
- the message management program 215 passes the message passed from the message sending / receiving program 214 to the other message sending / receiving program 214 and the communication program 216 in the device, or sends the message passed from the communication program 216 to all the message sending / receiving programs in the device. Pass to 214.
- the communication program 216 communicates the message passed from the message management program 215 with the communication program 216 of another device connected to the network 60 via the network 60.
- FIG. 4 is a diagram showing an example of items included in the task group characteristic 203 and the data characteristic 204 and examples of values that each item can take.
- the task group characteristic 203 includes an operation state item 301 and a master / slave state item 302.
- the data characteristic 204 includes a type item 303, a shared item 304, and a status item 305.
- the operation state item 301 can take a value of online or monitor run.
- the master-slave status item 302 can take a value indicating that the master system, the slave system, or the transition between the master system and the slave system is in progress.
- the type item 303 is an item representing a rule regarding the timing of transmitting the contents of this table updated by execution of the task of the task group to another task group, and can take a value of instantaneous or permanent. If the type item is “instantaneous”, the update is transmitted within the same period as the task group execution cycle in which this table was updated. If the type item is “permanent”, The update content need not be transmitted in the same cycle as the execution cycle of the task group in which the table update has occurred, and the update content may be transmitted in a later execution cycle. For data with a high real-time request for data sharing, the type item is set to “instant”, and for data with a low real-time request, the type item is set to “permanent”.
- the shared item 304 can take a value of transmission source, reception destination, or local.
- the status item 305 can take a value of normal, abnormal, or under construction.
- FIG. 5A and 5B are diagrams showing an example of the task group characteristic 203.
- FIG. Each server 101 has one task group characteristic 203.
- the task group characteristic 203 includes a task table 401 shown in FIG. 5A and a task group characteristic table 404 shown in FIG. 5B.
- the task table 401 is a table representing tasks registered in the task group.
- the task table 401 includes a task group name column 402 and a task column 403.
- the task group name column 402 is a column representing the name of the task group.
- the task table 401 indicates that there are task groups named TG-A, TG-B, TG-C, and TG-D.
- the task column 403 is a column representing one or more task groups registered in each task group. For example, in the task table 401, task T-AA, task T-AB, task T-AC, and task T-AD are registered in task group TG-A. Tasks registered in the task group are executed sequentially. For example, in task group TG-A, tasks are executed in the order of task T-AA, task T-AB, task T-AC, and task T-AD.
- the task group property table 404 is a table representing task group properties.
- the task group characteristic table 404 includes a task group name 402, a period column 405, an operation state item column 406, and a master / slave state item column 407.
- the task group name 402 is identification information (name) of each task group as described above.
- the period column 405 is a column that represents the period at which the task group period execution program 208 starts executing the task group registered in the task group for each task group. For example, in the task group characteristic table 404, the task group TG-A is activated at a cycle of 1 second, the task group TG-D is activated at a cycle of 3 seconds, and one or more tasks included in the task group are sequentially executed.
- the operation state item column 406 is a column representing the operation state item of the task group.
- the operation state item of the task group TG-A is online, and the operation state item of the task group TG-C is monitor run.
- the master-slave status item column 407 is a column representing the master-slave status item of the task group.
- the master / slave status item of the task group TG-A is the master
- the master / slave status item of the task group TG-B is the slave.
- FIG. 6A and 6B are diagrams showing an example of the data characteristic 204.
- FIG. Each server 101 has one data characteristic 204 for each task group.
- 6A shows a data characteristic table 501 for the task group TG-A
- FIG. 6B shows a data characteristic table 508 for the task group TG-B.
- the data characteristic table 501 and the data characteristic table 508 include a task group name column 502, a data name column 503, a type item column 504, a shared item column 505, a transmission message number upper limit column 506, and a status item column 507. .
- the task group name column 502 is a column representing the name of the task group.
- the data characteristic table 501 is for data held by the task group TG-A
- the data characteristic table 508 is for data held by the task group TG-B.
- the data name column 503 is a column representing the name of data held by the task group.
- the task group TG-A holds data DATA-AAA, DATA-BBB, DATA-CCC, and DATA-DDD
- the task group TG-B holds data DATA-AAA and DATA-BBB. It shows that.
- the type item column 504 is a column indicating data type items.
- the DATA-AAA type item is instantaneous, and the DATA-BBB type item is permanent.
- the shared column 505 is a column that represents a shared item of data.
- the data characteristic table 501 indicates that the shared item of DATA-AAA is the transmission source and the shared item of DATA-CCC is the reception destination.
- the transmission message number upper limit column 506 is a column that represents the upper limit of the number of messages that can be transmitted while the processing in the task group is executed once.
- the data characteristic table 501 indicates that the upper limit of the number of DATA-BBB transmission messages is 100.
- the status column 507 is a column representing data status items.
- the data property table 501 indicates that the status item of DATA-AAA is normal and the status item of DATA-CCC is being constructed.
- FIG. 7 is a diagram illustrating an example of a functional configuration of the server 601 including the task group represented by the task group characteristic 203 illustrated in FIG. 5 and the data represented by the data characteristic 204 illustrated in FIG.
- the server has a communication program 216, a message management program 215, a task group characteristic 203, and two task groups.
- the number of task groups is an example, and any number of task groups may be used as long as the number is one or more.
- Each task group includes a plurality of tasks constituting a business application, one or more data used when executing the plurality of tasks, a data characteristic 204, a task group periodic execution program 208, a data transmission program 209, a data reflection program 211, data It has a reception program 212, a message creation program 210, a message interpretation program 213, and a message transmission / reception program 214.
- each program of the task group is the program shown in FIG. 3, but since each program executes various processes for each task group, the function configuration is such that each program has each program in FIG. It expresses.
- the data that the task group has is managed using this table 701, transmission table 801, and reception table 901.
- FIG. 8 is a diagram illustrating an example of the table 205.
- the task group includes one main table 205 for each piece of data held by the task group.
- the table 205 includes at least a row number column 702 and one or more data columns.
- the table 701 shown in FIG. 8 includes a row number 702 and a train number column 703 and a departure time column 704 as data columns.
- the row number column 702 is a column representing a row number.
- Train number column 703 is a column representing a train number.
- the departure time column 704 is a column representing the departure time.
- FIG. 9 is a diagram illustrating an example of the transmission table 206.
- the task group includes one transmission table 206 for the main table of data in which the shared item is the transmission source and the type item is permanent among the data held by the task group.
- the transmission table 206 includes at least a serial number column 802, a transmission flag 803, an operation column 804, a row number column 805, and one or more data columns.
- the data string items here are the same as the data string items included in the corresponding table 205.
- the transmission table 801 shown in FIG. 9 corresponds to the main table 701 shown in FIG. 8 and includes a serial number column 802, a transmission flag 803, an operation column 804, a row number column 805, a train number column 806, and a departure time column 807. .
- the serial number column 802 is a column representing a serial number.
- the transmission flag column 803 is a column that indicates whether the row is a transmitted row.
- the operation column 804 is a column representing an operation performed on the corresponding main table.
- the row number column 805 is a column that represents the row number of this table targeted by the operation performed on the corresponding table.
- the train number column 806 is a column representing a train number.
- the departure time column 807 is a column representing the departure time.
- the changed contents are added to the corresponding transmission table.
- the serial number is the value obtained by adding 1 to the maximum serial number before adding the change contents
- the transmission flag is 0,
- the operation is “Insert” when data is added to this table, and the data in this table is updated “Update”, “Delete” when the data of this table is deleted
- the row number is the number of the row in which data has been changed in this table
- the data is data representing the content of the change.
- FIG. 10 is a diagram illustrating an example of the reception table 207.
- the task group includes one reception table 206 for the main table of data in which the shared item is the reception destination among the data held by the task group. If the data type item is instantaneous, the column item included in the reception table 207 is the same as the column item included in the corresponding table 205. If the data type item is permanent, the reception table 207 includes at least a serial number column 902, a reflection flag 903, an operation column 904, a row number column 905, and one or more data columns.
- the data string items here are the same as the data string items included in the corresponding table 205.
- FIG. 9 is a reception table for data whose type item is permanent, and corresponds to the table 701 shown in FIG. 8, and includes a serial number column 902, a transmission flag 903, an operation column 904, A row number column 905, a train number column 906, and a departure time column 907 are provided.
- the serial number column 902 is a column representing a serial number.
- the reflection flag column 903 is a column indicating whether or not the row is reflected.
- the operation column 904 is a column representing an operation performed on the corresponding main table.
- the row number column 905 is a column that represents the row number of this table targeted by the operation performed on the corresponding main table.
- the train number column 906 is a column representing a train number.
- the departure time column 907 is a column representing the departure time.
- FIG. 11 is a diagram illustrating an example of a message.
- a message 1001 represents the content of the first line of the transmission table 801 shown in FIG. 9 converted into a message.
- the message includes a data name indicating which data the message is related to (see Table name column in FIG. 11), a message type (“Insert” in FIG. 11), and data transmitted / received by the message Itself (in the case of FIG. 11, “T1000” or “8:00”) and the like are included.
- a message as shown in FIG. 11 is created by the message creation program 210, and passed to the message transmission / reception program 214 of another task group through the message transmission / reception program 214 and the message management program 215.
- the message passed to the message transmission / reception program 214 is interpreted by the message interpretation program 213 and passed to the data reception program 212.
- a case has been described in which messages are exchanged between a plurality of task groups configured on a single server.
- the message is further delivered from the message management program 215 to the communication program 216.
- the communication program 216 transmits a message to another server via the network 60, and the communication program 216 of the other server receives the message and sends it to the message sending / receiving program 214 of the task group on the receiving side via the message management program 215. A message is passed.
- An example message 1001 shown in FIG. 11 is expressed using an XML (Extensible Markup Language) format, but the message format is YAML (Yam Ain't Markup Language), JSON (Java Script Object, Other Message). Format may be used.
- XML Extensible Markup Language
- YAML Yam Ain't Markup Language
- JSON Java Script Object, Other Message. Format
- FIG. 12 is an overall flowchart showing an example of a process flow in the task group.
- the process flow shown in FIG. 12 is executed by the task group cycle execution program 208 at a cycle set for each task group.
- the task group periodic execution program 208 starts the data reflection program 211.
- the data reflection program 211 performs a reflection process on the data held by the task group (S101).
- the task group periodic execution program 208 refers to the task table of the task group characteristic 203 and sequentially executes the tasks registered in the task group (S102).
- the task group cycle execution program 208 refers to the task group characteristic 203 and determines whether the operation status item 406 of the task group is online and the master-slave status item 407 is the master (S103). If the task group operation status item 406 is online and the master / slave status item 407 is the master system, the process proceeds to S104. If the task group operation status item 406 is not online or the master / slave status item 407 is not the master system, the process ends. Continue the process.
- the task group periodic execution program 208 starts the data transmission program 209.
- the data transmission program 209 performs transmission processing for data held by the task group (S104).
- data can be shared with other task groups while maintaining data consistency while tasks registered in the task group are executed sequentially.
- FIG. 13 is a flow chart of the reflection process showing an example of the reflection process.
- FIG. 13 shows details of S101 in FIG.
- the reflection process shown in FIG. 13 is executed by the data reflection program 211.
- the data reflection program 211 refers to the data characteristics 204 in the task group, extracts data for which the shared item 505 is the reception destination, and registers the extracted data as reflection candidate data in the reflection candidate data group. (S201).
- the data reflection program 211 determines whether reflection candidate data exists in the reflection candidate data group (S202). If there is reflection candidate data in the reflection candidate data group, the process proceeds to S203, and if not, the process is terminated.
- the data reflection program 211 arbitrarily selects one reflection candidate data from the reflection candidate data group (S203).
- the reflection candidate data group may be regarded as an array and may be selected in order from the beginning, may be selected from the end, or may be selected at random.
- the data reflection program 211 refers to the data characteristics 204 of the task group for the reflection candidate data selected in S203, and determines whether the type item 504 of the reflection candidate data is instantaneous (S204). If the type item 504 of the reflection candidate data is instantaneous, the process proceeds to S205, and if not instantaneous (if permanent), the process proceeds to S206.
- the data reflection program 211 refers to the reception table 207 for the reflection candidate data, and reflects the contents in the table 205 for the reflection candidate data (S205).
- the data reflection program 211 extracts all rows for which the reflection flag 903 is 0 from the reception table 207 for the reflection candidate data, and reflects the contents of the rows in this table. Next, the reflection flag 903 of the row is set to 1 (S206).
- the data reflection program 211 removes the reflection candidate data from the reflection candidate data group, and proceeds to S202 (S207).
- the contents of the reception table 207 are reflected in the table 205 for the data held by the task group for which the shared item 505 is the reception destination.
- FIG. 14 is a transmission process flowchart showing an example of the transmission process.
- FIG. 14 shows details of S104 in FIG.
- the transmission process shown in FIG. 14 is provided by the data transmission program 209.
- the data transmission program 209 refers to the data characteristics 204 in the task group, extracts data for which the shared item 505 is the transmission source, and registers the extracted data as transmission candidate data in the transmission candidate data group. (S301).
- the data transmission program 209 determines whether transmission candidate data exists in the transmission candidate data group (S202). If transmission candidate data exists in the transmission candidate data group, the process proceeds to S303, and if not, the process ends.
- the data transmission program 209 arbitrarily selects one transmission candidate data from the transmission candidate data group (S303).
- the transmission candidate data group may be regarded as an array and may be selected in order from the beginning, may be selected from the end, or may be selected at random.
- the data transmission program 209 refers to the data characteristics 204 of the task group for the transmission candidate data selected in S303, and determines whether the status item 507 of the transmission candidate data is normal (S304). If the status item 507 of the transmission candidate data is normal, the process proceeds to S305, and if not normal, the process proceeds to S308.
- the data transmission program 209 refers to the data characteristics 204 of the task group for the transmission candidate data, and determines whether the type item 504 of the transmission candidate data is instantaneous (S305). If the type item 504 of the transmission candidate data is instantaneous, the process proceeds to S306, and if not instantaneous (if permanent), the process proceeds to S307.
- the data transmission program 209 refers to the table 205 for the transmission candidate data, passes the contents to the message creation program 210, converts it into a message, and passes it to the message transmission / reception program 214 (S306).
- the data transmission program 209 performs permanent data transmission processing (S307). Details of the persistent data transmission processing will be described later with reference to FIG.
- the data transmission program 209 removes the transmission candidate data from the transmission candidate data group and advances the process to S302 (S308).
- the data stored in the task group in which the shared item 505 is the transmission source and the status item 507 is normal and the type item 504 is instantaneous is the table 205. If the type item 504 is permanent, the content of the transmission table 206 is transmitted to the other task group through the message transmission / reception program 214 and the message management program 215.
- FIG. 15 is a flowchart of persistent data transmission processing showing an example of transmission processing for persistent data.
- FIG. 15 shows details of S307 in FIG.
- the permanent data transmission process shown in FIG. 15 is executed by the data transmission program 209.
- the data transmission program 209 extracts the row where the transmission flag 803 is 0 from the transmission table 206 for the transmission candidate data selected in S303 in FIG. 14, and registers the extracted row in the transmission candidate row group (S401).
- the data transmission program 209 determines whether there is a row in the transmission candidate row group (S402). If there is a row in the transmission candidate row group, the process proceeds to S403, and if not, the process proceeds to S404.
- the data transmission program 209 creates a message indicating the start of construction by the message creation program 210 and passes it to the message transmission / reception program 214 (S403).
- the data transmission program 209 selects the serial number having the maximum serial number from the serial numbers 802 in the transmission table 206 for the transmission candidate data, creates a message representing the latest serial number by the message creation program 210, and sends it to the message transmission / reception program 214. (S404).
- the data transmission program 209 selects a line having the smallest serial number 802 on the transmission table 206 from among the lines registered in the transmission candidate line group and sets it as a transmission candidate line (S405).
- the data transmission program 209 passes the contents of the transmission candidate line selected in S405 to the message creation program 210, converts it to a message, and passes it to the message transmission / reception program 214 (S406).
- the data transmission program 209 sets the transmission flag 803 of the transmission candidate row to 1 (S407).
- the data transmission program 209 removes the transmission candidate row from the transmission candidate row group (S408).
- the data transmission program 209 counts the number of times S406 is executed after the permanent data transmission processing flow shown in FIG. 15 is started, and determines whether the number is equal to or less than the upper limit 506 of the number of transmission messages of the transmission candidate data ( S409). If the number of times S406 has been executed is less than the upper limit 506 of the number of transmission messages for the transmission candidate data, the process proceeds to S410. If the number of times S406 has been executed exceeds the upper limit 506 of the number of transmission messages for the transmission candidate data, the process is terminated. .
- the data transmission program 209 determines whether there is a row in the transmission candidate row group (S410). If there is a row in the transmission candidate row group, the process proceeds to S405, and if not, the process proceeds to S411.
- the data transmission program 209 creates a message indicating the completion of construction by the message creation program 210 and passes it to the message transmission / reception program 214 (S411).
- the shared item 505 is the transmission source
- the status item 507 is normal
- the type item 504 is permanent.
- the contents of 206 are transmitted to another task group through the message transmission / reception program 214 and the message management program 215.
- the process is completed so that the number of messages transmitted in one process does not exceed the transmission message number upper limit 506 of the transmission candidate data, and the lines that have not been transmitted are transmitted in the permanent data transmission process in the next and subsequent cycles. Is done.
- FIG. 16 is a reception process flowchart showing an example of the reception process.
- the reception process shown in FIG. 16 is executed by the data reception program 212.
- the reception process shown in FIG. 16 is started each time the task group message transmission / reception program 214 receives a message.
- the data reception program 212 refers to the data characteristics 204 of the task group, and determines from the data name included in the message received by the message transmission / reception program 214 whether this message is a message related to data held by the task group. (S501). If the received message is a message related to the data held by the task group (that is, if the data name included in the message is registered in the data characteristics of the task group), the received message is the task group If the message does not relate to the data held by, the process proceeds to the end.
- the data reception program 212 determines whether the shared item 505 of the target data of the message (that is, the data represented by the data name included in the message) is the reception destination (S502). If the shared item 505 of the target data of the message is a recipient, the process proceeds to S503, and if the shared item 505 of the target data of the message is not a recipient, the process proceeds to S511.
- the data reception program 212 determines whether the master / slave status item 407 of the task group is a master / slave (S503). If the master / slave status item 407 of the task group is primary or secondary, the process proceeds to step S504.
- the data reception program 212 determines whether the content (type) of the message is the latest serial number (S504). If the content of the message is the latest serial number, the process proceeds to S505. If the content of the message is not the latest serial number, the process proceeds to S506.
- the data reception program 212 determines whether or not there is a serial number 902 from 1 to the latest serial number represented by the message in the reception table 207 of the data targeted by the message. In the reception table 207 of the data targeted by the message, if all the serial numbers 902 are from 1 to the latest serial number represented by the message, the process proceeds to the end. In the reception table 207 of the data targeted by the message, if there is no serial number 902 from 1 to the latest serial number represented by the message, the message creation program 210 creates a message indicating a retransmission request for the non-existing serial number 902 Then, the message is transferred to the message sending / receiving program 214, and the status item 507 of the data targeted by the message is made abnormal (S505).
- the data reception program 212 determines whether the content (type) of the message is the start of construction (S506). If the content of the message starts construction, the process proceeds to S507. If the content of the message does not start construction, the process proceeds to S508.
- the data reception program 212 sets the status item 507 of the data targeted by the message (S507).
- the data reception program 212 determines whether the content (type) of the message is construction complete (S508). If the content of the message is complete, the process proceeds to S509. If the content of the message is not complete, the process proceeds to S510.
- the data reception program 212 normalizes the status item 507 of the data targeted by the message (S509).
- the data reception program 212 reflects the content of the message (that is, the data itself transmitted / received by the message) in the reception table 207 of the target data of the message (S510).
- the data reception program 212 determines whether the shared item 505 of the target data of the message is a transmission source (S511). If the shared item 505 of the target data of the message is the transmission source, the process proceeds to S512. If the shared item 505 of the target data of the message is not the transmission source, the processing is terminated.
- the data reception program 212 determines whether the master / slave status item 407 of the task group is the master (S512). If the master / slave status item 407 of the task group is the master, the process proceeds to S513, and if the master / slave status item 407 of the task group is not the master, the process is terminated.
- the data reception program 212 determines whether the content (type) of the message is a retransmission request (S513). If the message content is a retransmission request, the process proceeds to S514, and if the message content is not a retransmission request, the process is terminated.
- the data reception program 212 sets the transmission flag of the line having the serial number 802 requested to be resent to 0 in the transmission table of the target data of the message (S514).
- reception processing when a message transmitted by another task group by the transmission processing shown in FIG. 14 and the permanent data transmission processing shown in FIG. 15 is received, it can be processed by the task group on the message receiving side.
- the entire flow shown in FIG. 12 periodically executed in each task group and the reception processing flow of FIG. 16 operate asynchronously, but the reception processing flow does not directly read or write this table, so it is registered in the task group. Data consistency can be maintained while executed tasks are executed sequentially.
- the data updated by the execution of each business application is distributed and reflected to other business applications (task groups) by the data sharing unit 10.
- the Each business application only needs to access the local database (this table) to read and write data, and the business application does not need to have program code for data sharing. improves. Also, because one task group is assigned to a business application and messages are exchanged with all other task groups within or between devices, when the system configuration changes (for example, a new device is added) The change of the configuration of the business application device) can be minimized.
- the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage.
- various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the above embodiments. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined. While the above description has been made with reference to exemplary embodiments, it will be apparent to those skilled in the art that the invention is not limited thereto and that various changes and modifications can be made within the spirit of the invention and the scope of the appended claims.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
複数業務アプリケーション間のデータのやり取りを業務アプリケーションが行う必要がある。このためのデータ共有装置は、業務アプリケーション毎に構成されたタスクグループと、タスクグループ間でメッセージを送受信するメッセージ管理部を有する。各タスクグループは、一以上のタスクと、タスクが読み書きするデータを格納する本テーブルと、他のタスクグループから受信し本テーブルへ反映されるデータを格納する受信テーブルと、タスクグループ実行部と、メッセージ送受部を有する。タスクグループ実行部は、受信テーブルのデータを本テーブルに格納した後に、タスクグループのタスクを順次実行し、本テーブルの内容をメッセージ送受部に渡す。メッセージ送受部は、タスクグループ実行部から受け取ったメッセージはメッセージ管理部へ渡し、メッセージ管理部から受け取ったデータは受信テーブルに格納する。
Description
本出願は、2011年9月2日に出願された日本特許出願第2011-191255号の優先権を主張し、その内容を参照することにより本出願に取り込む。
データ共有装置およびデータ共有方法に関する。より詳細には、単一の装置またはネットワークを介して相互接続された複数の装置から構成されたシステムにおける業務アプリケーション間のデータ共有装置およびデータ共有方法に関する。
列車運行管理システムなど複数の業務アプリケーションが実行されるシステムにおいて、各業務アプリケーションは装置内または装置間でお互いにデータをやり取りしている。データのやり取りに関わる処理(例えば、装置内または装置間での排他制御、データ共有タイミングの制御)は、業務アプリケーションのプログラムコード中に多く表れる。
また、データのやりとりの際には、データの送信元がデータの受信先を意識した処理(例えば、受信先装置の指定、受信先に合わせたデータ加工)を行っている。
先述のようなシステムでは、データのやりとりに関わる処理が業務アプリケーションのプログラムコード内で多数回出現する。このために、業務アプリケーションのプログラム開発における生産性が上がらない。また、システム構成を変更する場合には、データの送信元と送信先の両方を変更する必要があるので、拡張性も低い。
データ共有装置は、業務アプリケーション毎に構成されたタスクグループと、複数のタスクグループ間でのメッセージの送受信を実行するメッセージ管理部を有する。各タスクグループは、業務アプリケーションの処理を実行する一以上のタスクと、一以上のタスクが読み書きするデータが格納される本テーブルと他のタスクグループから受信し、本テーブルへ反映されるデータが格納される受信テーブルと、タスクグループ実行部と、メッセージ送受部を有する。タスクグループ実行部は、受信テーブルに格納されているデータを本テーブルに格納した後に、タスクグループの一以上のタスクを順次実行し、当該一以上のタスクの実行が完了した後に本テーブルの内容を有するメッセージをメッセージ送受部に渡す。メッセージ送受部は、タスクグループ実行部から受け取ったメッセージはメッセージ管理部へ渡し、メッセージ管理部から受け取ったメッセージに含まれるデータは受信テーブルに格納する。メッセージ管理部は、メッセージ送受部から受け取ったメッセージを他のタスクグループのメッセージ送受部に渡す。
複数の業務アプリケーションが実行されるシステムにおいて、業務アプリケーション間のデータのやり取りを業務アプリケーションとは異なるデータ共有部によって実現することができる。
本発明の他の目的、特徴及び利点は添付図面に関する以下の本発明の実施例の記載から明らかになるであろう。
本発明の他の目的、特徴及び利点は添付図面に関する以下の本発明の実施例の記載から明らかになるであろう。
以下に添付図面を参照して、データ共有装置およびデータ共有方法の実施の形態を詳細に説明する。
図1は、システムの構成例を図である。PRC(Programmed Route Control)サーバ20は、ネットワーク60を介して、CTC(Centralized Traffic Control)サーバ30、GD(Graphic Display)サーバ40、EDP(Electronic Data Processing)サーバ50と接続されている。
PRCサーバ20は、列車の進路を自動制御するサーバであり、データ共有部10を有している。
CTCサーバ30は、信号や分岐器の連動装置を遠隔操作するサーバであり、データ共有部10を有している。
GDサーバ40は、指令員が運転整理を行うサーバであり、データ共有部10を有している。
EDPサーバ50は、日毎のダイヤをPRCサーバ20に送信するサーバであり、データ共有部10を有している。
PRCサーバ20、CTCサーバ30、GDサーバ40およびEDPサーバ50は、ネットワーク60を介してお互いに通信をしてデータをやりとりすることでデータ共有を実現するシステムを構成している。ただし、システム構成はこれに限られず、データ共有部10を有する2つ以上のサーバがネットワークを介して接続されていればよい。また、単一のサーバ上にデータ共有部10と複数の業務アプリケーションを有し、データ共有部を介して複数の業務アプリケーションがデータをやりとりするシステム構成であっても良い。
また、図1で示したシステム構成は、説明のため鉄道運行管理システムを一例としたが、これは本発明の適用可能な分野を鉄道分野に限るものではない。例えば、システムを、フライトスケジュール管理サーバや、搭乗ゲート管理サーバで構成することにより、航空機のスケジュール管理にを用いることも可能である。
図2は図1で示した各サーバのハードウェア構成例を示すハードウェア構成図である。図2で示すようにサーバ101は、主制御部102、主記憶部103、入力部104、通信部105を備えて構成される。
主制御部102は、主記憶部103に記録されたプログラムコードをプロセッサが実行することで、サーバ101における情報処理を制御する。
主記憶部103は、サーバ101に関する情報を不揮発的に記憶する。
入力部104は、サーバ101に関する情報を手動で入力する必要がある際に、サーバ101に入力を行う。
通信部105は、ネットワーク60を介して、他装置の通信部105と接続し、他装置と情報を伝達しあう。
本構成は、例えば、主制御部102をCPU(Central Processing Unit)とRAM(Random Access Memory)で、主記憶部103をハードディスクで、入力部104をキーボードで、通信部105をイーサネット(登録商標)で、実現することにより、従来からよく知られた装置で構成可能である。
図3は、図1に示した各サーバ101のソフトウェア構成例を示すソフトウェア構成図である。図3で示すように、サーバ101は、データ共有部10と、一以上の業務アプリケーション201、を備えて構成される。これらの実体は、図2に示した主記憶部103に格納されたソフトウェアプログラムおよびデータであり、実行時にはRAMに読み込まれてCPU(プロセッサ)によって実行される。
業務アプリケーション201は、業務を行うためのアプリケーションであり、各業務アプリケーション201は単一のタスクグループと対応している。タスクグループは業務アプリケーションを構成する一以上のタスクと呼ばれるプログラムから構成されており、一つのタスクグループデータベース217を保持する。タスクグループを構成するタスクは、対応するタスクグループデータベース217のデータ(後述する本テーブル上のデータ)を読み書きする。
データ共有部10は、データ格納部202、タスク周期実行プログラム208、データ送信プログラム209、メッセージ作成プログラム210、データ反映プログラム211、データ受信プログラム212、メッセージ解釈プログラム213、メッセージ送受プログラム214、メッセージ管理プログラム215、通信プログラム216、を備えて構成される。タスク周期実行プログラム208、データ送信プログラム209、メッセージ作成プログラム210、データ反映プログラム211、データ受信プログラム212、メッセージ解釈プログラム213、およびメッセージ送受プログラム214はCPU(プロセッサ)によって実行されるとタスクグループ毎に独立した処理を実行することになるので、以降はタスクグループ毎にこれらのプログラムを備えるものとして説明する。しかしこれらのプログラムは機能的にタスクグループ毎に備えられていれば良く、プログラムコードの実体は各サーバに1つ備えていれば良い。
データ格納部202は、データ共有部を実現するソフトウェアプログラムの実行に用いられるデータを格納しており、タスクグループ特性203、一以上のタスクグループデータベース217を有する。各タスクグループデータベース217は、データ特性204、一以上の本テーブル205、送信テーブル206、受信テーブル207、を備えて構成される。
タスクグループ周期実行プログラム208は、タスクグループ毎に設定された周期毎に、対応するタスクグループについての処理を実行する。
データ送信プログラム209は、データ送信処理を行う。
メッセージ作成プログラム210は、データ送信プログラムから渡されたデータをメッセージに変換してメッセージ送受プログラム214へ渡す。
データ反映プログラム211は、データ反映処理を行う。
データ受信プログラム212は、データ受信処理を行う。
メッセージ解釈プログラム213は、メッセージ送受プログラムから渡されたメッセージをデータに変換してデータ受信プログラム212に渡す。
メッセージ送受プログラム214は、メッセージ作成プログラム210から渡されたメッセージをメッセージ管理プログラム215に渡す、もしくはメッセージ管理プログラム215から渡されたメッセージをメッセージ解釈プログラム213に渡す。
メッセージ管理プログラム215は、メッセージ送受プログラム214から渡されたメッセージを装置内の他のメッセージ送受プログラム214および通信プログラム216に渡す、もしくは通信プログラム216から渡されたメッセージを装置内の全てのメッセージ送受プログラム214に渡す。
通信プログラム216は、メッセージ管理プログラム215から渡されたメッセージを、ネットワーク60を介してネットワーク60に接続している他装置の通信プログラム216とメッセージを伝達しあう。
図4は、タスクグループ特性203およびデータ特性204が有する項目例と各項目がとり得る値の例を示した図である。
タスクグループ特性203には、運転状態項目301と、主従系状態項目302が含まれる。データ特性204には、種別項目303、共有項目304と、状態項目305が含まれる。
運転状態項目301は、オンライン、またはモニタランという値をとりうる。
主従系状態項目302は、主系、または従系、または主系と従系の間の移行中という値をとりうる。
種別項目303は、タスクグループのタスクの実行によって更新された本テーブルの内容を他のタスクグループへ送信するタイミングについてのルールを表す項目で、瞬時、または永続という値をとりうる。種別項目が「瞬時」である場合には、本テーブルの更新が発生したタスクグループ実行周期と同じ周期内で当該更新内容の送信が行われ、種別項目が「永続」である場合には、本テーブルの更新が発生したタスクグループの実行周期と必ずしも同じ周期で当該更新内容の送信を行う必要はなく、後の実行周期で更新内容の送信が行われる場合もある。データ共有のリアルタイム要求が高いデータは種別項目が「瞬時」に、リアルタイム要求が低いデータは種別項目が「永続」に設定される。
共有項目304は、送信元、または受信先、またはローカルという値をとりうる。
状態項目305は、正常、または異常、または構築中という値をとりうる。
図5A及び5Bは、タスクグループ特性203の一例を示す図である。各サーバ101は、タスクグループ特性203を一つ備える。タスクグループ特性203は、図5Aに示すタスク表401と、図5Bに示すタスクグループ特性表404を備えて構成される。
タスク表401は、タスクグループに登録されているタスクを表す表である。タスク表401は、タスクグループ名称列402とタスク列403を備えて構成される。
タスクグループ名称列402は、タスクグループの名称を表す列である。タスク表401では、TG-A、TG-B、TG-C、TG-Dという名称のタスクグループが存在することを示している。
タスク列403は、各タスクグループに登録されている一以上のタスク群を表す列である。例えば、タスク表401では、タスクグループTG-AにタスクT-AA,タスクT-AB,タスクT-AC,タスクT-ADが登録されている。タスクグループに登録されているタスクは逐次実行される。例えば、タスクグループTG-Aでは、タスクT-AA,タスクT-AB,タスクT-AC,タスクT-ADの順にタスクが実行される。
タスクグループ特性表404は、タスクグループの特性を表す表である。タスクグループ特性表404はタスクグループ名称402と、周期列405と、運転状態項目列406と、主従系状態項目列407を備えて構成される。
タスクグループ名称402は上述の通り、各タスクグループの識別情報(名称)である。周期列405は、各タスクグループについて、タスクグループ周期実行プログラム208が当該タスクグループに登録されているタスク郡の実行を開始する周期を表す列である。例えば、タスクグループ特性表404では、タスクグループTG-Aは1秒周期で、タスクグループTG-Dは3秒周期で起動され、タスク群に含まれる一以上のタスクが逐次実行される。
運転状態項目列406は、タスクグループの運転状態項目を表す列である。例えば、タスクグループ特性表404では、タスクグループTG-Aの運転状態項目はオンラインに、タスクグループTG-Cの運転状態項目はモニタランになっている。
主従系状態項目列407は、タスクグループの主従系状態項目を表す列である。例えば、タスクグループ特性表404では、タスクグループTG-Aの主従系状態項目は主系に、タスクグループTG-Bの主従系状態項目は従系になっている。
図6A及び6Bは、データ特性204の一例を示す図である。各サーバ101は、タスクグループ毎に一つのデータ特性204を備える。図6AではタスクグループTG-Aについてのデータ特性表501を、図6BではタスクグループTG-Bについてのデータ特性表508を示している。
データ特性表501およびデータ特性表508は、タスクグループ名称列502、データ名称列503、種別項目列504、共有項目列505、送信メッセージ数上限列506、状態項目列507、を備えて構成される。
タスクグループ名称列502は、タスクグループの名称を表す列である。例えば、データ特性表501はタスクグループTG-Aが保持するデータについてのものであり、データ特性表508はタスクグループTG-Bが保持するデータについてのものであることを示している。
データ名称列503は、タスクグループが保持しているデータの名称を表す列である。例えば、タスクグループTG-AはDATA-AAA、DATA-BBB、DATA-CCC、DATA-DDDというデータを保持しており、タスクグループTG-BはDATA-AAA、DATA-BBBというデータを保持していることを示している。
種別項目列504は、データの種別項目を示す列である。例えば、データ特性表501において、DATA-AAAの種別項目が瞬時であり、DATA-BBBの種別項目が永続であることを示している。
共有列505は、データの共有項目を表す列である。例えば、データ特性表501において、DATA-AAAの共有項目が送信元であり、DATA-CCCの共有項目が受信先であることを示している。
送信メッセージ数上限列506は、タスクグループにおける処理を一度実行する間に送信できるメッセージ数の上限を表す列である。例えば、データ特性表501において、DATA-BBBの送信メッセージ数上限は100であることを示している。
状態列507は、データの状態項目を表す列である。例えば、データ特性表501において、DATA-AAAの状態項目が正常であり、DATA-CCCの状態項目が構築中であることを示している。
図7は、図5で示したタスクグループ特性203が表すタスクグループ、および図6で示したデータ特性204が表すデータを備えるサーバ601の機能構成の一例を示す図である。サーバは、通信プログラム216、メッセージ管理プログラム215、タスクグループ特性203と二つのタスクグループを有する。尚、タスクグループの数は一例であって、一以上であれば幾つ構成されていても良い。
各タスクグループは、業務アプリケーションを構成する複数のタスク、当該複数のタスクの実行に際して用いられる一以上のデータ、データ特性204、タスクグループ周期実行プログラム208、データ送信プログラム209、データ反映プログラム211、データ受信プログラム212、メッセージ作成プログラム210、メッセージ解釈プログラム213、メッセージ送受プログラム214を有する。ここで、タスクグループが有する各プログラムは図3に示したプログラムであるが、各プログラムがタスクグループ毎に各種処理を実行することから、機能構成としてはタスクグループ毎に各プログラムを有するよう図7では表現している。
タスクグループが有するデータは、本テーブル701、送信テーブル801、受信テーブル901、を用いて管理される。
図8は、本テーブル205の一例を示す図である。タスクグループは、タスクグループが保持するデータ毎に一つの本テーブル205を備える。本テーブル205は少なくとも行番号列702、一以上のデータ列を備える。例えば、図8に示す本テーブル701は、行番号702と、データ列として列車番号列703および出発時刻列704を備える。
行番号列702は、行番号を表す列である。
列車番号列703は、列車番号を表す列である。
出発時刻列704は、出発時刻を表す列である。
タスクグループに登録されているタスクが実行されると、本テーブルのデータ列に格納されているデータがタスクによって読み書きされる。
図9は、送信テーブル206の一例を示す図である。タスクグループは、タスクグループが保持するデータのうち共有項目が送信元、かつ種別項目が永続であるデータの本テーブルに対して一つの送信テーブル206を備える。送信テーブル206は少なくとも、通番列802、送信フラグ803、操作列804、行番号列805、一以上のデータ列を備える。ここでのデータ列の項目は対応する本テーブル205が備えるデータ列の項目と同じものである。例えば、図9に示す送信テーブル801は、図8に示す本テーブル701に対応しており、通番列802、送信フラグ803、操作列804、行番号列805、列車番号列806、出発時刻列807、を備える。
通番列802は、通番を表す列である。
送信フラグ列803は、送信された行であるかどうかを表す列である。
操作列804は、対応する本テーブルに対して行われた操作を表す列である。
行番号列805は、対応する本テーブルに対して行われた操作が対象とする本テーブルの行番号を表す列である。
列車番号列806は、列車番号を表す列である。
出発時刻列807は、出発時刻を表す列である。
共有項目が送信元、かつ種別項目が永続であるデータが変更された場合、対応する送信テーブルに変更内容が追加される。この際の通番は変更内容を追加する前の最大の通番に1を加えた値、送信フラグは0、操作は本テーブルにデータを追加した場合は「Insert」、本テーブルのデータを更新した場合は「Update」、本テーブルのデータを削除した場合は「Delete」、行番号は本テーブルにおいてデータの変更があった行の番号、データは変更内容を表すデータである。
図10は、受信テーブル207の一例を示す図である。タスクグループは、タスクグループが保持するデータのうち共有項目が受信先であるデータの本テーブルに対して一つの受信テーブル206を備える。データの種別項目が瞬時であれば、受信テーブル207が備える列の項目は、対応する本テーブル205が備える列の項目と同じものである。データの種別項目が永続であれば、受信テーブル207は少なくとも、通番列902、反映フラグ903、操作列904、行番号列905、一以上のデータ列を備える。ここでのデータ列の項目は対応する本テーブル205が備えるデータ列の項目と同じものである。例えば、図9に示す受信テーブル901は、種別項目が永続であるデータについての受信テーブルであり、図8に示す本テーブル701に対応しており、通番列902、送信フラグ903、操作列904、行番号列905、列車番号列906、出発時刻列907、を備える。
通番列902は、通番を表す列である。
反映フラグ列903は、反映された行であるかどうかを表す列である。
操作列904は、対応する本テーブルに対して行われた操作を表す列である。
行番号列905は、対応する本テーブルに対して行われた操作が対象とする本テーブルの行番号を表す列である。
列車番号列906は、列車番号を表す列である。
出発時刻列907は、出発時刻を表す列である。
図11は、メッセージの一例を示す図である。メッセージ1001は、図9に示す送信テーブル801の1行目の内容をメッセージに変換したものを表している。メッセージには当該メッセージがどのデータに関するメッセージであるかを示すデータ名称(図11のTable nameの欄参照)、メッセージの種別(図11の場合には「Insert」)、当該メッセージによって送受信されるデータそのもの(図11の場合には「T1000」や「8:00」)等が含まれる。
図11で示すようなメッセージが、メッセージ作成プログラム210で作成され、メッセージ送受プログラム214、メッセージ管理プログラム215を通して、他のタスクグループのメッセージ送受プログラム214に渡される。メッセージ送受プログラム214に渡されたメッセージは、メッセージ解釈プログラム213で解釈されデータ受信プログラム212に渡される。尚、ここでは単一のサーバ上に構成された複数タスクグループ間でメッセージがやりとりされる場合を説明した。異なるサーバ上に構成された複数のタスクグループ間でメッセージがやりとりされる場合には、更にメッセージ管理プログラム215から通信プログラム216にメッセージが引き渡される。通信プログラム216はネットワーク60を介して別のサーバへメッセージを送信し、当該別のサーバの通信プログラム216がメッセージを受信して、メッセージ管理プログラム215経由で受信側のタスクグループのメッセージ送受プログラム214にメッセージが渡される。
図11で示すメッセージの一例1001はXML(Extensible Markup Language)フォーマットを用いて表現されているが、メッセージフォーマットはYAML(Yaml Ain’t Markup Language)でも、JSON(JavaScript Object Notation)でも、その他のメッセージフォーマットでもよい。
図12は、タスクグループにおける処理の流れの一例を示す全体フロー図である。図12で示す処理の流れは、タスクグループ周期実行プログラム208がタスクグループ毎に設定された周期で実行する。
まず、タスクグループ周期実行プログラム208は、データ反映プログラム211を起動する。データ反映プログラム211は、該タスクグループが保持するデータに対する反映処理を行う(S101)。
タスクグループ周期実行プログラム208は、タスクグループ特性203のタスク表を参照し、該タスクグループに登録されているタスクを逐次実行する(S102)。
タスクグループ周期実行プログラム208は、タスクグループ特性203を参照し、該タスクグループの運転状態項目406がオンラインかつ主従系状態項目407が主系であるかどうか判定する(S103)。該タスクグループの運転状態項目406がオンラインかつ主従系状態項目407が主系であればS104へ、該タスクグループの運転状態項目406がオンラインでない、または主従系状態項目407が主系でなければ終了へと処理を進める。
タスクグループ周期実行プログラム208は、データ送信プログラム209を起動する。データ送信プログラム209は、該タスクグループが保持するデータに対する送信処理を行う(S104)。
以上の処理を行うことにより、タスクグループに登録されたタスクが逐次実行されている間のデータの一貫性を保ちながら、他タスクグループとデータを共有できる。
図13は、反映処理の一例を示す反映処理フロー図である。図13は、図12におけるS101の詳細を表す。図13で示す反映処理はデータ反映プログラム211によって実行される。
まず、データ反映プログラム211は、該タスクグループにおけるデータ特性204を参照し、共有項目505が受信先となっているデータを抽出し、抽出されたデータを反映候補データとして反映候補データ群に登録する(S201)。
データ反映プログラム211は、反映候補データ群に反映候補データが存在するか判定する(S202)。反映候補データ群に反映候補データが存在すればS203へ、存在しなければ終了へと処理を進める。
データ反映プログラム211は、反映候補データ群から反映候補データを任意に一つ選択する(S203)。ここでは、反映候補データ群を配列とみなして先頭から順番に選んでもよいし、末尾から選んでもよいし、無作為に選んでもよい。
データ反映プログラム211は、S203において選択した反映候補データについて、該タスクグループのデータ特性204を参照し、該反映候補データの種別項目504が瞬時であるか判定する(S204)。該反映候補データの種別項目504が瞬時であればS205へ、瞬時でなければ(永続ならば)S206へ処理を進める。
データ反映プログラム211は、該反映候補データについての受信テーブル207を参照し、その内容を該反映候補データについての本テーブル205へ反映する(S205)。
データ反映プログラム211は、該反映候補データについての受信テーブル207から反映フラグ903が0の行を全て抽出し、該行の内容を本テーブルに反映する。次に、該行の反映フラグ903を1にする(S206)。
データ反映プログラム211は、反映候補データ群から該反映候補データを除去し、S202へと処理を進める(S207)。
以上の反映処理により、該タスクグループが保持するデータのうち共有項目505が受信先になっているものについて受信テーブル207の内容が本テーブル205へ反映される。
図14は、送信処理の一例を示す送信処理フロー図である。図14は、図12におけるS104の詳細を表す。図14で示す送信処理はデータ送信プログラム209によって提供される。
まず、データ送信プログラム209は、該タスクグループにおけるデータ特性204を参照し、共有項目505が送信元となっているデータを抽出し、抽出されたデータを送信候補データとして送信候補データ群に登録する(S301)。
データ送信プログラム209は、送信候補データ群に送信候補データが存在するか判定する(S202)。送信候補データ群に送信候補データが存在すればS303へ、存在しなければ終了へと処理を進める。
データ送信プログラム209は、送信候補データ群から送信候補データを任意に一つ選択する(S303)。ここでは、送信候補データ群を配列とみなして先頭から順番に選んでもよいし、末尾から選んでもよいし、無作為に選んでもよい。
データ送信プログラム209は、S303において選択した送信候補データについて、該タスクグループのデータ特性204を参照し、該送信候補データの状態項目507が正常であるか判定する(S304)。該送信候補データの状態項目507が正常であればS305へ、正常でなければS308へ処理を進める。
データ送信プログラム209は、該送信候補データについて、該タスクグループのデータ特性204を参照し、該送信候補データの種別項目504が瞬時であるか判定する(S305)。該送信候補データの種別項目504が瞬時であればS306へ、瞬時でなければ(永続ならば)S307へ処理を進める。
データ送信プログラム209は、該送信候補データについての本テーブル205を参照し、その内容をメッセージ作成プログラム210へ渡してメッセージに変換し、メッセージ送受プログラム214へと渡す(S306)。
データ送信プログラム209は、永続データ送信処理を行う(S307)。永続データの送信処理の詳細は図15を用いて後述する。
データ送信プログラム209は、送信候補データ群から該送信候補データを除去し、S302へと処理を進める(S308)。
以上の送信処理により、該タスクグループが保持するデータのうち共有項目505が送信元になっており、かつ状態項目507が正常になっているものについて、種別項目504が瞬時のものは本テーブル205の内容が、種別項目504が永続のものは送信テーブル206の内容がメッセージ送受プログラム214およびメッセージ管理プログラム215を通して、他タスクグループへと送信される。
図15は、永続データに対する送信処理の一例を示す永続データ送信処理フロー図である。図15は、図14におけるS307の詳細を表す。図15で示す永続データ送信処理はデータ送信プログラム209によって実行される。
データ送信プログラム209は、図14におけるS303で選択された送信候補データについての送信テーブル206から送信フラグ803が0の行を抽出し、抽出された行を送信候補行群に登録する(S401)。
データ送信プログラム209は、送信候補行群に行が存在するか判定する(S402)。送信候補行群に行が存在すればS403へ、存在しなければS404へ処理を進める。
データ送信プログラム209は、メッセージ作成プログラム210により構築開始を表すメッセージを作成し、メッセージ送受プログラム214へと渡す(S403)。
データ送信プログラム209は、該送信候補データについての送信テーブル206における通番802から通番が最大のものを最新通番として選択し、メッセージ作成プログラム210により最新通番を表すメッセージを作成し、メッセージ送受プログラム214へと渡す(S404)。
データ送信プログラム209は、送信候補行群に登録されている行のうち、送信テーブル206上での通番802が最小である行を選択し送信候補行とする(S405)。
データ送信プログラム209は、S405において選択された送信候補行の内容をメッセージ作成プログラム210へ渡してメッセージに変換し、メッセージ送受プログラム214へと渡す(S406)。
データ送信プログラム209は、該送信候補行の送信フラグ803を1にする(S407)。
データ送信プログラム209は、送信候補行群から該送信候補行を除去する(S408)。
データ送信プログラム209は、図15に示す永続データ送信処理フローが開始してからS406が実行された回数をカウントし、その回数が該送信候補データの送信メッセージ数上限506以下であるか判定する(S409)。S406が実行された回数が該送信候補データの送信メッセージ数上限506未満であればS410に、S406が実行された回数が該送信候補データの送信メッセージ数上限506以上であれば終了に処理を進める。
データ送信プログラム209は、送信候補行群に行が存在するか判定する(S410)。送信候補行群に行が存在すればS405へ、存在しなければS411へ処理を進める。
データ送信プログラム209は、メッセージ作成プログラム210により構築完了を表すメッセージを作成し、メッセージ送受プログラム214へと渡す(S411)。
以上の永続データ送信処理により、該タスクグループが保持するデータのうち共有項目505が送信元になっており、かつ状態項目507が正常になっており、かつ種別項目504が永続のものは送信テーブル206の内容をメッセージ送受プログラム214およびメッセージ管理プログラム215を通して、他タスクグループへと送信される。このとき、一度の処理で送信するメッセージ数が該送信候補データの送信メッセージ数上限506を超えないように処理が終了し、送信しなかった行については次回以降の周期の永続データ送信処理において送信される。
図16は、受信処理の一例を示す受信処理フロー図である。図16で示す受信処理はデータ受信プログラム212によって実行される。図16で示す受信処理はタスクグループのメッセージ送受プログラム214がメッセージを受信する度に起動される。
まず、データ受信プログラム212は、該タスクグループのデータ特性204を参照し、メッセージ送受プログラム214が受信したメッセージに含まれるデータ名称からこのメッセージが該タスクグループが保持するデータに関するメッセージであるか判定する(S501)。受信したメッセージが、該タスクグループが保持するデータに関するメッセージであれば(すなわち当該メッセージに含まれるデータ名称が当該タスクグループのデータ特性に登録されていれば)S502に、受信したメッセージが該タスクグループが保持するデータに関するメッセージでなければ終了に処理を進める。
データ受信プログラム212は、該メッセージの対象データ(すなわち、当該メッセージに含まれるデータ名称で表されるデータ)の共有項目505が受信先かどうか判定する(S502)。該メッセージの対象データの共有項目505が受信先であればS503に、該メッセージの対象データの共有項目505が受信先でなければS511に処理を進める。
データ受信プログラム212は、該タスクグループの主従系状態項目407が主系または従系であるか判定する(S503)。該タスクグループの主従系状態項目407が主系または従系であればS504に、該タスクグループの主従系状態項目407が主系でなく、かつ従系でなければ終了に処理を進める。
データ受信プログラム212は、該メッセージの内容(種別)が最新通番であるか判定する(S504)。該メッセージの内容が最新通番であればS505に、該メッセージの内容が最新通番でなければS506に処理を進める。
データ受信プログラム212は、該メッセージが対象とするデータの受信テーブル207について、通番902が1から該メッセージが表す最新通番まですべて存在するか判定する。該メッセージが対象とするデータの受信テーブル207について、通番902が1から該メッセージが表す最新通番まですべて存在すれば、終了へと処理を進める。該メッセージが対象とするデータの受信テーブル207について、通番902が1から該メッセージが表す最新通番まですべて存在していなければ、メッセージ作成プログラム210により、存在しない通番902の再送要求を表すメッセージを作成し、メッセージ送受プログラム214へと渡し、該メッセージが対象とするデータの状態項目507を異常にする(S505)。
データ受信プログラム212は、該メッセージの内容(種別)が構築開始であるか判定する(S506)。該メッセージの内容が構築開始であればS507に、該メッセージの内容が構築開始でなければS508に処理を進める。
データ受信プログラム212は、該メッセージが対象とするデータの状態項目507を構築中にする(S507)。
データ受信プログラム212は、該メッセージの内容(種別)が構築完了であるか判定する(S508)。該メッセージの内容が構築完了であればS509に、該メッセージの内容が構築完了でなければS510に処理を進める。
データ受信プログラム212は、該メッセージが対象とするデータの状態項目507を正常にする(S509)。
データ受信プログラム212は、該メッセージの対象データの受信テーブル207にメッセージの内容(すなわち、当該メッセージで送受信されるデータそのもの)を反映する(S510)。
データ受信プログラム212は、該メッセージの対象データの共有項目505が送信元かどうか判定する(S511)。該メッセージの対象データの共有項目505が送信元であればS512に、該メッセージの対象データの共有項目505が送信元でなければ終了に処理を進める。
データ受信プログラム212は、該タスクグループの主従系状態項目407が主系であるか判定する(S512)。該タスクグループの主従系状態項目407が主系であればS513に、該タスクグループの主従系状態項目407が主系でなければ終了に処理を進める。
データ受信プログラム212は、該メッセージの内容(種別)が再送要求であるか判定する(S513)。該メッセージの内容が再送要求であればS514に、該メッセージの内容が再送要求でなければ終了に処理を進める。
データ受信プログラム212は、該メッセージの対象データの送信テーブルについて、再送要求された通番802を持つ行の送信フラグを0にする(S514)。
以上の受信処理により、他のタスクグループが図14で示す送信処理および図15で示す永続データ送信処理によって送信したメッセージを受信した際に、このメッセージ受信側のタスクグループで処理することができる。各タスクグループにおいて周期実行される図12に示す全体フローと、図16の受信処理フローは、非同期で動作するが、受信処理フローが直接本テーブルを読書きすることはないため、タスクグループに登録されたタスクが逐次実行されている間のデータの一貫性を保つことができる。
以上の実施形態によれば、各業務アプリケーションの実行(タスクグループに含まれるタスクの実行)により更新されたデータが、データ共有部10によって他の業務アプリケーション(タスクグループ)に配信されて・反映される。各業務アプリケーションはローカルのデータベース(本テーブル)にアクセスしてデータを読み書きするだけでよくなり、業務アプリケーションがデータ共有のためのプログラムコードを持つ必要がないので、アプリを開発する際の生産性が向上する。また、業務アプリケーションに対して一つのタスクグループを割り当てて、装置内または装置間の他の全てのタスクグループとメッセージをやり取りしているため、システム構成が変化した際(例えば、新規装置が追加される、業務アプリケーションの装置内構成が変わる)の改修を最小限に留めることができる。
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
上記記載は実施例についてなされたが、本発明はそれに限らず、本発明の精神と添付の請求の範囲の範囲内で種々の変更および修正をすることができることは当業者に明らかである。
上記記載は実施例についてなされたが、本発明はそれに限らず、本発明の精神と添付の請求の範囲の範囲内で種々の変更および修正をすることができることは当業者に明らかである。
10 データ共有部
201 業務アプリケーション
202 データ格納部
203 タスクグループ特性
204 データ特性
205 本テーブル
206 送信テーブル
207 受信テーブル
208 タスクグループ周期実行プログラム
209 データ送信プログラム
210 メッセージ作成プログラム
211 データ反映プログラム
212 データ受信プログラム
213 メッセージ解釈プログラム
214 メッセージ送受プログラム
215 メッセージ管理プログラム
216 通信プログラム
217 タスクグループデータベース
201 業務アプリケーション
202 データ格納部
203 タスクグループ特性
204 データ特性
205 本テーブル
206 送信テーブル
207 受信テーブル
208 タスクグループ周期実行プログラム
209 データ送信プログラム
210 メッセージ作成プログラム
211 データ反映プログラム
212 データ受信プログラム
213 メッセージ解釈プログラム
214 メッセージ送受プログラム
215 メッセージ管理プログラム
216 通信プログラム
217 タスクグループデータベース
Claims (12)
- 複数の業務アプリケーション間でデータを共有するデータ共有装置であって、
業務アプリケーション毎に構成されたタスクグループと、
複数のタスクグループ間でのメッセージの送受信を実行するメッセージ管理部を有しており、
各タスクグループは、
業務アプリケーションの処理を実行する一以上のタスクと、
前記一以上のタスクが読み書きするデータが格納される本テーブルと
他のタスクグループから受信し、前記本テーブルへ反映されるデータが格納される受信テーブルと、
タスクグループ実行部と、
メッセージ送受部を有しており、
前記タスクグループ実行部は、前記受信テーブルに格納されているデータを前記本テーブルに格納した後に、タスクグループの一以上のタスクを順次実行し、当該一以上のタスクの実行が完了した後に前記本テーブルの内容を有するメッセージを前記メッセージ送受部に渡し、
前記メッセージ送受部は、前記タスクグループ実行部から受け取ったメッセージは前記メッセージ管理部へ渡し、前記メッセージ管理部から受け取ったメッセージに含まれるデータは前記受信テーブルに格納し、
前記メッセージ管理部は、前記メッセージ送受部から受け取ったメッセージを他のタスクグループのメッセージ送受部に渡すことを特徴とするデータ共有装置。 - 請求項1記載のデータ共有装置であって、
各タスクグループには実行周期が定められており、
前記タスクグループ実行部は、当該タスクグループの実行周期毎に前記一以上のタスクを順次実行することを特徴とするデータ共有装置。 - 請求項2記載のデータ共有装置であって、
各タスクグループは、本テーブルで管理されるデータのうちデータ更新と同じ実行周期で他のタスクグループへ送信される第一種別のデータと、データ更新と同じ実行周期で他のタスクグループへ送信される必要のない第二種別のデータとを分けて管理しており、
各タスクグループは、前記第二種別のデータについて、他のタスクグループへ送信されるデータを格納する送信テーブルを更に有しており、
前記タスクグループ実行部は、前記一以上のタスクの実行が完了した後に、前記第一種別のデータについては前記本テーブルの内容を有するメッセージを前記メッセージ送受部に渡し、前記第二種別のデータについては前記受信テーブルの内容を有するメッセージを前記メッセージ送受部に渡すことを特徴とするデータ共有装置。 - 請求項3記載のデータ共有装置であって、
各タスクグループには、一回の実行周期で送信可能な第二種別のデータの上限が定められていることを特徴とするデータ共有装置。 - 請求項3記載のデータ共有装置であって、
前記送信テーブルおよび前記受信テーブルには各々、データ毎に通番が割り振られており、
前記タスクグループ実行部は、前記第二種別のデータについて前記通番に基づいて受信したデータに抜けがあると判断した場合に、再送要求メッセージを前記メッセージ送受部へ渡すことを特徴とするデータ共有装置。 - 請求項1記載のデータ共有装置であって、
更に、前記メッセージ管理部から受け取ったメッセージをネットワークを介して他のデータ共有装置のメッセージ管理部へ渡す通信部を有することを特徴とするデータ共有装置。 - 複数の業務アプリケーション間でデータを共有するデータ共有装置におけるデータ共有方法であって、
前記データ共有装置は、
業務アプリケーション毎に構成されたタスクグループと、
複数のタスクグループ間でのメッセージの送受信を実行するメッセージ管理部を有しており、
各タスクグループは、
業務アプリケーションの処理を実行する一以上のタスクと、
前記一以上のタスクが読み書きするデータが格納される本テーブルと
他のタスクグループから受信し、前記本テーブルへ反映されるデータが格納される受信テーブルと、
タスクグループ実行部と、
メッセージ送受部を有しており、
前記タスクグループ実行部は、前記受信テーブルに格納されているデータを前記本テーブルに格納した後に、タスクグループの一以上のタスクを順次実行し、当該一以上のタスクの実行が完了した後に前記本テーブルの内容を有するメッセージを前記メッセージ送受部に渡し、
前記メッセージ送受部は、前記タスクグループ実行部から受け取ったメッセージは前記メッセージ管理部へ渡し、前記メッセージ管理部から受け取ったメッセージに含まれるデータは前記受信テーブルに格納し、
前記メッセージ管理部は、前記メッセージ送受部から受け取ったメッセージを他のタスクグループのメッセージ送受部に渡すことを特徴とするデータ共有方法。 - 請求項7記載のデータ共有方法であって、
各タスクグループには実行周期が定められており、
前記タスクグループ実行部は、当該タスクグループの実行周期毎に前記一以上のタスクを順次実行することを特徴とするデータ共有方法。 - 請求項8記載のデータ共有方法であって、
各タスクグループは、本テーブルで管理されるデータのうちデータ更新と同じ実行周期で他のタスクグループへ送信される第一種別のデータと、データ更新と同じ実行周期で他のタスクグループへ送信される必要のない第二種別のデータとを分けて管理しており、
各タスクグループは、前記第二種別のデータについて、他のタスクグループへ送信されるデータを格納する送信テーブルを更に有しており、
前記タスクグループ実行部は、前記一以上のタスクの実行が完了した後に、前記第一種別のデータについては前記本テーブルの内容を有するメッセージを前記メッセージ送受部に渡し、前記第二種別のデータについては前記受信テーブルの内容を有するメッセージを前記メッセージ送受部に渡すことを特徴とするデータ共有方法。 - 請求項9記載のデータ共有方法であって、
各タスクグループには、一回の実行周期で送信可能な第二種別のデータの上限が定められていることを特徴とするデータ共有方法。 - 請求項9記載のデータ共有方法であって、
前記送信テーブルおよび前記受信テーブルには各々、データ毎に通番が割り振られており、
前記タスクグループ実行部は、前記第二種別のデータについて前記通番に基づいて受信したデータに抜けがあると判断した場合に、再送要求メッセージを前記メッセージ送受部へ渡すことを特徴とするデータ共有方法。 - 請求項7記載のデータ共有方法であって、
更に、前記メッセージ管理部から受け取ったメッセージを、ネットワークを介して他のデータ共有装置のメッセージ管理部へ渡す通信部を有することを特徴とするデータ共有方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011-191255 | 2011-09-02 | ||
JP2011191255A JP2013054477A (ja) | 2011-09-02 | 2011-09-02 | データ共有装置およびデータ共有方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013031286A1 true WO2013031286A1 (ja) | 2013-03-07 |
Family
ID=47755804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/060759 WO2013031286A1 (ja) | 2011-09-02 | 2012-04-20 | データ共有装置およびデータ共有方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2013054477A (ja) |
WO (1) | WO2013031286A1 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05225027A (ja) * | 1992-02-14 | 1993-09-03 | Hitachi Ltd | 分散システムのデータ管理方法及び装置 |
JPH0667899A (ja) * | 1992-08-18 | 1994-03-11 | Fujitsu Ltd | タスクスケジューリング装置の複数タスク周期起動方法 |
JP2002297432A (ja) * | 2001-03-30 | 2002-10-11 | Toshiba Corp | 分散処理型データベース管理システム |
JP2010122724A (ja) * | 2008-11-17 | 2010-06-03 | Fujitsu Ltd | データ共有プログラム,データ共有方法及びデータ共有装置 |
JP2010271952A (ja) * | 2009-05-21 | 2010-12-02 | Toshiba Corp | 分散型制御システムのデータ管理装置 |
-
2011
- 2011-09-02 JP JP2011191255A patent/JP2013054477A/ja not_active Withdrawn
-
2012
- 2012-04-20 WO PCT/JP2012/060759 patent/WO2013031286A1/ja active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05225027A (ja) * | 1992-02-14 | 1993-09-03 | Hitachi Ltd | 分散システムのデータ管理方法及び装置 |
JPH0667899A (ja) * | 1992-08-18 | 1994-03-11 | Fujitsu Ltd | タスクスケジューリング装置の複数タスク周期起動方法 |
JP2002297432A (ja) * | 2001-03-30 | 2002-10-11 | Toshiba Corp | 分散処理型データベース管理システム |
JP2010122724A (ja) * | 2008-11-17 | 2010-06-03 | Fujitsu Ltd | データ共有プログラム,データ共有方法及びデータ共有装置 |
JP2010271952A (ja) * | 2009-05-21 | 2010-12-02 | Toshiba Corp | 分散型制御システムのデータ管理装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2013054477A (ja) | 2013-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11971905B2 (en) | Systems and methods for synchronizing nodes of a robotic system | |
US9800515B2 (en) | Mechanism for controlling a process on a computing node based on the participation status of the computing node | |
US9888048B1 (en) | Supporting millions of parallel light weight data streams in a distributed system | |
CN112069265B (zh) | 配置数据的同步方法、业务数据系统、计算机系统和介质 | |
CN111813868B (zh) | 数据同步方法及装置 | |
CN108513145A (zh) | 一种连麦直播的控制方法及装置 | |
US10817512B2 (en) | Standing queries in memory | |
CN112817992B (zh) | 执行更改任务的方法、装置、电子设备以及可读存储介质 | |
CN113076186B (zh) | 任务处理的方法、装置、电子设备和存储介质 | |
WO2013031286A1 (ja) | データ共有装置およびデータ共有方法 | |
CN111475537A (zh) | 基于pulsar的全球数据同步系统 | |
US20140228984A1 (en) | Program creation device and programmable logic controller | |
JP2009157786A (ja) | メッセージ送信制御方法、メッセージ送信制御装置、及びメッセージ送信制御プログラム | |
JP2008276553A (ja) | データベース等価システムおよびデータベース等価方法 | |
JP6169485B2 (ja) | 分散処理システム | |
JP2005092872A (ja) | サービス処理システムおよびその処理方法並びにその処理プログラム | |
US11277473B1 (en) | Coordinating breaking changes in automatic data exchange | |
US20240020314A1 (en) | Database data replication tool | |
US20230409375A1 (en) | Batch processing tracking | |
JP2010039840A (ja) | データ配信システム | |
JP2017058923A (ja) | ログ記録システム | |
US10860568B2 (en) | External data source linking to queries in memory | |
JP2014059706A (ja) | データ配布システムとその配布方法、中継管理装置とその制御方法およびプログラム、クライアント装置とその制御方法およびプログラム | |
JP2024107523A (ja) | データ処理方法及びデータ処理装置 | |
JP2017034434A (ja) | 通信制御装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12828025 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 12828025 Country of ref document: EP Kind code of ref document: A1 |