WO2015064857A1 - 설비 제어 망에서 확률 모델을 활용한 능동 수동 데이터 수집 장치 및 방법 - Google Patents

설비 제어 망에서 확률 모델을 활용한 능동 수동 데이터 수집 장치 및 방법 Download PDF

Info

Publication number
WO2015064857A1
WO2015064857A1 PCT/KR2014/002836 KR2014002836W WO2015064857A1 WO 2015064857 A1 WO2015064857 A1 WO 2015064857A1 KR 2014002836 W KR2014002836 W KR 2014002836W WO 2015064857 A1 WO2015064857 A1 WO 2015064857A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
active
synchronization
passive
time
Prior art date
Application number
PCT/KR2014/002836
Other languages
English (en)
French (fr)
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 삼성에스디에스 주식회사
Publication of WO2015064857A1 publication Critical patent/WO2015064857A1/ko

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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer

Definitions

  • the present invention relates to an active passive data acquisition device and method using a probabilistic model in a control network, and more specifically, to a data collection that can synchronize the data of other devices and their buffers at high speed.
  • An apparatus and method are provided.
  • the control network is used to measure and operate equipment such as air conditioners, sensors, production equipment, programmable logic controllers (PLC), and supervisory control and data acquisition (SCADA) in specific spaces such as buildings and factories. Measurement & Control Local network used to exchange data with each other.
  • equipment such as air conditioners, sensors, production equipment, programmable logic controllers (PLC), and supervisory control and data acquisition (SCADA)
  • Measurement & Control Local network used to exchange data with each other.
  • Various communication media and communication protocols may be used in the facility control network. For example, a twisted pair (TP), wireless, Ethernet, or the like may be used as the communication medium, and BACnet, KNX, Modbus, OPC, or the like may be used as the communication protocol.
  • facility control networks have generally been used inside of them for the operation of buildings or factories where the networks are installed.
  • M2M Machine to Machine
  • measurement and control data of devices are collected using a facility control network and provided to systems outside the building or factory.
  • Examples of such a system include a building energy management system (BEMS) and a building group management system.
  • BEMS building energy management system
  • a data collecting device that collects data from other devices inside the facility control network, stores it in its own buffer, and transmits it to an external service.
  • a device is sometimes called a data gatherer.
  • the data collector utilizes a facility control network communication medium and a communication protocol to obtain measurement and control data from devices inside the facility control network, and uses a communication network such as the Internet to communicate with an external system.
  • the data collector is the whole between the internal system of the site (Site: building, factory, etc.) (the system for the site's own process operations) and the external system (the system outside the site operating based on measurement and control data collected by the data collector). It has a big impact on system performance.
  • the existing data collector has a problem in that a large load on the internal system causes communication failure, and increases the data collection delay time on the external system, thereby degrading the quality of system service.
  • the technical problem to be achieved by the present invention is an active method using a probabilistic model in a facility control network capable of increasing data collection performance from a facility control network even at low hardware specifications by synchronizing data of other devices with their buffers in an efficient manner. It is to provide a manual data collection device and method.
  • Another technical problem to be solved by the present invention is to use a probabilistic model in a facility control network that can improve data collection performance from a facility control network even at low hardware specifications by synchronizing data of other devices with their buffers in an efficient manner.
  • the present invention provides a computer-readable recording medium that records a program for executing an active passive data collection method on a computer.
  • a data collection device includes a cache unit for storing data collected from local devices connected through a facility control network and configuring cached data items; Sending a data request frame through the facility control network to collect the data for the local devices to store as a cached data item and to listen to the communication frame between the local devices through the facility control network Perform a second collection operation of collecting data about the local devices and storing the data as cached data items, and updating each of the cached data items through the second collection operation without performing the first collection operation.
  • An active-passive synchronization unit configured to determine a first collection operation schedule for each of the cached data items based on an estimated delay time based on a probabilistic model for the second collection operation when waiting until And a frame for transmitting data obtained from the frame received through the facility control network to the active-passive synchronization unit, and collecting data for the local devices of the facility control network at the request of the active-passive synchronization unit. And an active-passive medium access unit for transmitting the data.
  • a data collection method includes: (a) transmitting a data request frame through the facility control network to collect data on the local devices and to store the data as a data item in a cache memory. Performing a first collecting operation for storing; (b) performing a second collecting operation of listening to a communication frame between the local devices through the facility control network, collecting data about the local devices, and storing the data for the local devices as data items in the cache memory; And (c) an estimate estimated based on a probabilistic model for the second collection operation process when the second collection operation waits until the cached data items are updated without performing the first collection operation. Determining a first collection operation schedule for each of the cached data items based on a delay time.
  • the data collection device and method according to the present invention by synchronizing the data of the other devices and their buffers in an efficient manner, it is possible to improve the data collection performance from the facility control network even in a low hardware specification. In addition, it can provide a low latency for external systems without increasing the load on internal systems, and can contribute to the reduction of construction cost in various systems that require data collection from the control network.
  • FIG. 1 is a diagram illustrating a network configuration to which a data collection device according to the present invention is applied;
  • FIG. 2 is a block diagram showing the configuration of a data collection device according to the present invention.
  • FIG. 3 illustrates a time slot of an active-passive medium access unit provided in the data collection device according to the present invention
  • FIG. 4 is a diagram illustrating an example of a frame transmission process in an active-passive medium access unit included in a data collection device according to the present invention
  • FIG. 5 is a flowchart illustrating a data reception process by an active-passive synchronization unit provided in the data collection device according to the present invention
  • FIG. 6 is a flowchart illustrating a process of performing active synchronization according to a first embodiment of an active-passive synchronization unit provided in the data collection device according to the present invention
  • FIG. 7 is a flowchart illustrating an active synchronization scheduling and execution process which is a fifth operation of a low cost active synchronization operation by an active-passive synchronization unit included in the data collection device according to the present invention
  • FIG. 8 is a flowchart illustrating an embodiment in which a second embodiment of an active-passive synchronization unit according to the present invention is implemented by a method using threads, and
  • FIG. 9 is a flowchart illustrating a process of performing a data collection method according to the present invention.
  • the technical feature of the present invention is that both active and passive synchronization methods are considered in data collection.
  • the active synchronization method means reading data by transmitting a data request frame to the facility control network. This active synchronization operation is also called polling.
  • the passive synchronization method means reading necessary data by listening to a communication frame between different devices. In the passive synchronization method, the listening of the communication frame can be performed both when the receiver set in the frame is a data collector and when it is not a data collector (that is, the data collector overhears the three-way communication).
  • the passive synchronization method internal systems in the local area of the facility control network usually send and receive many frames themselves, and these frames often contain measurement data and control data that are collected by the data collection device. Because.
  • FIG. 1 is a diagram illustrating a network configuration to which a data collection device according to the present invention is applied.
  • the entire network includes an external system 100, a data collection device 200, and local devices 110-1 through 110-n.
  • the external system and the data collection device 200 are connected to the wired / wireless communication network 120 such as the Internet.
  • the data collection device 200 and the local device (110-1 to 110-n) is connected to the facility control network 130, such as a bus (Field Bus).
  • the external system refers to a system outside the site that operates based on data collected by the data collector, and the local devices 110-1 to 110-n are operating devices such as buildings and factories connected to the facility control network 130. Means.
  • the data collection device 200 and the local devices 110-1 through 110-n constitute a local area.
  • FIG. 2 is a block diagram showing the configuration of a data collection device according to the present invention.
  • a preferred embodiment 200 of a data collection device includes a service interface unit 210, a cache unit 220, an active-passive synchronization unit 230, a synchronization statistics manager 240, and It has an active-passive media access 250.
  • the service interface unit 210 is a means for receiving data from the external system 100 or transmitting data to the external system 100. For example, when the external system 100 transmits a list of data identifiers in a request message to the data collection device 200, the service interface unit 210 responds to the received request message and the data identifiers and the data identifiers. The contents of the corresponding measurement data and the control data may be transmitted to the external system 100 in a response message.
  • the service interface unit 210 includes a communication module for communicating with the external system 100 through a communication network.
  • the cache unit 220 stores data collected from local devices 110-1 through 110-n in the local area.
  • the cache unit 220 may be implemented in the form of a memory buffer.
  • the cache unit 220 stores measurement data and control data collected from the plurality of local devices 110-1 through 110-n, and each data item is defined as one item in the present invention.
  • objects and data points correspond to items in the BACnet standard and the KNX standard, respectively.
  • Each item consists of a pair of (data identifier, data content). Therefore, the cache unit 220 may be referred to as a memory or a storage area in which a set of items is stored.
  • the service interface unit 210 finds values corresponding to the data identifiers, the service interface unit 210 queries the cache unit 220.
  • Each data item stored in cache 220 is updated by the active-passive synchronizer 230 with the latest values collected from local devices 110-1 through 110-n.
  • the cache unit 220 determines which of the data collected from the local devices in the facility control network to store in the cache. There may be a variety of ways to determine this. You can store all data without conditions, only data that corresponds to a user-defined set of items, or you can dynamically change which items are stored.
  • the active-passive synchronization unit 230 transmits a data request frame corresponding to the items stored in the cache unit 220 to the facility control network 130, and from the local devices (110-1 to 110-n) Receive the response frame to collect data (first collection operation-active synchronization) or to listen to the communication frame between the local devices (110-1 to 110-n) to the items stored in the cache unit 220 The corresponding data is collected (second collection operation-manual synchronization) to update the data stored in the cache unit 220.
  • the active-passive synchronization unit 230 is a key component for improving the performance of the data collection device 200 according to the present invention.
  • the active-passive synchronizer 230 optimally schedules the active synchronization part by using a probabilistic model for the data update time interval. In this manner, the data collection device 200 according to the present invention may provide a minimum delay time to the external system 100 without increasing the load on the internal system.
  • the active-passive synchronization unit 230 may have a first embodiment for high performance hardware (memory, a processor, etc.) and a second embodiment for achieving scheduling close to optimum even when the hardware performance is low.
  • the second embodiment of the active-passive synchronization unit 230 may be referred to as 'low cost active-passive synchronization', and may include an optimization algorithm in which a performance measurement result is fed back to an algorithm argument.
  • the first and second embodiments of the active-passive synchronization unit 230 will be described later.
  • the synchronization statistics manager 240 creates and manages statistics related to active-passive synchronization, such as a data update cycle.
  • the synchronization statistics manager 240 measures the following items for each item stored in the cache 220.
  • the hardware specification of the data acquisition device 200 determines how many moments are measured. For example, if the measurement is made up to the second moment, the first moment (sample average) and the second moment (sample variance) can be measured. do.
  • Statistical moment calculations can be made immediately after listening to a message and updating an item, or upon receipt of a message, a simple recording can be performed and batched at regular times in independent processes or threads.
  • the synchronization statistics manager 240 may access the active-passive medium access unit 250 to obtain data by measuring the statistical moment and the update time as described above.
  • the active-passive medium access unit 250 is an interface that allows the active-passive synchronization unit 230 to access the medium of the facility control network 130 (ie, each local apparatus 110-1 through 110-n). Play a role.
  • the concept of 'Time Slot' and 'Active Synchronization Quarter' will be described as follows.
  • FIG. 3 illustrates a time slot of an active-passive media access unit 250.
  • a time slot is a time divided by a predetermined unit, and therefore, a media access time is managed by dividing into a time slot.
  • the size of the time slot is preferably set to have a value smaller than the average update time interval of cache items at the site. For example, in a system where the average update interval of items is about 30 seconds to about 1 minute, the time slot may be set to 1 to 2 seconds.
  • the active synchronization quota is defined as the maximum number of frame transmissions that the active-passive media access unit 250 can perform for active synchronization within one time slot. Instead of the number of times, various types of indicators having the same meaning may be used even though the expressions such as the maximum frame transmission frequency and the minimum frame transmission period are different.
  • This active synchronization quota limits the number of frames that the data collection device 200 can transmit to the facility control network 130. That is, the active synchronization quota is a measure of the communication load that the data collection device 200 places on the internal system. How much to allow the communication load is determined by the environment, policy, and timing at each site. For convenience of description, it is assumed that the active synchronization quota is predetermined and does not change while the data collector is running. Active synchronization quotas can be determined experimentally, and active synchronization quotas can change dynamically over time, with the environment, policies, and timing at each site.
  • the active-passive medium access unit 250 Based on the time slot and the active synchronization quota concept as described above, the active-passive medium access unit 250 performs at least two functions as follows.
  • the active-passive medium access unit 250 delivers all of the active-passive synchronization unit 230 even when the receiver indicated in the frame is not the data collection device 200.
  • the active-passive synchronization unit 230 requests the frame transmission, if the active synchronization quarter does not violate the active synchronization quota in the time slot at that time, the frame is immediately transmitted or stored in the transmission buffer, and the active- Notify the manual synchronization unit 230 of the successful transmission.
  • the active-passive synchronizer 230 requests frame transmission, if the frame violates the active synchronization quarter of the time slot at the time of frame transmission, the active-passive synchronizer 230 does not transmit the frame. Inform the transmission failure.
  • the specific schedule for the active-passive medium access unit 250 to transmit the frame may be implemented in various ways.
  • the active-passive medium access unit 250 may immediately transmit the frame if the active-passive synchronizer 230 confirms that the active synchronization passive unit 230 does not violate the active synchronization quota in the time slot at the time. It may be stored in a buffer provided in the manual media access unit 250 and then transmitted according to a transmission schedule.
  • FIG. 4 is a diagram illustrating an example of a frame transmission process in the active-passive medium access unit 250 provided in the data collection device 200 according to the present invention.
  • the active-passive medium access unit 250 may store a frame to be transmitted in a buffer and transmit a batch during an active synchronization batch processing period determined at the start of the next time slot.
  • This batch processing method may be applied according to the characteristics of the internal system of the site.
  • the active-passive medium access unit 250 may implement various frame transmission schedules, which means that the data collection device 200 according to the present invention may be applied to various environments. This is one of the advantages of the active-passive synchronization unit 230 and the active-passive medium access unit 250 provided in the data collection device 200 according to the present invention.
  • the active-passive synchronization unit 230 schedules the active synchronization using a probabilistic model for the data update time interval. Prior to explaining the function of the active-passive synchronization unit 230, the concept of 'expected delay time' is as follows.
  • the estimated delay time is a value calculated for each item stored in the cache unit 220, and is an estimated value of an update time interval of the corresponding item when waiting for the next manual synchronization without active synchronization.
  • the 'update time interval' refers to the interval between when any item is updated in an active or passive synchronization manner.
  • the active-passive synchronization unit 230 calculates an expected delay time by the following equation.
  • t expected_delay is the expected delay time
  • t expected_listen_period is the expected manual synchronization period
  • t last_listen is the last manual synchronization update time
  • t last_update is the last update time.
  • the estimated manual sync cycle is an estimate of the probability of updating by manual sync with a probability model
  • the last manual sync update time is the time when the item's value was updated by the most recent manual sync
  • the last updated time was the most manual manually.
  • it means the time when the item value is updated by active synchronization.
  • the active-passive synchronization unit 230 receives time measurement data necessary for calculating the expected delay time from the synchronization statistics manager 240.
  • the expected manual synchronization period is calculated by the following process.
  • an estimator appropriate for the argument of the cumulative distribution function (CDF) of the assumed probability distribution is set. In this case, an estimate may be set using a maximum likely-hood estimator (MLE).
  • MLE maximum likely-hood estimator
  • the completed cumulative distribution function is used to calculate a manual synchronization update time interval estimate of sufficient reliability.
  • the selection of the probability distribution and the determination of the reliability of the estimate may be determined experimentally or statistically.
  • the following equation is an example of assuming that the manual synchronization update time interval is a normal distribution and calculating a manual synchronization update time interval estimate of about 95% confidence.
  • And x 1 , x 2 ,... , x k is k samples of the manual synchronization update time interval.
  • the function of the active-passive synchronization unit 230 may be described using this concept of 'expected delay time'.
  • the first embodiment of the active-passive synchronization unit 230 includes three things.
  • the active-passive synchronizer 230 constantly collects data from the active-passive media access unit 250.
  • 5 is a flowchart illustrating a data reception process by the active-passive synchronization unit 230.
  • the active-passive synchronizer 230 receives a frame including data for each of the local apparatuses 110-1 through 110-n from the active-passive media access unit 250 ( S500).
  • the received frame contains data related to the item to be stored in the cache unit 220 (S510)
  • the cache unit 220 by using the data contained in the frame. Update the information of the item stored in (S520).
  • the active-passive synchronization unit 230 periodically calculates an expected delay time for all items stored in the cache unit 220.
  • the active-passive synchronization unit 230 always performs active synchronization for all items stored in the cache unit 220.
  • 6 is a flowchart illustrating a process of performing active synchronization according to the first embodiment of the active-passive synchronization unit 230.
  • the active-passive synchronizer 230 searches the cache 220 to find an item having the largest expected delay time (S600).
  • the active-passive synchronization unit 230 requests transmission of a frame requesting measurement data or control data related to the found item to the active-passive medium access unit 250 (S610).
  • Such an active synchronization process may also be regarded as a scheduling operation that determines which of the cache items to be active next time.
  • the first embodiment of the active-passive synchronization unit 230 may be implemented by various methods such as a process, a thread, an event timer, and the like.
  • the period for calculating the expected delay time may be determined in various ways according to the desired performance and the hardware performance of the data collection device 200.
  • the active synchronization performed by the active-passive synchronization unit 230 described with reference to FIG. 6 includes a process of finding a cache item having the largest expected delay time. Depending on the environment, if there are many cache items, this retrieval process can put a heavy load on hardware or memory and reduce real-time. Accordingly, the present invention proposes a low cost active-passive synchronization as a second embodiment of the active-passive synchronization unit 230.
  • Low-cost active passive synchronization uses the concept of 'estimated latency', as well as the concept of 'active synchronization target', 'active synchronization execution rate', 'total duration of active synchronization' and 'reference latency'.
  • the active-passive synchronization unit 230 assigns a random order to the items stored in the cache unit 220, and applies the active synchronization scheduling algorithm in that order.
  • the active synchronization target is a variable that contains the item to be applied to the algorithm next time in the sequence.
  • 'Active synchronization execution rate' is a value measured while performing an active synchronization scheduling algorithm.
  • the algorithm has a process for deciding whether or not to perform frame transmission for active synchronization for each item, and as a result of performing the repetitive algorithm, statistically how many times the actual frame transmission is performed among the cache items to which the algorithm is applied. Measure it as 'active sync run rate'.
  • Statistical measurement methods can be performed in various ways such as average, moving average, and weighted moving average, depending on how the sample for the frame transmission event is processed. For example, if all samples are utilized and equally weighted, the 'active synchronization execution rate' is calculated by the following equation.
  • E active is the active synchronization execution rate
  • N req is the number of items requested for frame transmission
  • N total is the total number of items applied to the algorithm.
  • the 'Active synchronization total time' is a variable introduced for optimization of the 'reference delay time' to be described later.
  • all active synchronization quotas in the time slots may be used. Total time for active synchronization of the case.
  • the 'active synchronization total time' is calculated by the following equation.
  • T active is the total amount of active synchronization time
  • N cache_total is the total number of cache items
  • N quota is the active synchronization quota
  • T slot is the size of the time slot.
  • 'Reference delay time' is a variable used in the active synchronization scheduling algorithm, initially set to an arbitrary value, and converges to an optimal value as the active-passive synchronization unit 230 operates. If the 'baseline delay' is increased, the 'active synchronization total time' decreases. By taking advantage of this, the value of the 'baseline delay' is gradually changed to become closer to the 'total active synchronization time'. Therefore, the values of 'Active Synchronization Total Time' and 'Reference Delay Time' can be made almost equal. For example, a method of periodically changing the reference delay time by using the following equation is possible.
  • T threshold is a reference delay time
  • the 'active synchronization total time' reflects the result of applying the previously set 'reference delay time'. Therefore, it can be seen that the second embodiment of the active-passive synchronization unit 230 uses the principle of the result feedback for the 'reference delay time' variable.
  • initial values of the 'active synchronization target' and the 'reference delay time' may be determined in various ways.
  • the 'active synchronization execution rate' may be determined by various statistical methods such as average, moving average, and weighted moving average depending on how the sample for the frame transmission event is processed.
  • the equation for changing the 'reference delay time' so that the values of 'active synchronization total time required' and 'reference delay time' may be the same may be various.
  • the active-passive synchronization unit 230 Low cost active-passive synchronization can be described.
  • the active-passive synchronization unit 230 performs low cost active-passive synchronization through the following five operations.
  • the active-passive synchronization unit 230 receives a frame received from the active-passive medium access unit 250 at all times, and transmits data related to an item stored in the cache unit 220. If included, the item information is updated using the data contained in the frame. Second, the active-passive synchronizer 230 periodically calculates an expected delay time for all cache items. The above operation is the same as that of the first embodiment of the active-passive synchronization unit 230. Third, the active-passive synchronization unit 230 calculates 'active synchronization execution rate' periodically or constantly. Fourth, the active-passive synchronization unit 230 periodically changes the 'reference delay time' so that the 'active synchronization total time' and 'reference delay time' are closer to each other. Fifth, lastly, the active-passive synchronization unit 230 regularly schedules and executes active synchronization for all cache items (Schedule and Execute).
  • FIG. 7 is a flowchart illustrating an active synchronization scheduling and execution process, which is a fifth operation of a low cost active synchronization operation by the active-passive synchronization unit 230.
  • the active-passive synchronization unit 230 checks whether the 'expected delay time' of the item currently being 'active synchronization target' is greater than the reference delay time (S700). If the estimated delay time is greater than the reference delay time, the active-passive synchronization unit 230 requests the active-passive medium access unit 250 to transmit a frame requesting measurement data or control data related to the 'active synchronization target' item. (S710). Next, if the transmission of the active-passive synchronization unit 230 is successful (S720), the 'active synchronization target' is changed to the next cache item (S730). On the other hand, if the estimated delay time is less than the reference delay time, the active-passive synchronization unit 230 performs step S730.
  • the second embodiment of the active-passive synchronization unit 230 including the five functions may be implemented by various methods such as a process, a thread, an event timer, and the like.
  • the period for calculating the expected delay time may be determined in various ways according to the desired performance, the data collector hardware performance, and the like as in the first embodiment.
  • the active-passive media access unit 250 in relation to active synchronization scheduling there may be a case in which transmission is delayed for a period of about one time slot. There can be several things.
  • FIG. 8 is a diagram illustrating an embodiment in which the second embodiment of the active-passive synchronization unit 230 according to the present invention is implemented by a method using threads.
  • the active-passive synchronization unit 230 executes a thread for performing passive synchronization as described with reference to FIG. 5 (S800).
  • the active-passive synchronization unit 230 executes a thread that periodically calculates the 'expected delay time' of all cache items (S810).
  • the active-passive synchronization unit 230 executes a thread that periodically calculates the 'active synchronization execution rate' (S820).
  • the active-passive synchronization unit 230 periodically calculates the 'active synchronization total time' and changes the 'reference delay time' so that the 'active synchronization total time' and the 'reference delay time' are closer to each other. Run the thread (S830).
  • the active-passive synchronization unit 230 executes a thread for performing low cost active synchronization scheduling and execution as described with reference to FIG. 7 (S840).
  • FIG. 9 is a flowchart illustrating a process of performing a data collection method according to the present invention.
  • the active-passive synchronization unit 230 transmits a data request frame through a facility control network to collect data for local devices 110-1 through 110-n (active). Synchronization) (S900). At this time, the active-passive synchronization unit 230 collects data if the transmission is within the active synchronization quota, which is the maximum number of frame transmissions that can be performed for the second collection operation in the time slot at the time when the frame for data collection is requested. Performs transmission of frames for In addition, the active-passive synchronization unit 230 collects data for the local devices (110-1 to 110-n) by listening to the communication frame between the local devices (110-1 to 110-n) Operation (manual synchronization) is performed (S910).
  • the active-passive synchronization unit 230 performs the first collection operation and the second collection operation, and performs the second collection operation without performing the first collection operation on each of the data collected and stored in the cache memory.
  • the first collection operation schedule is determined for each of the data stored in the cache memory based on the estimated delay time estimated based on the probabilistic model for the second collection operation (S920).
  • the active-passive synchronization unit 230 is an estimated manual synchronization period, which is an estimate that estimates a period updated through the second collection operation, using a probability model, and a last passive time when data is updated through the second collection operation.
  • the estimated delay time is calculated by subtracting the last update time, which is the time at which data was most recently updated through the first or second collection operation.
  • the synchronization statistics manager 240 measures a statistical moment of a time interval in which data is updated through the second collecting operation, and a time when the data was last updated through the first collecting operation and the second collecting operation. It is measured (S930).
  • the second collecting operation may be performed before the first collecting operation or may be performed together with the first collecting operation.
  • the statistical moment measurement and the measurement of the updated time may be performed prior to the determination of the first collection operation schedule.
  • the invention can also be embodied as computer readable code on a computer readable recording medium.
  • the computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, and may also be implemented in the form of a carrier wave (for example, transmission over the Internet). Include.
  • the computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

