The contents of the following Japanese patent application(s) are incorporated herein by reference:
The present invention relates to a data management system and a data management method.
Patent document 1 describes that “a data management apparatus 1 is configured to delete sensor data according to a saving priority order . . . ”.
Hereinafter, the present invention is described through the embodiments of the invention. However, the embodiments described below do not limit the invention defined in the claims. Also, all combinations of features described in the embodiments are not necessarily essential to solutions of the invention.
In the present embodiment, an example is shown where the data management system 100 is configured to manage measurement data acquired from a plurality of sensors provided in a plant. However, it is not limited thereto. The data management system 100 may be configured to manage data from sensors provided in any different places from the plant.
The data management system 100 may be a computer such as a PC (personal computer), a tablet computer, a smartphone, a workstation, a server computer, or a general purpose computer, or may be a computer system in which a plurality of computers are connected to each other. Such computer system is also a computer in a broad sense. Moreover, the data management system 100 may be implemented by one or plurality of virtual computer environments that can be executed in a computer. Instead, the data management system 100 may be a dedicated computer designed for management of data, or may be a dedicated hardware implemented by a dedicated circuit. Moreover, when the data management system 100 can be connected to the Internet, the data management system 100 may be implemented by a cloud computing.
The data management system 100 includes a data acquiring unit 110, a data storage unit 120, a priority setting unit 130, a data selecting unit 140, and a data deleting unit 150. Note that each of these blocks is a functional block functionality separated, and may not necessarily be consistent with an actual device configuration. That is, even if shown as one block in
The data acquiring unit 110 is configured to acquire, from each of the plurality of sensors, measurement data generated by measuring a measurement target. As an example, the data acquiring unit 110 may be a communication unit and, for example, is configured to acquire the measurement data from each of the plurality of sensors in time series, via a communication network.
Such communication network may be a network connecting a plurality of computers. For example, the communication network may be a global network interconnecting a plurality of computer networks, and, as an example, the communication network may be the Internet using the Internet Protocol or the like. Instead, the communication network may be implemented by a dedicated line.
Note that, in the above description, an example is shown where the data acquiring unit 110 is configured to acquire the measurement data from each of the plurality of sensors via the communication network, but it is not limited thereto. For example, the data acquiring unit 110 may be configured to acquire the measurement data from each of the plurality of sensors via other means that is different from the communication network, such as a user input or various types of memory device.
Such plurality of sensors here can acquire measurement data generated by measuring a measurement target. For example, the plurality of sensors may be sensors (for example, process control (measuring) sensor) installed in an OT (Operational Technology) region or IoT (Internet of Things) sensors, and, as an example, may be industrial sensors connected with or integrally configured with one or plurality of field devices provided in the plant.
Such plant here may be, for example, besides an industrial plant such as a chemical plant, a plant for managing and controlling a wellhead or its surrounding area of a gas field, an oil field or the like, a plant for managing and controlling power generation such as hydraulic power generation, thermal power generation and nuclear power generation, a plant for managing and controlling energy harvesting such as solar photovoltaic generation, wind power generation or the like, and a plant for managing and controlling water and sewerage, a dam or the like.
Moreover, a field device provided in such plant may be, for example, a pressure gauge, a flow meter, a sensor device such as a temperature sensor, a valve device such as a flow control valve or an on-off valve, an actuator device such as a fan or a motor, an imaging device such as a camera or a video camera for capturing a situation or an object in the plant, an audio device such as a microphone or a speaker for collecting noises or the like in the plant or emitting an alarm or the like, and a location detection device for outputting location information of each device, or the like.
Therefore, the data acquiring unit 110 may acquire from each of the plurality of field devices or the like, as the measurement data, for example, measurement data generated by measuring by the sensor itself or measurement data measured in field devices such as a temperature, pressure, a fluid flow, acceleration, a magnetic field, a location, a camera image, switching on/off data, a sound, and any combination thereof. Moreover, the data acquiring unit 110 may acquire, as the measurement data, a value generated by using a formula based on these data. The data acquiring unit 110 is configured to supply the measurement data acquired from each of the plurality of sensors to the data storage unit 120.
The data storage unit 120 is configured to record the measurement data. The data storage unit 120 may be configured to record for each sensor in time series the measurement data from the plurality of sensors supplied from the data acquiring unit 110.
The priority setting unit 130 may be able to access the data storage unit 120, and is configured to view the measurement data from the plurality of sensors recorded in the data storage unit 120. Then, the priority setting unit 130 is configured to set a priority to be given to each of the plurality of sensors, based on the measurement data acquired from each of the plurality of sensors. This will be described below. The priority setting unit 130 is configured to supply information related to the set priority to the data selecting unit 140.
The data selecting unit 140 is configured to refer to information related to the priority supplied from the priority setting unit 130, when deleting the measurement data recorded in the data storage unit 120. Then, the data selecting unit 140 is configured to select data to be deleted from among the measurement data, according to the priority for each of the plurality of sensors. For example, the data selecting unit 140 may preferentially select the measurement data acquired from a sensor with a low priority as the data to be deleted. The data selecting unit 140 is configured to supply information related to the selected data to be deleted to the data deleting unit 150.
The data deleting unit 150 is configured to refer to the information related to the data to be deleted supplied from the data selecting unit 140. Then, the data deleting unit 150 is configured to delete the measurement data selected as the data to be deleted among the measurement data recorded in the data storage unit 120.
However, it is not limited thereto. The data management system 100 may manage measurement data from more than four sensors, or may manage measurement data from one or less than four sensors.
The types of the plurality of sensors here may be each the same. That is, all of the sensor A to the sensor D may be able to acquire measurement data of the same type (for example, a temperature or the like). Instead, the types of the plurality of sensors may be partly or wholly different. That is, some of the sensor A to the sensor D may be able to acquire measurement data of different types (for example, a temperature and pressure or the like), and all of the sensor A to the sensor D may be able to acquire measurement data of different types (a temperature, pressure, a fluid flow, and acceleration or the like).
For example, the data management system 100 according to the present embodiment is configured to acquire and record the measurement data as shown in
At Step 310, the data management system 100 acquires, from each of the plurality of sensors, measurement data generated by measuring a measurement target. As an example, the data acquiring unit 110 acquires the measurement data from each of the plurality of sensors (for example, the sensor A, the sensor B, the sensor C, and the sensor D) in time series, via a communication network. The data acquiring unit 110 supplies the measurement data acquired from each of the plurality of sensors to the data storage unit 120.
At Step 320, the data management system 100 records the measurement data. As an example, the data storage unit 120 records, for each sensor in time series, the measurement data acquired from each of the plurality of sensors at Step 310.
At Step 330, the data management system 100 sets a priority to be given to each of the plurality of sensors, based on the measurement data acquired from each of the plurality of sensors. As an example, the priority setting unit 130 accesses the data storage unit 120, and views the measurement data from the plurality of sensors recorded at Step 320. Then, the priority setting unit 130 analyzes the measurement data for each sensor, and set a priority to be given to each of the plurality of sensors based on the analyzed result.
As an example, the priority setting unit 130 calculates, for each of the plurality of sensors, a variance of the measurement data during a predetermined period, and sets a sensor having a smaller variance to be given a lower priority than a sensor having a greater variance. More specifically, for example, the priority setting unit 130 calculates, for each sensor, the variance of the measurement data by averaging the square of the difference between the individual data and the mean value during the predetermined period. Then, for example, when the sensor D has the greatest variance, and the sensor B has the second greatest variance, and the sensor A has the third greatest variance, and the sensor C has the smallest variance of the measurement data, the priority setting unit 130 sets the sensor D to be given a priority 1, the sensor B to be given a priority 2, the sensor A to be given a priority 3, and the sensor C to be given a priority 4. Note that here the priority 1 is the highest priority and the priority 4 is the lowest priority.
Instead, the priority setting unit 130 may calculate, for each of the plurality of sensors, a variation of the measurement data during the predetermined period, and set a sensor having a smaller variation to be given a lower priority than a sensor having a greater variation. More specifically, for example, the priority setting unit 130 calculates, for each sensor, the variation (coefficient of variation) of the measurement data by dividing the standard deviation of the individual data during the predetermined period by the mean value. Then, for example, when the sensor A has the greatest variation, the sensor D has the second greatest variation, the sensor B has the third greatest variation, and the sensor C has the smallest variation of the measurement data, the priority setting unit 130 may set the sensor A to be given a priority 1, the sensor D to be given a priority 2, the sensor B to be given a priority 3, and the sensor C to be given a priority 4.
Note that, in the above description, an example is shown where the priority setting unit 130 is configured to set the priority based on the variance or variation of the measurement data, but it is not limited thereto. The priority setting unit 130 may set a priority, based on any index that can be calculated from the measurement data such as the maximum value, the minimum value and a range (the difference between the maximum value and the minimum value), for example. Moreover, in the above description, an example is shown where the priority setting unit 130 is configured to set the priority based on one index calculated from the measurement data, but it is not limited thereto. The priority setting unit 130 may set the priority based on a scored value obtained by combining a plurality of indices. The priority setting unit 130 supplies information related to the set priority to the data selecting unit 140.
At Step 340, the data management system 100 determines whether the total capacity of the measurement data recorded in the data storage unit 120 at Step 320 is equal to or lower than a predetermined threshold (upper limit value). When it is determined that the total capacity of the measurement data is equal to or lower than the predetermined threshold, the data management system 100 ends the flow.
On the other hand, when it is determined that the total capacity of the measurement data exceeds the predetermined threshold at Step 340, the data management system 100 selects data to be deleted at Step 350. As an example, the data selecting unit 140 refers to information related to the priority set at Step 330 and selects the data to be deleted from among the measurement data according to the priority for each of the plurality of sensors. In doing so, the data selecting unit 140 may preferentially select, as the data to be deleted, the measurement data acquired from a sensor with a lower priority, for example, the sensor C for which the priority 4 is set. The data selecting unit 140 supplies information related to the selected data to be deleted to the data deleting unit 150.
At Step 360, the data management system 100 deletes the data to be deleted. As an example, the data deleting unit 150 deletes the measurement data selected as the data to be deleted at Step 350, among the measurement data recorded at Step 320.
Then, the data management system 100 returns the process to Step 340. That is, at Step 340, the data management system 100 determines again whether the total capacity of the measurement data after deleting the data to be deleted at Step 360 is equal to or lower than the predetermined threshold. When it is determined that the total capacity of the measurement data still exceeds the predetermined threshold at Step 340, the data management system 100 selects data to be deleted again at Step 350. As an example, the data selecting unit 140 may refer to information related to the priority set at Step 330, and select, as the data to be deleted, the measurement data acquired from a sensor having the second lowest priority, for example, a sensor for which the priority 3 is set. Then, at Step 360, the data management system 100 deletes the measurement data acquired from the sensor for which the priority 3 is set. The data management system 100 repeats such process until the total capacity of the measurement data becomes equal to or lower than the predetermined threshold.
It is expected that an amount of data will explosively increase, for example, when a process control system in the OT (Operational Technology) region is coupled to a system in the IT (Information Technology) region or the like. In such situation, recording all of the data is not realistic, and reducing the amount of data or selecting and discarding the data is required. Conventionally, a data management apparatus for deleting sensor data according to a saving priority order is known. In the data management apparatus, an evaluation index is calculated by using the sensor data, and, at a point where a degree of change of the evaluation index is large, the saving priority order of the sensor data is raised so that the sensor data is not easily deleted and, at a point where the degree of change is small, the saving priority order of the sensor data is lowered so that the sensor data is easily deleted. That is, the conventional data management apparatus focuses on one sensor data and is configured to preferentially delete, among the sensor data in time series, sensor data in a period where the degree of change is small than sensor data in a period where the degree of change is large. However, the conventional data management apparatus cannot delete sensor data by a unit of sensor.
In contrast, the data management system 100 according to the present embodiment is configured to set a priority to be given to each of the plurality of sensors based on the measurement data acquired from each of the plurality of sensors, and selectively delete the measurement data according to the priority for each sensor. Thus, the data management system 100 according to the present embodiment can selectively delete measurement data from a sensor with a low priority, and more efficiently leave measurement data from a sensor with a high priority on record.
Moreover, the data management system 100 according to the present embodiment is configured to set a sensor having a smaller variance of measurement data to be given a lower priority than a sensor having a greater variance. Thus, the data management system 100 according to the present embodiment can, for example, when the data management system 100 acquired measurement data from each of a plurality of sensors of the same type, preferentially delete the measurement data from a sensor which has a small dispersion and is expected to have no high importance (user's interest is low) among the plurality of sensors.
Note that, when the types of the plurality of sensors are each different, the measurement data from the plurality of sensors each have different units and sizes. Then, for example, a data group having larger values for the individual data, i.e. having a larger mean value, may have a greater variance than a data group having a smaller mean value. In such case, analyzing the dispersion for each sensor data using the variance is not necessarily effective. In contrast, the data management system 100 according to the present embodiment is configured to set a sensor having a smaller variation of the measurement data to be given a lower priority than a sensor having a greater variation. Thus, the data management system 100 according to the present embodiment can, for example, even when the data management system 100 acquired measurement data from each of a plurality of sensors of the different types, preferentially delete the measurement data from a sensor which has a relatively small dispersion and is expected to have no high importance among the plurality of sensors.
Note that, in the above description, an example is shown where the priority setting unit 130 is configured to set the priority based on a statistics (the variance or variation) of the measurement data from the plurality of sensors. However, it is not limited thereto. The priority setting unit 130 may calculate, for each of the plurality of sensors, the difference between estimation data estimated and the measurement data, and set a sensor having a smaller difference to be given a lower priority than a sensor having a greater difference.
As an example, the priority setting unit 130 may estimate, for each of the plurality of sensors, the next data from data obtained in the past. For example, the priority setting unit 130 may estimate a value of the next data by adding the difference between the preceding data and the current data to the current data. Moreover, the priority setting unit 130 may estimate a value of the next data by focusing on a periodicity of the data obtained in the past. Then, the priority setting unit 130 may calculate, for each of the plurality of sensors, the difference between estimation data thus estimated and the measurement data actually obtained, and set a sensor having a smaller difference to be given a lower priority than a sensor having a greater difference.
Moreover, the priority setting unit 130 may estimate, for each of the plurality of sensors, a value of data of a target sensor from data obtained from other sensors. The measurement data from the plurality of sensors may have mutual dependency. For example, there is a case where a value of pressure data can be estimated to some extent from fluid flow data and temperature data obtained at surrounding locations. Therefore, for example, the priority setting unit 130 may estimate a value of data of a target sensor from values of one or plurality of sensors at locations surrounding the target sensor, by interpolating the values of the sensors. Then, the priority setting unit 130 may calculate, for each of the plurality of sensors, the difference between estimation data thus estimated and the measurement data actually obtained, and set a sensor having a smaller difference to be given a lower priority than a sensor having a greater difference.
Moreover, the priority setting unit 130 may estimate, for each of the plurality of sensors, a value of data of a target sensor from a simulated result. For example, the priority setting unit 130 is configured to acquire, for each of the plurality of sensors, data estimated with high accuracy by using a simulator (not shown). Then, the priority setting unit 130 may calculate, for each of the plurality of sensors, the difference between estimation data thus estimated and the measurement data actually obtained, and set a sensor having a smaller difference to be given a lower priority than a sensor having a greater difference.
In this manner, the data management system 100 according to the present embodiment may preferentially delete the measurement data from a sensor having a smaller difference between the estimation data and the measurement data than the measurement data from a sensor having a greater difference. Thus, the data management system 100 according to the present embodiment can preferentially delete the measurement data from a sensor that is easily estimated (that can be estimated with high accuracy) among the plurality of sensors.
At Step 410, the data management system 100 sets a priority to be given to each of the plurality of sensors. Step 410 is the same process as the Step 330 and therefore its description is omitted.
At Step 420, the data management system 100 determines whether a predetermined event has occurred. As an example, the data management system 100 determines whether the predetermined event has occurred, according to whether an abnormality has occurred in the measurement target. For example, the data management system 100 may determine that the predetermined event has occurred when the data management system 100 receives, from a user or another system, an indicator indicating an abnormality has occurred. Instead, the data management system 100 may spontaneously determine that an abnormality has occurred from measurement data acquired from the plurality of sensors. In this case, for example, the data management system 100 may determine that an abnormality has occurred in the measurement target when the data management system 100 calculates a Mahalanobis distance by MT (Maharanobis-Taguchi) method from the measurement data acquired from the plurality of sensors and the Mahalanobis distance exceeds a predetermined threshold.
When it is determined that the predetermined event has occurred at Step 420, the data management system 100 updates the priority at Step 430. That is, the priority setting unit 130 dynamically updates the priority for each of the plurality of sensors. In doing so, the priority setting unit 130 may be configured to change the criterion for setting the priority before or after the occurrence of the event. For example, when the measurement target is in a normal state, a single change in the measurement data is unlikely to be a noise. On the other hand, when the measurement target is in an abnormal state, a continuous change in the measurement data may be likely to be important data. In this manner, the importance of the measurement data may change before or after the occurrence of the event. Therefore, it is preferable that the priority setting unit 130 changes the criterion for setting a high priority for what sensor before or after the occurrence of the event. Note that, in the above description, an example is shown where the data management system 100 is configured to update the priority when an abnormality has occurred in the measurement target, but it is not limited thereto. For example, the data management system 100 may update the priority when any of various events has occurred, such as when the data management system 100 receives a priority update request from the user or another system, when a disaster such as an earthquake has occurred, and when raw materials are changed. Thus, the data management system 100 can change the priority according to a condition such as the difference of raw materials (for example, oil fields).
When it is determined that the predetermined event has not occurred at Step 420, the data management system 100 determines whether it is a predetermined update timing at Step 440. As an example, the data management system 100 may determine whether it is the update timing according to whether the elapsed time since the previous setting of the priority exceeds a predetermined time.
When it is determined that it is not the predetermined update timing at Step 440, the data management system 100 returns the process to Step 420 and continues the flow. On the other hand, when it is determined that it is the predetermined update timing at Step 440, the data management system 100 updates the priority at Step 430. Note that, also in this case, the priority setting unit 130 may change the criterion for setting the priority before or after the update timing. That is, the priority setting unit 130 may change the criterion for setting the priority according to the lapse of time. Thus, the data management system 100 can periodically change the priority every fixed period, or, for example, can change the priority by any time (for example, by day and by night).
In this manner, the data management system 100 according to the present embodiment dynamically updates the priority for each of the plurality of sensors. Thus, the data management system 100 according to the present embodiment can update the priority according to occurrence of any of various events or periodically.
In the above description, an example is shown where the data management system 100 is configured to completely delete the data to be deleted from the storage area in the system. However, it is not limited thereto.
In the data management system 100 according to the present variant, the data acquiring unit 110 is configured to supply the measurement data acquired from each of the plurality of sensors to the data accumulating unit 510 instead of the data storage unit 120.
The data accumulating unit 510 is configured to accumulate the measurement data. As an example, the data accumulating unit 510 may be configured to record, for each sensor in time series, all of the measurement data supplied from the data acquiring unit 110. Then, the data accumulating unit 510 is configured to supply, among the accumulated measurement data, target measurement data to be sent to another system or apparatus to the data storage unit 120. Note that such target to be sent may be selected based on a user input or may be automatically selected by the data management system 100, for example.
Therefore, in the data management system 100 according to the present variant, the data storage unit 120 is configured to record, among the measurement data acquired from each of the plurality of sensors, target measurement data to be sent to another system or apparatus.
Moreover, in the data management system 100 according to the present variant, the data deleting unit 150 is configured to delete, among the target measurement data to be sent that are recorded in the data storage unit 120, measurement data selected as data to be deleted.
Then, the data sending unit 520 is configured to send the measurement data recorded in the data storage unit 120 after deleting the data to be deleted, i.e., the target measurement data to be sent from which the data to be deleted is deleted, to another system or apparatus via a network or the like.
In this manner, the data management system 100 according to the present variant is configured to delete the data to be deleted from the target measurement data to be sent. Thus, the data management system 100 according to the present variant can reduce an amount of data to be sent from the data management system 100, for example, when sending the measurement data from the OT region to the IT region. That is, in the data management system 100 according to the present embodiment, deleting the data to be deleted may include, in a broad sense, besides completely deleting the data to be deleted from the storage area, excluding the data to be deleted from the target to be sent to another system or apparatus.
Various embodiments of the present invention may be described with reference to flowcharts and block diagrams whose blocks may represent (1) steps of processes in which operations are performed or (2) sections of devices responsible for performing operations. Certain steps and sections may be implemented by dedicated circuitry, programmable circuitry supplied with computer readable instructions stored on computer readable media, and/or processors supplied with computer readable instructions stored on computer readable media. Dedicated circuitry may include digital and/or analog hardware circuits and may include integrated circuits (IC) and/or discrete circuits. Programmable circuitry may include reconfigurable hardware circuits comprising logical AND, OR, XOR, NAND, NOR, and other logical operations, flip-flops, registers, memory elements, etc., such as field-programmable gate arrays (FPGA), programmable logic arrays (PLA), etc.
Computer readable media may include any tangible device that can store instructions for execution by a suitable device, such that the computer readable medium having instructions stored therein comprises an article of manufacture including instructions which can be executed to create means for performing operations specified in the flowcharts or block diagrams. Examples of computer readable media may include an electronic storage medium, a magnetic storage medium, an optical storage medium, an electromagnetic storage medium, a semiconductor storage medium, etc. More specific examples of computer readable media may include a Floppy (registered trademark) disk, a diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an electrically erasable programmable read-only memory (EEPROM), a static random access memory (SRAM), a compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a Blu-ray (registered trademark) disc, a memory stick, an integrated circuit card, etc.
Computer readable instructions may include assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk (registered trademark), JAVA (registered trademark), C++, etc., and conventional procedural programming languages, such as the “C” programming language or similar programming languages.
Computer readable instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, or to programmable circuitry, locally or via a local area network (LAN), a wide area network (WAN) such as the Internet, etc., to execute the computer readable instructions to create means for performing operations specified in the flowcharts or block diagrams. Examples of processors include computer processors, processing units, microprocessors, digital signal processors, controllers, microcontrollers, etc.
The computer 2200 according to the present embodiment includes the CPU 2212, a RAM 2214, a graphics controller 2216, and a display device 2218, which are mutually connected by a host controller 2210. The computer 2200 also includes input/output units such as a communication interface 2222, a hard disk drive 2224, a DVD-ROM drive 2226 and an IC card drive, which are connected to the host controller 2210 via an input/output controller 2220. The computer also includes legacy input/output units such as a ROM 2230 and a keyboard 2242, which are connected to the input/output controller 2220 through an input/output chip 2240.
The CPU 2212 operates according to programs stored in the ROM 2230 and the RAM 2214, thereby controlling each unit. The graphics controller 2216 obtains image data generated by the CPU 2212 on a frame buffer or the like provided in the RAM 2214 or in itself, and causes the image data to be displayed on the display device 2218.
The communication interface 2222 communicates with other electronic devices via a network. The hard disk drive 2224 stores programs and data used by the CPU 2212 within the computer 2200. The DVD-ROM drive 2226 reads the programs or the data from the DVD-ROM 2201, and provides the hard disk drive 2224 with the programs or the data via the RAM 2214. The IC card drive reads programs and data from an IC card, and/or writes programs and data into the IC card.
The ROM 2230 stores therein a boot program or the like executed by the computer 2200 at the time of activation, and/or a program depending on the hardware of the computer 2200. The input/output chip 2240 may also connect various input/output units via a parallel port, a serial port, a keyboard port, a mouse port, and the like to the input/output controller 2220.
A program is provided by computer readable media such as the DVD-ROM 2201 or the IC card. The program is read from the computer readable media, installed into the hard disk drive 2224, RAM 2214, or ROM 2230, which are also examples of computer readable media, and executed by the CPU 2212. The information processing described in these programs is read into the computer 2200, resulting in cooperation between a program and the above-mentioned various types of hardware resources. An apparatus or method may be constituted by realizing the operation or processing of information in accordance with the usage of the computer 2200.
For example, when communication is performed between the computer 2200 and an external device, the CPU 2212 may execute a communication program loaded onto the RAM 2214 to instruct communication processing to the communication interface 2222, based on the processing described in the communication program. The communication interface 2222, under control of the CPU 2212, reads transmission data stored on a transmission buffering region provided in a recording medium such as the RAM 2214, the hard disk drive 2224, the DVD-ROM 2201, or the IC card, and sends the read transmission data to a network or writes reception data received from a network to a reception buffering region or the like provided on the recording medium.
In addition, the CPU 2212 may cause all or a necessary portion of a file or a database to be read into the RAM 2214, the file or the database having been stored in an external recording medium such as the hard disk drive 2224, the DVD-ROM drive 2226 (DVD-ROM 2201), the IC card, etc., and perform various types of processing on the data on the RAM 2214. The CPU 2212 may then write back the processed data to the external recording medium.
Various types of information, such as various types of programs, data, tables, and databases, may be stored in the recording medium to undergo information processing. The CPU 2212 may perform various types of processing on the data read from the RAM 2214, which includes various types of operations, processing of information, condition judging, conditional branch, unconditional branch, search/replace of information, etc., as described throughout this disclosure and designated by an instruction sequence of programs, and writes the result back to the RAM 2214. In addition, the CPU 2212 may search for information in a file, a database, etc., in the recording medium. For example, when a plurality of entries, each having an attribute value of a first attribute associated with an attribute value of a second attribute, are stored in the recording medium, the CPU 2212 may search for an entry matching the condition whose attribute value of the first attribute is designated, from among the plurality of entries, and read the attribute value of the second attribute stored in the entry, thereby obtaining the attribute value of the second attribute associated with the first attribute satisfying the predetermined condition.
The above-explained program or software modules may be stored in the computer readable media on or near the computer 2200. In addition, a recording medium such as a hard disk or a RAM provided in a server system connected to a dedicated communication network or the Internet can be used as the computer readable media, thereby providing the program to the computer 2200 via the network.
While the embodiments of the present invention have been described, the technical scope of the invention is not limited to the above described embodiments. It is apparent to persons skilled in the art that various alterations and improvements can be added to the above-described embodiments. It is also apparent from the scope of the claims that the embodiments added with such alterations or improvements can be included in the technical scope of the invention.
The operations, procedures, steps, and stages of each process performed by an apparatus, system, program, and method shown in the claims, embodiments, or diagrams can be performed in any order as long as the order is not indicated by “prior to,” “before,” or the like and as long as the output from a previous process is not used in a later process. Even if the process flow is described using phrases such as “first” or “next” in the claims for convenience, embodiments, or diagrams, it does not necessarily mean that the process must be performed in this order.
Number | Date | Country | Kind |
---|---|---|---|
2020-044562 | Mar 2020 | JP | national |