KR20180072995A - REAL TIME database apparatus and energy management system comprising the same - Google Patents

REAL TIME database apparatus and energy management system comprising the same Download PDF

Info

Publication number
KR20180072995A
KR20180072995A KR1020160176360A KR20160176360A KR20180072995A KR 20180072995 A KR20180072995 A KR 20180072995A KR 1020160176360 A KR1020160176360 A KR 1020160176360A KR 20160176360 A KR20160176360 A KR 20160176360A KR 20180072995 A KR20180072995 A KR 20180072995A
Authority
KR
South Korea
Prior art keywords
storage servers
information
server
measurement information
load
Prior art date
Application number
KR1020160176360A
Other languages
Korean (ko)
Inventor
최기태
Original Assignee
엘에스산전 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘에스산전 주식회사 filed Critical 엘에스산전 주식회사
Priority to KR1020160176360A priority Critical patent/KR20180072995A/en
Publication of KR20180072995A publication Critical patent/KR20180072995A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/06Energy or water supply

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Water Supply & Treatment (AREA)
  • Public Health (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Remote Monitoring And Control Of Power-Distribution Networks (AREA)

Abstract

The present invention relates to a database apparatus for real-time storing measurement information generated by a measurement apparatus provided in an energy management system (EMS), and a real-time database apparatus according to an embodiment of the present invention includes a ring- And a load distribution server for distributing the measurement information to the plurality of storage servers.

Description

REAL TIME DATABASE APPARATUS AND ENERGY MANAGEMENT SYSTEM CONTAINING THE SAME -

The present invention relates to a database apparatus for storing real-time data and an energy management system (EMS) including the same.

The Energy Management System (EMS) is intended to monitor the energy use of large physical facilities such as facilities or factories and to manage and analyze energy consumption based on monitoring results.

The general energy management system includes a measuring device disposed adjacent to the monitored device and a database device storing measurement information provided in real time from the measuring device.

Recently, as the application range of the energy management system is widening, the number of measurement apparatuses and the number of generation of measurement information by each measurement apparatus are increasing. As a result, as the size and the number of the measurement information increase, the load of the work of storing and inquiring the measurement information corresponding to the real-time database apparatus can be greatly increased. The overload of the real-time database device causes loss or damage of the measurement information, which may degrade the reliability of the energy management system.

The present invention provides a real-time database apparatus and an energy management system including the real-time database apparatus, which can prevent deterioration in performance due to overload even when real-time measurement data is increased.

The objects of the present invention are not limited to the above-mentioned objects, and other objects and advantages of the present invention which are not mentioned can be understood by the following description and more clearly understood by the embodiments of the present invention. It will also be readily apparent that the objects and advantages of the invention may be realized and attained by means of the instrumentalities and combinations particularly pointed out in the appended claims.

According to an aspect of the present invention, there is provided a database device for storing measurement information generated by a measurement device provided in an energy management system (EMS) in real time, A plurality of storage servers disposed at a plurality of nodes to which addresses are assigned, and a load distribution server for distributing the measurement information to the plurality of storage servers.

The load distribution server instructs a storage server having an identification address corresponding to a hash value of the measurement information among the plurality of storage servers to process the measurement information.

The load distribution server receives status information of each of the plurality of storage servers, distributes measurement information based on the status information, and the status information includes information on a load of each storage server.

At this time, the load distribution server detects an overloaded server having a load amount of a predetermined first threshold amount or more among the plurality of storage servers based on state information of each of the plurality of storage servers, and measures the overloaded server And instructs reproduction of at least part of the information.

Alternatively, the load distribution server further detects at least one low load server having a load of a predetermined second threshold amount or less among the plurality of storage servers, based on status information of each of the plurality of storage servers, And instructs at least one of the low load servers to replicate at least a part of the measurement information of the overload server.

According to another embodiment of the present invention, there is provided a measuring apparatus comprising: a measuring device for measuring a state of a monitoring object to generate a measured value; a data collecting device for collecting measured values from the measuring device and generating measurement information about the collected measured values; A plurality of storage servers that store the measurement information in real time and are arranged in a plurality of nodes to which an identification address based on a ring based hash table is assigned; and a load distribution server that distributes the measurement information to the plurality of storage servers And a real-time database device, including a real-time database device.

The real-time database device as described above includes a plurality of storage servers and a load distribution server that distributes measurement information to a plurality of storage servers, thereby preventing performance degradation and reliability degradation due to overload even if real-time measurement data is increased. An energy management system including such a real-time database device can also be prevented from degrading reliability.

1 is a diagram illustrating an energy management system according to an embodiment of the present invention.
Figure 2 is a diagram of the real-time database device of Figure 1;
3 illustrates a real-time database apparatus of FIG. 1 according to another embodiment of the present invention.

The above and other objects, features, and advantages of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings, which are not intended to limit the scope of the present invention. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the drawings, the same reference numerals are used to denote the same or similar elements.

Hereinafter, an energy management system and a real-time database apparatus provided therein according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

First, an energy management system according to an embodiment of the present invention will be described with reference to FIG.

1 is a diagram illustrating an energy management system according to an embodiment of the present invention.

1, the energy management system 10 according to the embodiment of the present invention includes a measurement device 11 for generating measurement information on each function of the monitored object 20, A data collection device 12 for collecting measurement information, and a real-time database device 13 for storing the collected measurement information in real time.

In addition, the energy management system 10 according to an embodiment of the present invention includes a non-real-time database device 14 for storing operation information based on information stored in the real-time database device 13, at least one of measurement information and operation information A control device 15 for outputting a control signal for controlling the monitoring target 20 on the basis of the control signal and a driving device 16 for controlling the driving of the monitoring target 20 based on the control signal.

Here, the real-time database device 13 stores the measurement information generated by the measurement device 11 in real time. In addition, the information stored in the real-time database device 13 can be inquired for backup using the non-real-time database device 14 and can be queried for control signal generation of the control device 15. [

The control device 15 inquires at least one of information stored in the real-time database device 13 and information stored in the non-real-time database device 14, and generates a control signal based on the inquired information.

The energy management system 10 measures each function of the monitored object 20 such as a power system and controls the driving of the monitored object 20 based on the measurement result.

On the other hand, as mentioned above, the real-time database device 13 stores the measurement information in real time and provides the measurement information stored based on the inquiry request of the non-real-time database device 14 or the control device 15. [ Accordingly, the real-time database device 13 has a load for carrying out an operation of storing information and a task of inquiring information. In particular, the greater the size of the information to be stored or inquired, or the greater the number of times the information is stored or the number of times the information is inquired, the overload of the real-time database apparatus 13 may occur. Due to such an overload, the performance of the real-time database device 13 is deteriorated, so that the measurement information may be lost or damaged, and the reliability of the energy management system may be limited.

Accordingly, one embodiment of the present invention provides a real-time database device 13 capable of performing multiple operations and preventing performance degradation due to overload.

Next, with reference to Fig. 2, the real-time database apparatus 13 according to an embodiment of the present invention will be described in more detail.

Figure 2 is a diagram of the real-time database device of Figure 1;

2, the real-time database device 13 according to the embodiment of the present invention includes identification addresses (IP_1, IP_2, IP_3, IP_4, ..., IP_n) based on the hash table of the ring base 110, A plurality of storage servers 121, 122, 123, 124, and 125 disposed in a plurality of nodes 111, 112, 113, 114, and 115 to which a plurality of nodes And a load distribution server 130 for distributing the measurement information m_data to the measurement devices 121, 122, 123, 124 and 125.

2, the measuring apparatus 11 includes first to m-th measurement modules 201, 202, and 203 (where m is a natural number of 3 or more) related to each function of the monitored object 20. Illustratively, examples of the measurement modules 201, 202, and 203 include a power sensor, a temperature sensor, an illuminance sensor, and a flow rate sensor.

The data collecting device 12 is connected to each of the measuring modules 201, 202 and 203 and collects measured values by the measuring modules 201, 202 and 203 in real time or periodically. For example, the data collection device 12 can generate measurement information (m_data) in the form of a data including a measurement module that generated the measurement value, a key value corresponding to the generation time of the measurement value, and a measurement value.

The load distribution server 130 of the real time database device 13 distributes the measurement information m_data provided from the data collection device 12 to the plurality of storage servers 121, 122, 123, 124 and 125.

The plurality of storage servers 121, 122, 123, 124, and 125 correspond to the plurality of nodes 111, 112, 113, 114, and 115. Identification addresses (IP_1, IP_2, IP_3, IP_4, ..., IP_n) existing in the hash table of the ring base 110 are given to the plurality of nodes 111, 112, 113, 114 and 115.

The plurality of storage servers 121, 122, 123, 124, and 125 may be implemented as databases of the same data processing method. For example, each of the plurality of storage servers 121, 122, 123, 124, and 125 may be implemented as either a relational database (RDB) or a NoSQL database.

The load distribution server 130 detects a hash value corresponding to the key value of the measurement information m_data and stores the hash value corresponding to the hash value of the measurement information m_data among the plurality of storage servers 121, 122, 123, 124, And instructs the storage server to perform processing such as storage or inquiry of the measurement information (m_data).

At this time, the load distribution server 130 receives the measurement information among the plurality of storage servers 121, 122, 123, 124, and 125 based on the inquiry request of any one of the non-real-time database device 14 and the controller 15 (m_data ') from the storage server corresponding to the hash value of the hash value (m_data).

In addition, the load distribution server 130 receives the status information s_data of each of the plurality of storage servers 121, 122, 123, and 124 and distributes the measurement information m_data based on the status information s_data. Here, the state information (s_data) of each storage server includes information on the load of each storage server. In one example, the state information (s_data) may include a size of each of the measurement information held in each storage server and a load based on the number of calls for storing or inquiring.

Then, the load distribution server 130 can process the data replication based on the load of each storage server.

Illustratively, the load distribution server 130 may be configured to determine a predetermined first one of the plurality of storage servers 121, 122, 123, 124 based on status information of each of the plurality of storage servers 121, 122, It is possible to detect an overload server having a load amount less than a critical amount. Here, the first threshold amount can be designated as a load amount that is high enough to cause errors such as loss of information or damage.

At this time, the load distribution server 130 may instruct at least one of the storage servers except for the overload server to replicate at least a part of the measurement information of the overload server. Thus, the measurement information of the overload server can be prevented from being lost.

The load distribution server 130 may store a predetermined second threshold amount or less of the plurality of storage servers 121, 122, 123, 124 on the basis of the status information of each of the plurality of storage servers 121, At least one low load server having a load of < / RTI > Illustratively, the second threshold amount may be designated as a low loading amount with a relatively high load amount. In one example, the second threshold amount may be designated as a value less than half of the total load amount.

At this time, the load distribution server 130 can instruct the low load server to replicate at least a part of the measurement information of the overload server. In particular, the load distribution server 130 may instruct replication to at least two low load servers for data security. As a result, the overload server can be prevented from being increased due to the duplication of the overload server.

In addition, the load distribution server 130 can detect the overload measurement information having the load applied to the overload server among the measurement information held in the overload server equal to or larger than a predetermined applied threshold amount, based on the state information of the overload server.

At this time, the load distribution server 130 can instruct to duplicate only the overload measurement information among the measurement information of the overload server.

The first storage server 121 is detected as an overloaded server and the first storage module 121 stored in the first storage server 121 is detected based on the status information s_data of the first storage server 121, Is detected as the overload measurement information and the second and third storage servers 122 and 123 are detected as low load servers based on the state information s_data of the second and third storage servers 122 and 123 The load distribution server 130 may duplicate the measurement information of the first measurement module 11 held in the first storage server 121 to each of the second and third storage servers 122 and 123 . In this case, since the measurement information having a high load is held in two or more storage servers, the load of each storage server can be distributed, so that the performance degradation of each storage server can be prevented, and the loss and damage of the measurement information can be reduced . Thus, the reliability of the real-time database device 13 can be improved.

As described above, the plurality of storage servers 121, 122, 123, 124, and 125 may be implemented as databases having the same data processing methods.

Alternatively, the plurality of storage servers 121, 122, 123, 124, and 125 may be implemented as two or more heterogeneous databases having different data processing schemes.

3 illustrates a real-time database apparatus of FIG. 1 according to another embodiment of the present invention.

As shown in FIG. 3, the first and second storage servers 121 and 122 are implemented as databases of the same data processing method, and the third and fourth storage servers 123 'and 124' And may be implemented as a database of a data processing method different from that of the second storage servers 121 and 122.

As an example, some of the plurality of storage servers 121, 122, 123 ', 124' may be implemented in a relational database (RDB), while others may be implemented in a NoSQL database.

The load distribution server 130 is configured to store the measurement information in a plurality of storage servers 121, 122, 123 ', and 124' implemented as heterogeneous databases of different data processing methods based on the data types and load amounts of the respective measurement information Can be distributed.

In addition, the load distribution server 130 may instruct the storage server (not shown) implemented as a data processing database suitable for backup to copy the overload measurement information.

3, the plurality of storage servers 121, 122, 123 'and 124' can perform different operations based on the control of the load distribution server 130. [

In one example, the first storage server 121 provides the first information m1_data1 of the first type according to a request of the load distribution server 130, and then provides the state information s_data. At the same time, the second storage server 122 stores the first information m1_data2 of the first type distributed from the load distribution server 130. [ The third storage server 123 'provides third information (m2_data3) of the second type at the request of the load distribution server 130. In addition, the fourth storage server 124 'stores the fourth type of information (m2_data4) of the second type distributed from the load distribution server 130. [

As described above, according to each embodiment of the present invention, the load distribution server 130 can simultaneously perform different operations concurrently with the plurality of storage servers 121, 122, 123, 123 ', 124, 124' So that the overload of each storage server can be prevented, thereby improving the performance and reliability of the real-time database device 13.

In addition, according to another embodiment of the present invention, since a plurality of storage servers implemented as a heterogeneous database are included, measurement information can be stored by designating a database of a data processing method suitable for the data type and the load, Can be carried out more efficiently.

While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, But the present invention is not limited thereto.

10: Energy management system
11: Measuring device
12: Data collecting device
13: Real-Time Database Device
111, 112, 113, 114, 115: a plurality of nodes
121, 122, 123, 124, 125: a plurality of storage servers
130: load distribution server

Claims (12)

A database device for storing measurement information generated by a measurement device provided in an energy management system (EMS) in real time,
A plurality of storage servers disposed in a plurality of nodes to which an identification address based on a ring-based hash table is assigned; And
And a load distribution server for distributing the measurement information to the plurality of storage servers.
The method according to claim 1,
Wherein the load distribution server instructs a storage server having an identification address corresponding to a hash value of the measurement information among the plurality of storage servers to process the measurement information.
The method according to claim 1,
Wherein the load distribution server receives status information of each of the plurality of storage servers, distributes the measurement information based on the status information,
Wherein the status information includes information about a load of each storage server.
The method of claim 3,
Wherein the load distribution server detects an overloaded server having a load amount of a predetermined first threshold amount or more among the plurality of storage servers based on state information of each of the plurality of storage servers, A real-time database device that directs at least some replication.
5. The method of claim 4,
Wherein the load distribution server further detects at least one low load server having a load smaller than a predetermined second threshold amount among the plurality of storage servers based on state information of each of the plurality of storage servers, And instructs at least one of the servers to replicate at least a portion of the measurement information of the overload server.
The method according to claim 1,
Wherein the plurality of storage servers are implemented as two or more databases having different data processing schemes,
Wherein the load distribution server distributes the measurement information to the plurality of storage servers based on a data type and a load amount of the measurement information.
The method according to claim 1,
Wherein some of the plurality of storage servers are implemented as a relational database and others are implemented as a NoSQL database.
A measuring device for measuring a state of a monitored object and generating a measured value;
A data collection device for collecting measurement values from the measurement device and generating measurement information about the collected measurement values; And
A plurality of storage servers that store the measurement information in real time and are arranged in a plurality of nodes to which an identification address based on a ring based hash table is assigned; and a load distribution server that distributes the measurement information to the plurality of storage servers Including a real-time database device.
9. The method of claim 8,
A non-real-time database device for storing operation information generated based on information stored in the real-time database device;
A control device for outputting a control signal for controlling the monitored object based on information stored in at least one of the real-time database device and the non-real-time database device; And
And a driving device for controlling the driving of the monitoring target based on the control signal.
10. The method of claim 9,
Wherein the load distribution server of the real time database device stores an identification address corresponding to a hash value of the measurement information among the plurality of storage servers in response to a request of either the data collection device, And instructs the storage server to store or process the measurement information.
10. The method of claim 9,
The load distribution server
Receiving status information including information on a load of each of the plurality of storage servers,
An overload server having a load amount greater than a predetermined first threshold amount and at least one low load server having a load amount equal to or smaller than a predetermined second threshold amount among the plurality of storage servers based on state information of each of the plurality of storage servers ,
And instructs at least one of the detected low load servers to replicate at least a part of the measurement information of the overload server.
9. The method of claim 8,
Wherein some of the plurality of storage servers are implemented as a relational database and others are implemented as a NoSQL database.
KR1020160176360A 2016-12-22 2016-12-22 REAL TIME database apparatus and energy management system comprising the same KR20180072995A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160176360A KR20180072995A (en) 2016-12-22 2016-12-22 REAL TIME database apparatus and energy management system comprising the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160176360A KR20180072995A (en) 2016-12-22 2016-12-22 REAL TIME database apparatus and energy management system comprising the same

Publications (1)

Publication Number Publication Date
KR20180072995A true KR20180072995A (en) 2018-07-02

Family

ID=62914154

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160176360A KR20180072995A (en) 2016-12-22 2016-12-22 REAL TIME database apparatus and energy management system comprising the same

Country Status (1)

Country Link
KR (1) KR20180072995A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200119404A (en) * 2019-03-28 2020-10-20 한국전자기술연구원 Method and System for Data Distribution Processing Management for Power-related Big Data Analysis in Heat Treatment Process
KR102274268B1 (en) * 2020-08-20 2021-07-07 주식회사 더키 Apparatus and method for managing energy using a plurality of database server
CN117997870A (en) * 2024-04-07 2024-05-07 浙江简捷物联科技有限公司 EMS northbound cloud platform docking method and device, electronic equipment and storage medium

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200119404A (en) * 2019-03-28 2020-10-20 한국전자기술연구원 Method and System for Data Distribution Processing Management for Power-related Big Data Analysis in Heat Treatment Process
KR102274268B1 (en) * 2020-08-20 2021-07-07 주식회사 더키 Apparatus and method for managing energy using a plurality of database server
CN117997870A (en) * 2024-04-07 2024-05-07 浙江简捷物联科技有限公司 EMS northbound cloud platform docking method and device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
CN109542961B (en) Data storage method, device, computer equipment and storage medium
US8185753B2 (en) Storage medium for storing power consumption monitor program, power consumption monitor apparatus and power consumption monitor method
CN102541667B (en) Method and system using hashing function to distinguish random and repeat errors in a memory system
CN108780386A (en) A kind of methods, devices and systems of data storage
CA2989467C (en) Early warning method and system for failure in converter valve
KR20180072995A (en) REAL TIME database apparatus and energy management system comprising the same
CN106685676B (en) Node switching method and device
US20140082273A1 (en) Content addressable storage in legacy systems
CN109032830A (en) A kind of fault recovery method of distributed memory system, system and associated component
CN104166589A (en) Heartbeat package processing method and device
CN107094143B (en) Method and device for detecting policy redundancy
CN105159603A (en) Repair method for distributed data storage system
CN103067525A (en) Cloud storage data backup method based on characteristic codes
US20160233957A1 (en) Optical power data processing method, device and computer storage medium
WO2016183967A1 (en) Failure alarm method and apparatus for key component, and big data management system
CN106095571B (en) More RAC group systems, data access method and device
CN104580381B (en) A kind of method that job task is performed in multinode network
EP3547102A1 (en) Object storage system with multi-level hashing function for storage address determination
CN105528373A (en) Database fault processing method, device, system and server
CN104679896A (en) Intelligent retrieval method under big data environment
CN114422325A (en) Content distribution network abnormity positioning method, device, equipment and storage medium
CN104283966A (en) Data distribution algorithm and device of cloud storage system
CN108519927A (en) A kind of OSD Fault Locating Methods and system based on ICFS systems
KR20190120880A (en) Monitering and controlling system
CN105069029A (en) Real-time ETL (extraction-transformation-loading) system and method