Abstract

설비 제어 망에서 확률 모델을 활용한 능동 수동 데이터 수집 장치 및 방법이 개시된다. 캐쉬부는 지역 장치들로부터 수집한 데이터를 저장하고, 캐쉬된 데이터 아이템들을 구성한다. 능동-수동 동기화부는 데이터 요청 프레임을 전송하여 지역 장치들에 대한 데이터를 수집하여 저장하는 제1수집동작 및 지역 장치들 사이의 통신 프레임을 청취하여 지역 장치들에 대한 데이터를 수집하여 저장하는 제2수집동작을 수행하고, 제2수집동작을 통해 데이터 아이템 각각이 업데이트되는 시점까지 기다릴 경우에 제2수집동작 과정에 대한 확률 모델을 기반으로 추정되는 예상 지연 시간을 기초로 캐쉬된 데이터 아이템 각각에 대한 제1수집동작 스케줄을 결정한다. 능동-수동 매체 접근부는 수신된 프레임에서 얻은 데이터를 능동-수동 동기화부에 전달하고, 능동-수동 동기화부의 요청에 따라 지역 장치들에 대한 데이터를 수집하기 위한 프레임을 전송한다.

Description

설비 제어 망에서 확률 모델을 활용한 능동 수동 데이터 수집 장치 및 방법
본 발명은 설비 제어 망(Control Network)에서 확률 모델을 활용한 능동 수동 데이터 수집 장치 및 방법에 관한 것으로, 보다 상세하게는, 다른 장치들의 데이터와 자신의 버퍼를 빠른 속도로 동기화할 수 있는 데이터 수집 장치 및 방법에 관한 것이다.
설비 제어 망(Control Network)은 빌딩, 공장 등 특정 공간 내에서 공조기, 센서, 생산 장비, PLC(Programmable Logic Controller), SCADA(Supervisory Control and Data Acquisition) 등의 장치가 목적에 맞게 동작하기 위하여 측정 및 제어(Measurement & Control) 데이터를 서로 주고 받는 데에 사용하는 지역 망이다. 설비 제어 망에는 다양한 통신 매체 및 통신 프로토콜이 사용될 수 있다. 예를 들어, 통신 매체로는 TP(Twisted Pair), 무선, Ethernet 등이 사용될 수 있고, 통신 프로토콜로는 BACnet, KNX, Modbus, OPC 등이 사용될 수 있다.
지금까지 설비 제어 망은 망이 설치된 빌딩 또는 공장의 운영을 위해 그 내부에서 사용되는 것이 일반적이었다. 그러나 최근 빅 데이터 분석이나, M2M(Machine to Machine) 등의 응용이 대두되면서, 설비 제어 망을 이용하여 장치들의 측정 및 제어 데이터를 수집하여 해당 빌딩 또는 공장 외부의 시스템에 제공하는 경우가 많아지고 있다. 이러한 시스템의 예로는 BEMS(Building Energy Management System), 건물 군 관리(Building Group Management) 시스템 등이 있다.
설비 제어 망의 측정 및 제어 데이터를 수집하여 외부 시스템에 제공하기 위해 설비 제어 망 내부의 다른 장치에서 데이터를 수집하여 자신의 버퍼에 저장하였다가 외부 서비스로 전송하는 데이터 수집 장치가 주로 활용된다. 이러한 장치를 데이터 수집자(Data Gatherer)라 칭하기도 한다. 데이터 수집자는 설비 제어 망 내부 장치들로부터 측정 및 제어 데이터를 얻기 위해 설비 제어 망 통신 매체 및 통신 프로토콜을 활용하며, 외부 시스템과 통신하기 위하여 인터넷 등의 통신망을 활용한다.
데이터 수집자는 사이트(Site: 빌딩, 공장 등)의 내부 시스템(사이트 자체 공정 운영을 위한 시스템)과 외부 시스템(데이터 수집자가 수집한 측정 및 제어 데이터를 기반으로 동작하는 사이트 외부의 시스템) 사이에서 전체 시스템 성능에 큰 영향을 미친다. 그러나 기존의 데이터 수집자는 수집하고자 하는 데이터가 많은 경우 내부 시스템에는 큰 부하를 일으켜 통신 장애를 일으키고, 외부 시스템에는 데이터 수집 지연 시간을 높임으로서 시스템 서비스의 품질을 떨어뜨리는 문제점이 있다.
현재까지 주로 설비 제어 망 증설이나 데이터 수집자의 추가 투입으로 데이터 수집과 관련한 성능 문제를 해결하고 있으며, 이는 곧 설비 비용 증가로 귀결된다. 이러한 문제를 해결하기 위해서는 망 증설 이전에 내/외부 시스템 특성을 고려한 데이터 수집자 자체의 성능 향상이 고민되어야 하나, 현재까지 이러한 해결책은 존재하지 않는다.
한편, 기존에 공개된 특허문헌 중에서 설비 제어 망에 한정하지 않고 다수 장치로부터 데이터를 수집하는 장치와 관련된 특허문헌들을 살펴보면, 이들은 주로 능동적 동기화와 관련한 다양한 외부 변수의 활용에 초점을 두고 있을 뿐 수동적 동기화의 최적화를 고려한 특허는 존재하지 않는다. 일례로, 한국공개특허 제2005-0000879호는 장비 상태에 따라 적응적 폴링(Polling)할 수 있는 망 관리에서 장비 정보 수집 시스템 및 방법만을 제시하고 있고, 미국공개특허 제2011-0264967호는 다수 장치로부터 데이터를 수집함에 있어, 가상 상태 머신(Virtual State Machine)을 활용하는 방법만을 제시하고 있을 뿐이다.
[선행기술문헌]
한국공개특허 제2005-0000879호 (공개일: 2005년 1월 6일, 발명의 명칭: 망 관리에서 장비 정보 수집 시스템 및 방법)
미국공개특허 제2011-0264967호 (공개일: 2011년 10월 27일, 발명의 명칭: 가상 상태 머신을 이용한 컴퓨터 네트워크에서 객체 상태 관리 장치 및 방법)
미국등록특허 제7912950호 (공개일: 2011년 3월 22일, 발명의 명칭: 네트워크 모니터링 시스템을 위한 적응적 폴링 장치)
미국공개특허 제2005-0005010호 (공개일: 2005년 1월 6일, 발명의 명칭: 클라이언트 관리 툴에서 폴링 에이전트를 구현하기 위한 시스템 및 방법)
미국공개특허 제2004-0184431호 (공개일: 2004년 9월 23일, 발명의 명칭: 네트워크를 통해 장치 정보를 관리하기 위한 장치 및 방법)
본 발명이 이루고자 하는 기술적 과제는, 다른 장치들의 데이터와 자신의 버퍼를 효율적인 방법으로 동기화함으로써, 낮은 하드웨어 사양에서도 설비 제어 망으로부터의 데이터 수집 성능을 높일 수 있는 설비 제어 망에서 확률 모델을 활용한 능동 수동 데이터 수집 장치 및 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는, 다른 장치들의 데이터와 자신의 버퍼를 효율적인 방법으로 동기화함으로써, 낮은 하드웨어 사양에서도 설비 제어 망으로부터의 데이터 수집 성능을 높일 수 있는 설비 제어 망에서 확률 모델을 활용한 능동 수동 데이터 수집 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 데이터 수집 장치는, 설비 제어 망을 통해 연결되어 있는 지역 장치들로부터 수집한 데이터를 저장하고, 캐쉬된 데이터 아이템들을 구성하는 캐쉬부; 상기 설비 제어 망을 통해 데이터 요청 프레임을 전송하여 상기 지역 장치들에 대한 데이터를 수집하여 캐쉬된 데이터 아이템으로 저장하는 제1수집동작 및 상기 설비 제어망을 통해 상기 지역 장치들 사이의 통신 프레임을 청취하여 상기 지역 장치들에 대한 데이터를 수집하여 캐쉬된 데이터 아이템으로 저장하는 제2수집동작을 수행하고, 상기 제1수집동작을 수행하지 않고 상기 제2수집동작을 통해 상기 캐쉬된 데이터 아이템 각각이 업데이트되는 시점까지 기다릴 경우에 상기 제2수집동작 과정에 대한 확률 모델을 기반으로 추정되는 예상 지연 시간을 기초로 상기 캐쉬된 데이터 아이템 각각에 대한 제1수집동작 스케줄을 결정하는 능동-수동 동기화부; 및 상기 설비 제어 망을 통해 수신된 프레임에서 얻은 데이터를 상기 능동-수동 동기화부에 전달하고, 상기 능동-수동 동기화부의 요청에 따라 상기 설비 제어 망의 상기 지역 장치들에 대한 데이터를 수집하기 위한 프레임을 전송하는 능동-수동 매체 접근부;를 구비한다.
상기의 다른 기술적 과제를 달성하기 위한, 본 발명에 따른 데이터 수집 방법은, (a) 상기 설비 제어 망을 통해 데이터 요청 프레임을 전송하여 상기 지역 장치들에 대한 데이터를 수집하여 캐쉬 메모리에 데이터 아이템으로 저장하는 제1수집동작을 수행하는 단계; (b) 상기 설비 제어 망을 통해 상기 지역 장치들 사이의 통신 프레임을 청취하여 상기 지역 장치들에 대한 데이터를 수집하여 상기 캐쉬 메모리에 데이터 아이템으로 저장하는 제2수집동작을 수행하는 단계; 및 (c) 상기 제1수집동작을 수행하지 않고 상기 제2수집동작을 통해 상기 캐쉬된 데이터 아이템 각각이 업데이트되는 시점까지 기다릴 경우에 상기 제2수집동작 과정에 대한 확률 모델을 기반으로 추정되는 예상 지연 시간을 기초로 상기 캐쉬된 데이터 아이템 각각에 대한 제1수집동작 스케줄을 결정하는 단계;를 갖는다.
본 발명에 따른 데이터 수집 장치 및 방법에 의하면, 다른 장치들의 데이터와 자신의 버퍼를 효율적인 방법으로 동기화함으로써, 낮은 하드웨어 사양에서도 설비 제어 망으로부터의 데이터 수집 성능을 높일 수 있다. 또한, 내부 시스템에 부하를 늘리지 않으면서도 외부 시스템에 대하여 작은 지연 시간을 제공할 수 있으며, 제어 망으로부터의 데이터 수집을 필요로 하는 다양한 시스템에서 구축 비용의 절감에 기여할 수 있다.
도 1은 본 발명에서 제시하는 데이터 수집 장치가 적용되는 네트워크 구성을 도시한 도면,
도 2는 본 발명에 따른 데이터 수집 장치의 구성을 도시한 블록도,
도 3은 본 발명에 따른 데이터 수집 장치에 구비되는 능동-수동 매체 접근부의 타임 슬롯을 도시한 도면,
도 4는 본 발명에 따른 데이터 수집 장치에 구비되는 능동-수동 매체 접근부에서의 프레임 전송 과정의 예를 도시한 도면,
도 5는 본 발명에 따른 데이터 수집 장치에 구비되는 능동-수동 동기화부에 의한 데이터 수신 과정을 도시한 흐름도,
도 6은 본 발명에 따른 데이터 수집 장치에 구비되는 능동-수동 동기화부의 제1실시예에 의한 능동 동기화 수행 과정을 도시한 흐름도,
도 7은 본 발명에 따른 데이터 수집 장치에 구비되는 능동-수동 동기화부에 의한 저비용 능동 동기화 동작 중 다섯 번째 동작인 능동 동기화 스케줄링 및 실행 과정을 도시한 흐름도,
도 8은 본 발명에 따른 능동-수동 동기화부의 제2실시예가 쓰레드(Thread)를 이용한 방법으로 구현된 실시예를 도시한 흐름도, 그리고,
도 9는 본 발명에 따른 데이터 수집 방법의 수행과정을 도시한 흐름도이다.
이하에서, 첨부된 도면들을 참조하여 본 발명에 따른 데이터 수집 장치 및 방법의 바람직한 실시예에 대해 상세하게 설명한다.
본 발명의 기술적 특징은 데이터 수집시 능동적 동기화 방법과 수동적 동기화 방법을 모두 고려하였다는 것이다. 본 발명에서 능동적 동기화 방법은 설비 제어 망에 데이터 요청 프레임(Frame)을 전송하여 데이터를 읽어오는 것을 의미한다. 이러한 능동적 동기화 동작을 폴링(Polling)이라고 하기도 한다. 그리고 본 발명에서 수동적 동기화 방법은 다른 기기 사이의 통신 프레임을 청취하여 필요한 데이터를 읽는 것을 의미한다. 수동적 동기화 방법에서 통신 프레임의 청취는 프레임에 설정된 수신자가 데이터 수집자인 경우와 데이터 수집자가 아닌 경우(즉, 데이터 수집자가 3자간 통신을 엿듣는 경우) 모두 이루어질 수 있다. 수동적 동기화를 고려하는 것은 설비 제어 망의 로컬 영역에 존재하는 내부 시스템은 자체적으로 많은 프레임을 주고 받는 것이 보통이며, 이런 프레임에는 데이터 수집 장치의 수집 대상인 측정 데이터 및 제어 데이터가 포함되어 있는 경우가 많기 때문이다.
도 1은 본 발명에서 제시하는 데이터 수집 장치가 적용되는 네트워크 구성을 도시한 도면이다.
도 1을 참조하면, 전체 네트워크는 외부 시스템(100), 데이터 수집 장치(200) 및 지역 장치(110-1 내지 110-n)로 구성된다. 외부 시스템과 데이터 수집 장치(200)는 인터넷과 같은 유무선 통신망(120)으로 연결된다. 또한 데이터 수집 장치(200)와 지역 장치(110-1 내지 110-n)는 버스(Field Bus)와 같은 설비 제어 망(130)으로 연결된다. 이때 외부 시스템은 데이터 수집자가 수집한 데이터를 기반으로 동작하는 사이트 외부의 시스템을 의미하고, 지역 장치(110-1 내지 110-n)는 설비 제어 망(130)에 연결된 빌딩, 공장 등의 운영 장치를 의미한다. 그리고 데이터 수집 장치(200)와 지역 장치(110-1 내지 110-n)는 로컬 영역을 구성한다.
도 2는 본 발명에 따른 데이터 수집 장치의 구성을 도시한 블록도이다.
도 2를 참조하면, 본 발명에 따른 데이터 수집 장치의 바람직한 실시예(200)는 서비스 인터페이스부(210), 캐쉬부(220), 능동-수동 동기화부(230), 동기화 통계 관리부(240) 및 능동-수동 매체 접근부(250)를 구비한다.
서비스 인터페이스부(210)는 외부 시스템(100)으로부터 데이터를 수신하거나 외부 시스템(100)으로 데이터를 송신하는 수단이다. 예를 들어, 외부 시스템(100)이 데이터 식별자(Identifier) 리스트를 요청 메시지에 담아 데이터 수집 장치(200)로 전송하면, 서비스 인터페이스부(210)가 수신된 요청 메시지에 응답하여 데이터 식별자들과 그에 해당하는 측정 데이터 및 제어 데이터의 내용을 응답 메시지에 담아 외부 시스템(100)으로 전송할 수 있다. 이러한 서비스 인터페이스부(210)는 통신망을 통해 외부 시스템(100)과 통신하기 위한 통신 모듈을 구비한다.
캐쉬부(220)는 로컬 영역 내의 지역 장치들(110-1 내지 110-n)로부터 수집한 데이터를 저장한다. 이러한 캐쉬부(220)는 메모리 버퍼의 형태로 구현될 수 있다. 캐쉬부(220)에는 복수 개의 지역 장치들(110-1 내지 110-n)로부터 수집한 측정 데이터 및 제어 데이터가 저장되며, 본 발명에서는 각각의 데이터 아이템을 하나의 아이템(Item)이라 정의한다. 이와 관련하여 BACnet 표준과 KNX 표준에서 각각 객체(Object)와 데이터 포인트(Data point)가 아이템에 해당한다. 각각의 아이템은 (데이터 식별자, 데이터 내용)의 쌍으로 이루어진다. 따라서 캐쉬부(220)는 아이템의 집합이 저장되는 메모리 또는 스토리지 영역이라 할 수 있다. 서비스 인터페이스부(210)는 데이터 식별자들에 해당하는 값을 찾을 때 캐쉬부(220)를 조회한다. 캐쉬부(220)에 저장되어 있는 각각의 데이터 아이템들은 능동-수동 동기화부(230)에 의해 지역 장치들(110-1 내지 110-n)로부터 수집된 최신 값으로 업데이트된다. 또한 캐쉬부(220)는 설비 제어망 내의 지역 장치들로부터 수집되는 데이터 중 어느 것을 캐쉬에 저장할 것인지 결정한다. 이것을 결정하는 데에는 다양한 방법이 있을 수 있다. 조건없이 모든 데이터를 저장할 수도 있고, 사용자가 정의한 아이템 집합에 해당하는 데이터만 저장할 수도 있고, 어떤 아이템을 저장할지 여부를 동적으로 바꾸는 방법도 있을 수 있다.
능동-수동 동기화부(230)는 설비 제어 망(130)으로 캐쉬부(220)에 저장되어 있는 아이템들에 대응하는 데이터 요청 프레임을 전송하고, 지역 장치들(110-1 내지 110-n)로부터 응답 프레임을 수신하여 데이터를 수집하거나(제1수집동작-능동 동기화), 지역 장치들(110-1 내지 110-n) 사이의 통신 프레임을 청취함으로써 캐쉬부(220)에 저장되어 있는 아이템들에 대응하는 데이터를 수집하여(제2수집동작-수동 동기화), 캐쉬부(220)에 저장되어 있는 데이터를 업데이트한다. 이러한 능동-수동 동기화부(230)는 본 발명에 따른 데이터 수집 장치(200)의 성능 향상을 위한 핵심 구성 요소이다.
능동-수동 동기화부(230)는 데이터 업데이트 시간 간격에 대한 확률 모델을 활용하여 능동 동기화 부분을 최적으로 스케줄링한다. 이러한 방식으로 본 발명에 따른 데이터 수집 장치(200)는 내부 시스템에 부하를 늘리지 않으면서도 외부 시스템(100)에 대하여 최소의 지연 시간을 제공할 수 있다. 능동-수동 동기화부(230)는 고성능 하드웨어(메모리, 프로세서 등)를 위한 제1실시예와 하드웨어 성능이 낮은 경우에도 최적에 가까운 스케줄링을 달성하기 위한 제2실시예를 가질 수 있다. 능동-수동 동기화부(230)의 제2실시예는 '저비용 능동-수동 동기화'로 칭할 수 있으며, 성능 측정 결과를 알고리즘 인수에 피드백 하는 방식의 최적화 알고리즘을 포함할 수 있다. 능동-수동 동기화부(230)의 제1실시예 및 제2실시예에 대해서는 후술한다.
동기화 통계 관리부(240)는 데이터 업데이트 주기 등 능동-수동 동기화와 관련된 통계를 작성하고 관리한다. 이러한 동기화 통계 관리부(240)는 캐쉬부(220)에 저장되어 있는 아이템 각각에 대하여 다음 사항을 측정한다.
먼저, 수동 동기화로 아이템이 업데이트되는 시간 간격의 통계적 적률(Moment)을 측정한다. 데이터 수집 장치(200)의 하드웨어 사양에 따라 몇 차 적률까지 측정할지가 결정되며, 예를 들어 2차 적률까지 측정한다고 하면, 1차 적률(표본 평균)과 2차 적률(표본 분산)을 측정하게 된다. 통계적 적률 계산은 메시지를 청취하고 아이템을 업데이트한 직후에 이루어 질 수도 있고, 메시지 수신 시에는 간단한 기록만 수행하고 독립적인 프로세스(Process) 또는 쓰레드(Thread)에서 일정 시간마다 일괄처리할 수도 있다. 다음으로, 능동 및 수동 동기화 방식으로 아이템이 마지막으로 업데이트된 시간을 측정한다.
동기화 통계 관리부(240)는 위와 같은 통계적 적률과 업데이트 시간을 측정하기 위해 능동-수동 매체 접근부(250)에 접근하여 데이터를 얻어올 수 있다.
능동-수동 매체 접근부(250)는 능동-수동 동기화부(230)가 설비 제어 망(130)의 매체(즉, 각 지역 장치(110-1 내지 110-n))에 접근할 수 있게 해주는 인터페이스 역할을 수행한다. 능동-수동 매체 접근부(250)의 기능을 설명하기에 앞서, '타임 슬롯(Time Slot)'과 '능동 동기화 쿼터(Active Synchronization Quarter)'의 개념을 설명하면 다음과 같다.
도 3은 능동-수동 매체 접근부(250)의 타임 슬롯을 도시한 도면이다.
도 3을 참조하면, 타임 슬롯은 시간을 일정 단위로 나눈 것이이며, 따라서 매체 접근 시간은 타임 슬롯으로 분할하여 관리된다. 타임 슬롯의 크기는 해당 사이트에서 캐쉬 아이템들의 평균적인 업데이트 시간 간격보다 작은 값을 가지도록 설정되는 것이 바람직하다. 예를 들어, 아이템의 평균 업데이트 간격이 30초~1분 정도인 시스템에서, 타임 슬롯은 1~2초로 설정될 수 있다.
능동 동기화 쿼터는 능동-수동 매체 접근부(250)가 하나의 타임 슬롯 내에서 능동 동기화를 위해 수행할 수 있는 프레임 전송의 최대 횟수로 정의된다. 횟수 대신 프레임 최대 전송 빈도(Frequency), 프레임 최소 전송 주기 등 표현은 달라도 동일한 의미를 가지는 여러 가지 형태의 지표가 사용될 수 있다. 이러한 능동 동기화 쿼터는 데이터 수집 장치(200)가 설비 제어 망(130)에 전송할 수 있는 프레임 수의 한계를 정해준다. 즉, 능동 동기화 쿼터는 데이터 수집 장치(200)가 내부 시스템에 가하는 통신 부하의 척도가 된다. 통신 부하를 얼마나 허용할 지는 각 사이트에서의 환경, 정책 및 시기에 따라 결정되는 것으로, 본 발명에서는 설명의 편의상 능동 동기화 쿼터가 미리 결정되어 있고 데이터 수집자가 구동되는 동안 변하지 않는다고 가정한다. 능동 동기화 쿼터는 실험적으로 결정될 수 있으며, 능동 동기화 쿼터는 시간의 경과, 각 사이트에서의 환경, 정책 및 시기에 따라 동적으로 변할 수 있다.
상술한 바와 같은 타임 슬롯과 능동 동기화 쿼터 개념에 기반하여, 능동-수동 매체 접근부(250)는 적어도 다음과 같은 두 가지의 기능을 수행한다.
먼저, 매체(즉, 각각의 지역 장치(110-1 내지 110-n))로부터 감지되는 프레임을 모두 능동-수동 동기화부(230)로 전달한다. 이때 능동-수동 매체 접근부(250)는 프레임에 표시된 수신자가 데이터 수집 장치(200)가 아닌 경우에도 모두 능동-수동 동기화부(230)로 전달한다. 다음으로, 능동-수동 동기화부(230)가 프레임 전송을 요청했을 때, 해당 시점의 타임 슬롯에서 능동 동기화 쿼터를 위반하지 않는 경우에는 프레임을 즉시 전송하거나 전송 버퍼(Buffer)에 저장하고, 능동-수동 동기화부(230)에 전송 성공을 통보한다. 이와 달리, 능동-수동 동기화부(230)가 프레임 전송을 요청했을 때, 프레임 전송 시 해당 시점의 타임 슬롯의 능동 동기화 쿼터를 위반하게 되는 경우에는 프레임을 전송하지 않고, 능동-수동 동기화부(230)에 전송 실패를 통보한다.
능동-수동 매체 접근부(250)가 프레임을 송신하는 구체적인 스케줄은 다양한 방식으로 구현될 수 있다. 그리고 능동-수동 매체 접근부(250)는 능동-수동 동기화부(230)가 프레임 전송을 요청한 경우에 해당 시점의 타임 슬롯에서 능동 동기화 쿼터를 위반하지 않는 것을 확인하면 프레임을 즉시 전송할 수 있고, 능동-수동 매체 접근부(250)에 구비된 버퍼(Buffer)에 저장한 후 전송 스케줄에 따라 전송할 수도 있다.
도 4는 본 발명에 따른 데이터 수집 장치(200)에 구비되는 능동-수동 매체 접근부(250)에서의 프레임 전송 과정의 예를 도시한 도면이다.
도 4를 참조하면, 능동-수동 매체 접근부(250)는 전송할 프레임을 버퍼에 저장한 후 다음 번 타임 슬롯의 시작 시점에 정해져 있는 능동 동기화 일괄 처리 기간 동안 일괄 전송할 수 있다. 이러한 일괄 처리 방식은 사이트 내부 시스템의 특성에 따라 적용될 수 있다.
이와 같이 능동-수동 매체 접근부(250)이 다양한 프레임 송신 스케줄을 구현할 수 있음은 본 발명에 따른 데이터 수집 장치(200)가 다양한 환경에 적용될 수 있음을 의미한다. 이는 본 발명에 따른 데이터 수집 장치(200)에 구비되는 능동-수동 동기화부(230)와 능동-수동 매체 접근부(250)가 가지는 장점 중 하나이다.
이하에서는 능동-수동 동기화부(230)의 동작에 대해 상세하게 설명한다.
능동-수동 동기화부(230)는 데이터 업데이트 시간 간격에 대한 확률 모델을 이용하여 능동 동기화에 대해 스케줄링한다. 능동-수동 동기화부(230)의 기능을 설명하기에 앞서, '예상 지연 시간'의 개념을 설명하면 다음과 같다.
예상 지연 시간은 캐쉬부(220)에 저장되어 있는 아이템 각각에 대하여 계산되는 값으로, 능동 동기화를 하지 않고 다음번 수동 동기화가 이루어질 때까지 기다릴 경우에 해당 아이템의 업데이트 시간 간격을 추정한 값이다. 여기서 '업데이트 시간 간격'은 임의의 아이템이 능동 또는 수동 동기화 방식으로 업데이트되는 시점 간의 간격을 의미한다. 능동-수동 동기화부(230)는 다음의 수학식에 의해 예상 지연 시간을 산출한다.
수학식 1
Figure PCTKR2014002836-appb-M000001
여기서, texpected_delay는 예상 지연 시간, texpected_listen_period는 예상 수동 동기화 주기, tlast_listen는 마지막 수동 동기화 업데이트 시각, 그리고, tlast_update는 마지막 업데이트 시각을 의미한다.
예상 수동 동기화 주기는 수동 동기화 방식으로 업데이트되는 주기를 확률 모델로 예측한 추정치이고, 마지막 수동 동기화 업데이트 시각은 가장 최근에 수동 동기화로 아이템의 값이 업데이트된 시각이며, 마지막 업데이트 시각은 가장 최근에 수동 또는 능동 동기화로 아이템 값이 업데이트된 시각을 의미한다. 능동-수동 동기화부(230)는 예상 지연 시간의 계산 과정에서 필요한 시간 측정 데이터들을 동기화 통계 관리부(240)로부터 제공받는다.
한편, 예상 수동 동기화 주기는 다음과 같은 과정에 의해 계산된다. 먼저, 임의의 아이템이 수동 동기화로 업데이트되는 시간 간격을 확률 변수 X로 놓고, X의 확률 분포를 내부 시스템 통신의 특징에 따라 적당한 모델로 가정한다. 특정 패턴이 없는 일반적 환경이라면 정규 분포(Normal Distribution)를 가정할 수 있다. 다음으로, 동기화 통계 관리부(240)가 제공하는 통계 적률 데이터를 이용하여, 가정된 확률 분포의 누적 분포 함수(Cumulative Distribution Function : CDF)의 인수에 적절한 추정치(Estimator)를 설정한다. 이때 최대 우도 추정치(Maximum Likely-hood Estimator : MLE)를 이용하여 추정치를 설정할 수 있다. 마지막으로, 완성된 누적 분포 함수를 이용하여 충분한 신뢰도의 수동 동기화 업데이트 시간 간격 추정치를 계산한다. 이러한 예상 수동 동기화 주기의 산출시 확률 분포의 선택, 추정치의 신뢰도를 결정은 실험적 또는 통계적으로 결정될 수 있다. 일례로, 다음의 수학식은 수동 동기화 업데이트 시간 간격을 정규 분포로 가정하고, 신뢰도 약 95 %의 수동 동기화 업데이트 시간 간격 추정치를 계산하는 예이다.
수학식 2
Figure PCTKR2014002836-appb-M000002
여기서,
Figure PCTKR2014002836-appb-I000001
,
Figure PCTKR2014002836-appb-I000002
, 그리고, x1, x2, …, xk는 수동 동기화 업데이트 시간 간격의 k개 샘플이다.
능동-수동 동기화부(230)의 기능은 이와 같은 '예상 지연 시간' 개념을 활용하여 설명될 수 있다. 능동-수동 동기화부(230)의 제1실시예는 다음의 세 가지를 포함한다.
첫째, 능동-수동 동기화부(230)는 상시적으로 능동-수동 매체 접근부(250)로부터 데이터를 수집한다. 도 5는 능동-수동 동기화부(230)에 의한 데이터 수신 과정을 도시한 흐름도이다. 도 5를 참조하면, 능동-수동 동기화부(230)는 능동-수동 매체 접근부(250)로부터 각각의 지역 장치(110-1 내지 110-n)에 대한 데이터가 포함되어 있는 프레임을 전달받는다(S500). 다음으로, 능동-수동 동기화부(230)는 전달받은 프레임이 캐쉬부(220)에 저장할 대상인 아이템과 관계있는 데이터를 포함하고 있으면(S510), 해당 프레임에 담긴 데이터를 이용하여 캐쉬부(220)에 저장되어 있는 아이템의 정보를 업데이트한다(S520).
둘째, 능동-수동 동기화부(230)는 주기적으로 캐쉬부(220)에 저장되어 있는 모든 아이템에 대한 예상 지연 시간을 계산한다.
셋째, 능동-수동 동기화부(230)는 상시적으로 캐쉬부(220)에 저장되어 있는 모든 아이템에 대한 능동 동기화를 수행한다. 도 6은 능동-수동 동기화부(230)의 제1실시예에 의한 능동 동기화 수행 과정을 도시한 흐름도이다. 도 6을 참조하면, 능동-수동 동기화부(230)는 캐쉬부(220)를 검색하여 예상 지연 시간이 가장 큰 아이템을 찾아낸다(S600). 다음으로, 능동-수동 동기화부(230)는 능동-수동 매체 접근부(250)에 찾은 아이템과 관련된 측정 데이터 또는 제어 데이터를 요청하는 프레임의 전송을 요청한다(S610). 이와 같은 능동 동기화 수행 과정은 캐쉬 아이템들 중 어느 것을 다음 번의 능동 동기화할 지 결정하는 스케줄링 작업이라고도 볼 수 있다.
이와 같은 능동-수동 동기화부(230)에 대한 제1실시예는 프로세스, 쓰레드, 이벤트 타이머(Event Timer) 등 여러 가지 방법에 의해 구현될 수 있다. 주기적 수행과 관련하여, 예상 지연 시간을 계산하기 위한 주기는 원하는 성능과 데이터 수집 장치(200)의 하드웨어 성능 등에 따라 다양한 방식으로 결정될 수 있다. 또한 능동 동기화 수행 시 능동-수동 매체 접근부(250)의 구현상 1개 타임 슬롯 내외의 기간 동안 전송이 지연되는 경우가 있을 수 있는데, 이와 같은 상태를 파악하여 능동 동기화 수행 스케줄링을 보정하는 방법에는 여러 가지가 있을 수 있다.
도 6을 참조하여 설명한 능동-수동 동기화부(230)에 의한 능동 동기화 수행 과정에는 예상 지연 시간이 가장 큰 캐쉬 아이템을 찾는 과정이 포함되어 있다. 환경에 따라 캐쉬 아이템이 매우 많은 경우, 이와 같은 검색 과정은 하드웨어나 메모리에 큰 부하를 주고 실시간성을 떨어뜨릴 수 있다. 따라서 본 발명에서는 능동-수동 동기화부(230)의 제2실시예로서 저비용 능동-수동 동기화를 제시한다.
저비용 능동 수동 동기화는 '예상 지연 시간' 개념을 그대로 사용하며, 추가적으로 '능동 동기화 대상', '능동 동기화 실행률', '능동 동기화 총 소요 시간' 및 '기준 지연 시간' 개념을 사용한다.
'능동 동기화 대상'은 다음 번에 동기화를 수행할 캐쉬 아이템을 알려주는 변수이다. 능동-수동 동기화부(230)는 캐쉬부(220)에 저장되어 있는 아이템들에 임의의 순서를 부여하고, 해당 순서대로 능동 동기화 스케줄링 알고리즘을 적용한다. 이때, 능동 동기화 대상은 해당 순서 속에서 다음 번에 알고리즘에 적용될 아이템이 무엇인지 담고 있는 변수이다.
'능동 동기화 실행률'은 능동 동기화 스케줄링 알고리즘 수행 과정에서 측정되는 값이다. 해당 알고리즘에는 각각의 아이템에 대하여 능동 동기화를 위한 프레임 전송을 수행할 지 여부를 결정하는 과정이 있는데, 반복적인 알고리즘 수행 결과 알고리즘이 적용된 캐쉬 아이템들 중에서 실제 프레임 전송이 수행되는 경우가 얼마나 되는지를 통계적으로 측정하여 '능동 동기화 실행률'로 설정한다. 통계적 측정 방법은 프레임 전송 여부라는 이벤트에 대한 샘플을 어떻게 처리하는지에 따라 평균, 이동 평균, 가중치 있는 이동 평균 등 다양한 방법이 가능하다. 예를 들어 모든 샘플을 활용하고 동등한 가중치를 부여하는 경우, '능동 동기화 실행률'은 다음의 수학식에 의해 산출된다.
수학식 3
Figure PCTKR2014002836-appb-M000003
여기서, Eactive는 능동 동기화 실행률, Nreq는 프레임 전송이 요청된 아이템 수, 그리고, Ntotal은 알고리즘에 적용된 전체 아이템 수이다.
'능동 동기화 총 소요 시간'은 후술되는 '기준 지연 시간'의 최적화를 위해 도입된 변수로, 능동-수동 동기화부(230)의 제2실시예에서 타임 슬롯내의 모든 능동 동기화 쿼터를 남김없이 사용했을 경우의 능동 동기화에 걸리는 총 시간이다. 이때 '능동 동기화 총 소요 시간'은 다음의 수학식에 의해 산출된다.
수학식 4
Figure PCTKR2014002836-appb-M000004
여기서, Tactive는 능동 동기화 총 소요 시간, Ncache_total은 전체 캐쉬 아이템 수, Nquota는 능동 동기화 쿼터, 그리고 Tslot은 타임 슬롯의 크기이다.
'기준 지연 시간'은 능동 동기화 스케줄링 알고리즘에서 사용하는 변수로, 처음에는 임의의 값으로 설정되었다가, 능동-수동 동기화부(230)가 동작함에 따라 최적의 값으로 수렴하게 된다. '기준 지연 시간'이 증가하면, '능동 동기화 총 소요 시간'은 감소하게 되는데, 이점을 이용하면, '기준 지연 시간'의 값을 '능동 동기화 총 소요 시간'과 가까워지도록 점진적으로 변경하여, 최종적으로 '능동 동기화 총 소요 시간'과 '기준 지연 시간'의 값이 거의 동일해지도록 할 수 있다. 예를 들어, '기준 지연 시간'을 주기적으로 다음의 수학식을 이용하여 변경하는 방법이 가능하다.
수학식 5
Figure PCTKR2014002836-appb-M000005
여기서, Tthreshold는 기준 지연시간이다.
후술하는 저비용 능동-수동 동기화 동작에 따르면, '능동 동기화 총 소요 시간'은 기존에 설정한 '기준 지연 시간'이 적용된 결과를 반영하게 된다. 따라서 능동-수동 동기화부(230)의 제2실시예는 '기준 지연 시간' 변수에 대한 결과 피드백의 원리를 사용하고 있다고 볼 수 있다.
이때, '능동 동기화 대상'과 '기준 지연 시간'의 초기값은 다양한 방법으로 결정될 수 있다. '능동 동기화 실행률'은 프레임 전송 여부라는 이벤트에 대한 샘플을 어떻게 처리하는지에 따라 평균, 이동 평균, 가중치 있는 이동 평균 등 다양한 통계적 방법으로 결정될 수 있다. 또한, '능동 동기화 총 소요 시간'과 '기준 지연 시간'의 값이 동일해질 수 있도록 '기준 지연 시간'을 변경하는 수식도 수학식 5외에 여러 가지가 있을 수 있다.
상술한 바와 같은 '예상 지연 시간', '능동 동기화 대상', '능동 동기화 실행률', '능동 동기화 총 소요 시간' 및 '기준 지연 시간' 개념을 활용하여, 능동-수동 동기화부(230)의 저비용 능동-수동 동기화를 설명할 수 있다. 능동-수동 동기화부(230)는 다음의 5가지 동작을 통해 저비용 능동-수동 동기화를 수행한다.
첫째, 능동-수동 동기화부(230)는 상시적으로 능동-수동 매체 접근부(250)에서 수신된 프레임을 전달받고, 전달된 프레임이 캐쉬부(220)에 저장되어 있는 아이템과 관계있는 데이터를 포함한 경우에 해당 프레임에 담긴 데이터를 이용하여 아이템의 정보를 업데이트한다. 둘째, 능동-수동 동기화부(230)는 주기적으로 모든 캐쉬 아이템에 대한 예상 지연 시간을 계산한다. 이상의 동작은 능동-수동 동기화부(230)의 제1실시예와 동일하다. 셋째, 능동-수동 동기화부(230)는 주기적 또는 상시적으로 '능동 동기화 실행률'을 계산한다. 넷째, 능동-수동 동기화부(230)는 주기적으로 '능동 동기화 총 소요 시간'을 계산하여 '능동 동기화 총 소요 시간'과 '기준 지연 시간'이 가까워질 수 있도록 '기준 지연 시간'을 변경한다. 다섯째, 마지막으로, 능동-수동 동기화부(230)는 상시적으로 모든 캐쉬 아이템에 대한 능동 동기화를 스케줄링하고 실행한다(Schedule and Execute).
도 7은 능동-수동 동기화부(230)에 의한 저비용 능동 동기화 동작 중 다섯 번째 동작인 능동 동기화 수케줄링 및 실행 과정을 도시한 흐름도이다.
먼저, 능동-수동 동기화부(230)는 현재 '능동 동기화 대상'인 아이템의 '예상 지연 시간'이 기준 지연 시간보다 큰지 확인한다(S700). 만약 예상 지연 시간이 기준 지연 시간보다 크면, 능동-수동 동기화부(230)는 능동-수동 매체 접근부(250)에 '능동 동기화 대상' 아이템과 관련된 측정 데이터 또는 제어 데이터를 요청하는 프레임 전송을 요청한다(S710). 다음으로, 능동-수동 동기화부(230) 프레임의 전송이 성공하면(S720), '능동 동기화 대상'을 다음 번 캐쉬 아이템으로 변경한다(S730). 한편, 예상 지연 시간이 기준 지연 시간보다 작으면, 능동-수동 동기화부(230)는 S730단계를 수행한다.
상기 5가지 기능을 포함하는 능동-수동 동기화부(230)에 대한 제2실시예는 프로세스, 쓰레드, 이벤트 타이머(Event Timer) 등 여러 가지 방법으로 구현될 수 있다. 주기적 수행과 관련하여, 예상 지연 시간을 계산하기 위한 주기는 제1실시예와 동일하게 원하는 성능과 데이터 수집자 하드웨어 성능 등에 따라 다양한 방식으로 결정될 수 있다. 또한 능동 동기화 스케줄링과 관련하여 능동-수동 매체 접근부(250)의 구현상 1개 타임 슬롯 내외의 기간 동안 전송이 지연되는 경우가 있을 수 있는데, 이와 같은 상태를 파악하여 스케줄링 과정을 보정하는 방법에는 여러 가지가 있을 수 있다.
도 8은 본 발명에 따른 능동-수동 동기화부(230)의 제2실시예가 쓰레드(Thread)를 이용한 방법으로 구현된 실시예를 도시한 도면이다.
도 8을 참조하면, 능동-수동 동기화부(230)는 도 5를 참조하여 설명한 바와 같은 수동 동기화를 수행하는 쓰레드를 실행시킨다(S800). 다음으로, 능동-수동 동기화부(230)는 주기적으로 모든 캐쉬 아이템의 '예상 지연 시간'을 계산하는 쓰레드를 실행시킨다(S810). 다음으로, 능동-수동 동기화부(230)는 주기적으로 '능동 동기화 실행률'을 계산하는 쓰레드를 실행시킨다(S820). 다음으로, 능동-수동 동기화부(230)는 주기적으로 '능동 동기화 총 소요 시간'을 계산하여 '능동 동기화 총 소요 시간'과 '기준 지연 시간'이 가까워질 수 있도록 '기준 지연 시간'을 변경하는 쓰레드를 실행시킨다(S830). 다음으로 능동-수동 동기화부(230)는 도 7을 참조하여 설명한 바와 같은 저비용 능동 동기화 스케줄링 및 실행을 수행하는 쓰레드를 실행시킨다(S840).
도 9는 본 발명에 따른 데이터 수집 방법의 수행과정을 도시한 흐름도이다.
도 9를 참조하면, 능동-수동 동기화부(230)는 설비 제어 망을 통해 데이터 요청 프레임을 전송하여 지역 장치들(110-1 내지 110-n)에 대한 데이터를 수집하는 제1수집동작(능동 동기화)을 수행한다(S900). 이때, 능동-수동 동기화부(230)는 데이터 수집을 위한 프레임의 전송이 요청된 시점의 타임 슬롯 내에서 제2수집동작을 위해 수행할 수 있는 프레임 전송의 최대 횟수인 능동 동기화 쿼터 이내이면 데이터 수집을 위한 프레임의 전송을 수행한다. 또한 능동-수동 동기화부(230)는 지역 장치들(110-1 내지 110-n) 사이의 통신 프레임을 청취하여 지역 장치들(110-1 내지 110-n)에 대한 데이터를 수집하는 제2수집동작(수동 동기화)을 수행한다(S910).
다음으로, 능동-수동 동기화부(230)는 제1수집동작 및 제2수집동작을 수행하여 수집되어 캐쉬 메모리에 저장되어 있는 데이터 각각에 대하여 제1수집동작을 수행하지 않고 제2수집동작을 통해 데이터가 업데이트되는 시점까지 기다릴 경우에 제2수집동작 과정에 대한 확률 모델을 기반으로 추정되는 예상 지연 시간을 기초로 캐쉬 메모리에 저장되어 있는 데이터 각각에 대한 제1수집동작 스케줄을 결정한다(S920). 이때, 능동-수동 동기화부(230)는 제2수집동작을 통해 업데이트되는 주기를 확률 모델로 예측한 추정치인 예상 수동 동기화 주기와 가장 최근에 제2수집동작을 통해 데이터가 업데이트된 시각인 마지막 수동 동기화 업데이트 시각을 더한 후 가장 최근에 제1수집동작 또는 제2수집동작을 통해 데이터가 업데이트된 시각인 마지막 업데이트 시각을 감하여 예상 지연 시간을 산출한다.
다음으로, 동기화 통계 관리부(240)는 제2수집동작을 통해 데이터가 업데이트되는 시간 간격의 통계적 적률(Moment)을 측정하고, 제1수집동작 및 제2수집동작을 통해 데이터가 마지막으로 업데이트된 시간을 측정한다(S930).
이상의 설명에서 첨부된 도면들을 참조하여 설명한 방법의 실행순서는 도면에 도시된 순서로 한정되지 않는다. 예를 들어, 도 9에서 제2수집동작이 제1수집동작보다 먼저 수행되거나 제1수집동작과 함께 수행될 수 있다. 또한 도 9에서 통계적 적률 측정고 업데이트된 시간의 측정은 제1수집동작 스케줄의 결정에 앞서 수행될 수도 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.

Claims (19)

  1. 설비 제어 망을 통해 연결되어 있는 지역 장치들로부터 수집한 데이터를 저장하고, 캐쉬된 데이터 아이템들을 구성하는 캐쉬부;
    상기 설비 제어 망을 통해 데이터 요청 프레임을 전송하여 상기 지역 장치들에 대한 데이터를 수집하여 캐쉬된 데이터 아이템으로 저장하는 제1수집동작 및 상기 설비 제어망을 통해 상기 지역 장치들 사이의 통신 프레임을 청취하여 상기 지역 장치들에 대한 데이터를 수집하여 캐쉬된 데이터 아이템으로 저장하는 제2수집동작을 수행하고, 상기 제1수집동작을 수행하지 않고 상기 제2수집동작을 통해 상기 캐쉬된 데이터 아이템 각각이 업데이트되는 시점까지 기다릴 경우에 상기 제2수집동작 과정에 대한 확률 모델을 기반으로 추정되는 예상 지연 시간을 기초로 상기 캐쉬된 데이터 아이템 각각에 대한 제1수집동작 스케줄을 결정하는 능동-수동 동기화부; 및
    상기 설비 제어 망을 통해 수신된 프레임에서 얻은 데이터를 상기 능동-수동 동기화부에 전달하고, 상기 능동-수동 동기화부의 요청에 따라 상기 설비 제어 망의 상기 지역 장치들에 대한 데이터를 수집하기 위한 프레임을 전송하는 능동-수동 매체 접근부;를 포함하는 것을 특징으로 하는 데이터 수집 장치.
  2. 제 1항에 있어서,
    상기 제2수집동작을 통해 데이터가 업데이트되는 시간 간격의 통계적 적률(Moment)을 측정하고, 상기 제1수집동작 및 상기 제2수집동작을 통해 데이터가 마지막으로 업데이트된 시간을 측정하는 동기화 통계 관리부를 더 포함하는 것을 특징으로 하는 데이터 수집 장치.
  3. 제 1항 또는 제 2항에 있어서,
    통신망을 통해 연결되어 있는 외부 시스템으로부터 데이터 식별자 리스트가 포함된 요청 메시지가 수신되면, 상기 외부 시스템으로부터 수신된 요청 메시지에 응답하여 상기 데이터 식별자들에 대응하는 데이터를 상기 캐쉬부로부터 독출한 후 응답 메시지에 포함시켜 상기 외부 시스템으로 전송하는 서비스 인터페이스부를 더 포함하는 것을 특징으로 하는 데이터 수집 장치.
  4. 제 1항에 있어서,
    상기 능동-수동 매체 접근부는 상기 능동-수동 동기화부로부터 데이터 수집을 위한 프레임 전송 요청을 받은 시점의 타임 슬롯 내에서 전송한 프레임 수가 상기 능동-수동 매체 접근부가 상기 제1수집동작을 위해 수행할 수 있는 프레임 전송의 최대 횟수인 능동 동기화 쿼터 이내이면 상기 능동-수동 동기화부가 요청한 데이터를 수집하기 위한 프레임의 전송을 수행하는 것을 특징으로 하는 데이터 수집 장치.
  5. 제 4항에 있어서,
    상기 능동-수동 매체 접근부는, 상기 능동-수동 동기화부가 전송 요청한, 상기 지역 장치들로부터 데이터를 수집하기 위한 프레임을 자체에 구비된 버퍼에 저장한 후 상기 데이터 요청 프레임을 수신한 시점의 타임 슬롯에 이어지는 타임 슬롯의 시작 시점에 일괄 전송하는 것을 특징으로 하는 데이터 수집 장치.
  6. 제 1항에 있어서,
    상기 능동-수동 동기화부는 상기 제2수집동작을 통해 데이터가 업데이트되는 주기를 확률 모델로 예측한 추정치인 예상 수동 동기화 주기와 가장 최근에 상기 제2수집동작을 통해 데이터가 업데이트된 시각인 마지막 수동 동기화 업데이트 시각을 더한 후 가장 최근에 상기 제1수집동작 또는 상기 제2수집동작을 통해 데이터가 업데이트된 시각인 마지막 업데이트 시각을 감하여 상기 예상 지연 시간을 산출하는 것을 특징으로 하는 데이터 수집 장치.
  7. 제 6항에 있어서,
    상기 능동-수동 동기화부는 상기 캐쉬부에 저장되어 있는 데이터가 상기 제2수집동작을 통해 업데이트되는 시간 간격에 대한 확률 분포를 상기 설비 제어 망의 내부 시스템의 통신 특성을 기초로 설정하고, 상기 동기화 통계 관리부로부터 제공받은 통계 적률 데이터를 이용하여 상기 설정된 확률 분포의 누적 분포 함수의 인수에 대한 추정치를 설정한 후 상기 예상 수동 동기화 주기를 산출하는 것을 특징으로 하는 데이터 수집 장치.
  8. 제 1항에 있어서,
    상기 능동-수동 동기화부는 상기 캐쉬부로부터 상기 예상 지연 시간이 가장 큰 데이터를 검색하고, 상기 능동 수동 매체 접근부로부터 상기 검색된 데이터와 관련된 데이터를 제공받아 상기 캐쉬부에 저장되어 있는 데이터를 업데이트하는 것을 특징으로 하는 데이터 수집 장치.
  9. 제 1항에 있어서,
    상기 능동-수동 동기화부는 능동 동기화 대상인 데이터의 예상 지연 시간이 사전에 설정되어 있는 기준 지연 시간보다 크면, 상기 능동-수동 매체 접근부로부터 상기 능동 동기화 대상 데이터와 관련된 데이터를 제공받아 상기 캐쉬부에 저장되어 있는 데이터를 업데이트하는 것을 특징으로 하는 데이터 수집 장치.
  10. 제 9항에 있어서,
    상기 능동-수동 동기화부는 다음의 수학식에 의해 상기 기준 지연 시간을 변경하는 것을 특징으로 하는 데이터 수집 장치:
    Figure PCTKR2014002836-appb-I000003
    여기서, Tthreshold는 기준 지연시간이고, Tactive
    Figure PCTKR2014002836-appb-I000004
    로 정의되는 능동 동기화 총 소요 시간이고, Ncache_total은 상기 캐쉬부에 저장되어 있는 전체 데이터의 수이고, Eactive
    Figure PCTKR2014002836-appb-I000005
    로 정의되는 능동 동기화 실행률이고, Nreq는 프레임 전송이 요청된 데이터 수이고, Ntotal은 알고리즘에 적용된 전체 데이터 수이고, Nquota는 상기 능동-수동 매체 접근부가 상기 능동 동기화를 위해 수행할 수 있는 프레임 전송의 최대 횟수인 능동 동기화 쿼터이며, Tslot는 타임 슬롯의 크기이다.
  11. 설비 제어 망을 통해 연결되어 있는 지역 장치들로부터 데이터를 수집하는 데이터 수집 장치에서 수행되는 데이터 수집 방법에 있어서,
    (a) 상기 설비 제어 망을 통해 데이터 요청 프레임을 전송하여 상기 지역 장치들에 대한 데이터를 수집하여 캐쉬 메모리에 데이터 아이템으로 저장하는 제1수집동작을 수행하는 단계;
    (b) 상기 설비 제어 망을 통해 상기 지역 장치들 사이의 통신 프레임을 청취하여 상기 지역 장치들에 대한 데이터를 수집하여 상기 캐쉬 메모리에 데이터 아이템으로 저장하는 제2수집동작을 수행하는 단계; 및
    (c) 상기 제1수집동작을 수행하지 않고 상기 제2수집동작을 통해 상기 캐쉬된 데이터 아이템 각각이 업데이트되는 시점까지 기다릴 경우에 상기 제2수집동작 과정에 대한 확률 모델을 기반으로 추정되는 예상 지연 시간을 기초로 상기 캐쉬된 데이터 아이템 각각에 대한 제1수집동작 스케줄을 결정하는 단계;를 포함하는 것을 특징으로 하는 데이터 수집 방법.
  12. 제 11항에 있어서,
    (d) 상기 제2수집동작을 통해 데이터가 업데이트되는 시간 간격의 통계적 적률(Moment)을 측정하고, 상기 제1수집동작 및 상기 제2수집동작을 통해 데이터가 마지막으로 업데이트된 시간을 측정하는 단계를 더 포함하는 것을 특징으로 하는 데이터 수집 방법.
  13. 제 11항에 있어서,
    상기 (a)단계에서, 상기 데이터 수집을 위한 프레임의 전송이 요청된 시점의 타임 슬롯 내에서 상기 제2수집동작을 위해 수행할 수 있는 프레임 전송의 최대 횟수인 능동 동기화 쿼터 이내이면 상기 데이터 수집을 위한 프레임의 전송을 수행하는 것을 특징으로 하는 데이터 수집 방법.
  14. 제 11항에 있어서,
    상기 (c)단계에서, 상기 제2수집동작을 통해 업데이트되는 주기를 확률 모델로 예측한 추정치인 예상 수동 동기화 주기와 가장 최근에 상기 제2수집동작을 통해 데이터가 업데이트된 시각인 마지막 수동 동기화 업데이트 시각을 더한 후 가장 최근에 상기 제1수집동작 또는 상기 제2수집동작을 통해 데이터가 업데이트된 시각인 마지막 업데이트 시각을 감하여 상기 예상 지연 시간을 산출하는 것을 특징으로 하는 데이터 수집 방법.
  15. 제 14항에 있어서,
    상기 (c)단계는,
    (c1) 상기 캐쉬 메모리에 저장되어 있는 데이터가 상기 제2수집동작을 통해 업데이트되는 시간 간격에 대한 확률 분포를 상기 설비 제어 망의 내부 시스템의 통신 특성을 기초로 설정하는 단계; 및
    (c2) 상기 제2수집동작을 통해 데이터가 업데이트되는 시간 간격을 기초로 산출한 통계 적률 데이터를 이용하여 상기 설정된 확률 분포의 누적 분포 함수의 인수에 대한 추정치를 설정한 후 상기 예상 수동 동기화 주기를 산출하는 단계;를 포함하는 것을 특징으로 하는 데이터 수집 방법.
  16. 제 11항에 있어서,
    상기 (c)단계는,
    (c3) 상기 캐쉬 메모리로부터 상기 예상 지연 시간이 가장 큰 데이터를 검색하는 단계; 및
    (c4) 상기 검색된 데이터와 관련된 지역 장치로부터 데이터를 수집하여 상기 캐쉬 메모리에 저장되어 있는 데이터를 업데이트하는 단계;를 포함하는 것을 특징으로 하는 데이터 수집 방법.
  17. 제 11항에 있어서,
    상기 (c)단계에서, 상기 능동 동기화 대상인 데이터의 예상 지연 시간이 사전에 설정되어 있는 기준 지연 시간보다 크면, 상기 능동 동기화 대상 데이터와 관련된 지역 장치로부터 데이터를 수집하여 상기 캐쉬 메모리에 저장되어 있는 데이터를 업데이트하는 것을 특징으로 하는 데이터 수집 방법.
  18. 제 17항에 있어서,
    상기 (c)단계에서, 다음의 수학식에 의해 상기 기준 지연 시간을 변경하는 것을 특징으로 하는 데이터 수집 방법:
    Figure PCTKR2014002836-appb-I000006
    여기서, Tthreshold는 기준 지연시간이고, Tactive
    Figure PCTKR2014002836-appb-I000007
    로 정의되는 능동 동기화 총 소요 시간이고, Ncache_total은 상기 캐쉬부에 저장되어 있는 전체 데이터의 수이고, Eactive
    Figure PCTKR2014002836-appb-I000008
    로 정의되는 능동 동기화 실행률이고, Nreq는 프레임 전송이 요청된 데이터 수이고, Ntotal은 알고리즘에 적용된 전체 데이터 수이고, Nquota는 상기 능동-수동 매체 접근부가 상기 능동 동기화를 위해 수행할 수 있는 프레임 전송의 최대 횟수인 능동 동기화 쿼터이며, Tslot는 타임 슬롯의 크기이다.
  19. 제 11항 내지 제 18항 중 어느 한 항에 기재된 데이터 수집 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
PCT/KR2014/002836 2013-10-31 2014-04-02 설비 제어 망에서 확률 모델을 활용한 능동 수동 데이터 수집 장치 및 방법 WO2015064857A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130130827A KR101534477B1 (ko) 2013-10-31 2013-10-31 설비 제어 망에서 확률 모델을 활용한 능동 수동 데이터 수집 장치 및 방법
KR10-2013-0130827 2013-10-31

Publications (1)

Publication Number Publication Date
WO2015064857A1 true WO2015064857A1 (ko) 2015-05-07

Family

ID=52996605

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/002836 WO2015064857A1 (ko) 2013-10-31 2014-04-02 설비 제어 망에서 확률 모델을 활용한 능동 수동 데이터 수집 장치 및 방법

Country Status (4)

Country Link
US (1) US9477736B2 (ko)
KR (1) KR101534477B1 (ko)
CN (1) CN104601424B (ko)
WO (1) WO2015064857A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10387451B2 (en) * 2014-05-30 2019-08-20 Apple Inc. Synchronization system for multiple client devices
CN106850257B (zh) * 2016-12-22 2020-03-20 北京锐安科技有限公司 一种流式数据的检测方法及装置
CN113038570B (zh) * 2019-12-25 2023-01-06 北京东土科技股份有限公司 一种用户节点的接入控制方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050000879A (ko) * 2003-06-25 2005-01-06 주식회사 케이티 망 관리에서 장비 정보 수집 시스템 및 방법, 그프로그램이 기록된 기록매체
KR101081486B1 (ko) * 2010-05-31 2011-11-08 주식회사 케이티 에너지사용량 및 탄소배출량 모니터링 장치 및 방법
KR20120087263A (ko) * 2010-12-22 2012-08-07 한국전자통신연구원 빌딩 데이터 통합 수집 장치 및 방법
KR20130082630A (ko) * 2011-12-12 2013-07-22 엘지전자 주식회사 빌딩 에너지 관리 시스템 및 이의 제어 방법
KR20130117188A (ko) * 2012-04-18 2013-10-25 에스케이텔레콤 주식회사 가변풍량 방식을 이용한 에너지 관리 방법 및 이를 위한 에너지관리장치

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05191472A (ja) 1992-01-10 1993-07-30 Fujitsu Ltd データ収集処理方式
JPH06111030A (ja) 1992-09-28 1994-04-22 Yoshizawa Seiki Kogyo Kk 計測データ収録装置
JPH1115714A (ja) 1997-06-25 1999-01-22 Mitsubishi Electric Corp 情報取得端末、情報キャッシュサーバ及び情報取得方法
US6792455B1 (en) 2000-04-28 2004-09-14 Microsoft Corporation System and method for implementing polling agents in a client management tool
JP2002099327A (ja) 2000-09-21 2002-04-05 Hitachi Information Systems Ltd ホストコンピュータのデータ収集の異常を検出する端末コンピュータ、ホストコンピュータのデータ収集の異常を検出する異常検出方法、および該異常検出方法を記録した記録媒体
US7197561B1 (en) 2001-03-28 2007-03-27 Shoregroup, Inc. Method and apparatus for maintaining the status of objects in computer networks using virtual state machines
KR100574519B1 (ko) 2003-03-19 2006-04-27 삼성전자주식회사 네트워크를 통한 기기정보의 관리장치 및 방법
US7660366B2 (en) * 2004-08-30 2010-02-09 Harmonic Inc. Message synchronization over a stochastic network
KR100877947B1 (ko) 2004-12-29 2009-01-13 환경관리공단 굴뚝 원격 감시 시스템에서의 자료수집장치
KR20070105488A (ko) 2006-04-26 2007-10-31 주식회사 엔이아이디 해수 정보 관리 시스템
US7912950B1 (en) 2007-07-09 2011-03-22 ByteSphere Technologies, LLC Adaptive polling facility for network monitoring system
JP2009070017A (ja) 2007-09-12 2009-04-02 Hitachi Ltd 性能監視システム
KR101060058B1 (ko) 2008-12-16 2011-08-29 한화에스앤씨주식회사 유역의 물 순환관리 시스템
US8180824B2 (en) * 2009-02-23 2012-05-15 Trane International, Inc. Log collection data harvester for use in a building automation system
US9094228B2 (en) * 2009-05-11 2015-07-28 Panasonic Intellectual Property Management Co., Ltd. Home appliance monitoring system
JP5032543B2 (ja) * 2009-09-16 2012-09-26 株式会社東芝 スケジューリング装置、方法及びプログラム
DE102010022525A1 (de) * 2010-02-11 2012-05-10 Siemens Aktiengesellschaft Verfahren zur Zeitsynchronisation in einem Kommunikationsnetz
KR20110125045A (ko) 2010-05-12 2011-11-18 한국시설안전공단 이종 시설물의 통합 안전 관리 시스템 및 방법
US8996427B2 (en) * 2010-07-19 2015-03-31 Tapicu, Inc. Method for a system that solves multimedia resource discovery and retrieval problem sets
WO2012111109A1 (ja) * 2011-02-16 2012-08-23 三菱電機株式会社 データ転送装置
US20130073586A1 (en) * 2011-05-02 2013-03-21 Amadeus S.A.S. Database system using batch-oriented computation
US8873813B2 (en) * 2012-09-17 2014-10-28 Z Advanced Computing, Inc. Application of Z-webs and Z-factors to analytics, search engine, learning, recognition, natural language, and other utilities

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050000879A (ko) * 2003-06-25 2005-01-06 주식회사 케이티 망 관리에서 장비 정보 수집 시스템 및 방법, 그프로그램이 기록된 기록매체
KR101081486B1 (ko) * 2010-05-31 2011-11-08 주식회사 케이티 에너지사용량 및 탄소배출량 모니터링 장치 및 방법
KR20120087263A (ko) * 2010-12-22 2012-08-07 한국전자통신연구원 빌딩 데이터 통합 수집 장치 및 방법
KR20130082630A (ko) * 2011-12-12 2013-07-22 엘지전자 주식회사 빌딩 에너지 관리 시스템 및 이의 제어 방법
KR20130117188A (ko) * 2012-04-18 2013-10-25 에스케이텔레콤 주식회사 가변풍량 방식을 이용한 에너지 관리 방법 및 이를 위한 에너지관리장치

Also Published As

Publication number Publication date
US20150120657A1 (en) 2015-04-30
CN104601424B (zh) 2018-06-08
KR20150049809A (ko) 2015-05-08
KR101534477B1 (ko) 2015-07-07
CN104601424A (zh) 2015-05-06
US9477736B2 (en) 2016-10-25

Similar Documents

Publication Publication Date Title
Zhao et al. Virtual time CSMA protocols for hard real-time communication
CN111580995B (zh) 基于mqtt异步通信场景下的分布式云平台与物联网智能终端的同步通信方法与系统
US8635263B2 (en) Node processing device and its processing method
JP6431511B2 (ja) 産業ネットワークのフィールドレベルブロードバンドバスのアーキテクチャシステム
JP5444906B2 (ja) プラント監視システム、プラント監視装置、端末装置
WO2012024909A1 (zh) 长连接管理装置及长连接通讯的链路资源管理方法
KR100807529B1 (ko) 무선 필드버스를 이용한 실시간 전송 방법
JPS62100044A (ja) 通信装置及び通信方法
CN107135279A (zh) 一种处理长连接建立请求的方法和装置
WO2014112811A1 (en) Method and apparatus for controlling traffic in electronic device
Zhang et al. Tuning the aggressive TCP behavior for highly concurrent HTTP connections in intra-datacenter
JP2010161501A (ja) ネットワークの管理システム及び管理方法
WO2015064857A1 (ko) 설비 제어 망에서 확률 모델을 활용한 능동 수동 데이터 수집 장치 및 방법
EP3335398A1 (en) Method and apparatus for transmitting and receiving data in communication system
CN111865817A (zh) 遥测采集器负载均衡管控方法、装置、设备及存储介质
US11750334B2 (en) Data collection management device and data collection system
CN108337285B (zh) 一种通信系统及通信方法
WO2018014688A1 (zh) 一种帧流控制方法和装置、计算机存储介质
JPH0865759A (ja) ビル管理装置
WO2005029778A1 (ja) 通信制御回路および通信制御方法
KR100278306B1 (ko) 광전송장치 운용관리시스템 및 그 방법
US20130346601A1 (en) Network device, method of controlling the network device, and network system
WO2022080706A1 (ko) 통신 네트워크 시스템 및 그것의 제어방법
KR102334975B1 (ko) 사물 인터넷 장치의 데이터 분산 전송을 이용한 자동화 설비 제어 시스템
Lin et al. Design and implementation of high-performance and low-latency cloud protocol gateway based on BBR congestion control algorithm

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: 14858029

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205N DATED 120816)

122 Ep: pct application non-entry in european phase

Ref document number: 14858029

Country of ref document: EP

Kind code of ref document: A1