In a number of fields, including network management, communications, and system and instrument design, “events” are generally treated differently from “data.” “Events” typically are occurrences of attributes or instants in time while “data” are the values or magnitudes of various attributes. The distinction between “events” and “data” can be seen in a variety of applications. For example, a voltmeter measures the voltage level for an attribute (e.g. a test point) without noting when or for how long the attribute is at a particular level.
Sub-system 104 is generally known as a fault detection or event propagation system and often resides adjacent to sub-system 102. Sub-system 104 detects the occurrence of an “event” and alerts operators or other devices to the occurrence of the event. Device 112 collects “event” information and transmits the information to device 114 over connection 116. Connection 116 is typically configured as a low latency, low throughput connection.
Constructing and maintaining two separate sub-systems often results in inefficient and more expensive systems. Furthermore, the decisions regarding what constitutes an “event” and “data” are made at design time. Consequently, additional information surrounding an “event” or “data” is not captured and opportunities for further analysis or investigation are lost.
In accordance with the invention, a method and system for treating events and data uniformly are provided. Information that includes both a time component and a value component is collected. The time component provides time and duration information typically associated with the value component. The value component includes one or more attributes, such as, for example, quantity, magnitude, and model parameters. The information is then transmitted over a connection to one or more downstream entities. The one or more downstream entities may then determine whether to use all or a portion of the collected information.
The invention will best be understood by reference to the following detailed description of embodiments in accordance with the invention when read in conjunction with the accompanying drawings, wherein:
The following description is presented to enable one skilled in the art to make and use embodiments of the invention, and is provided in the context of a patent application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the generic principles herein may be applied to other embodiments. Thus, the invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the appended claims and with the principles and features described herein.
With reference to the figures and in particular with reference to
An entity, such as a device, a software program, a system, or a combination thereof, collects the information in an embodiment in accordance with the invention. Examples of an entity are a measurement device or a device that monitors data for control purposes. Information may be collected by other types of entities in other embodiments in accordance with the invention.
A determination is then made at block 202 as to whether the collected information can be optimized. For example, a system may be customized for a particular purpose and use only a portion of the collected information. The portion of the information not used is then discarded. For example, in one embodiment in accordance with the invention, some or all of the time component is discarded. In another embodiment in accordance with the invention, some or all of the value component is discarded.
Block 202 may occur at any point in a system. For example, a destination entity, an intermediate entity, or an observer may determine which component to discard. If the information can be optimized, the process passes to bock 204 where the information is optimized. The information is then stored, as shown in block 206. In an embodiment in accordance with the invention, the optimized information is stored. The collected information or both the collected information and the optimized information may be stored in other embodiments in accordance with the invention.
If the information does not have to be optimized, a determination is made at block 208 as to whether only a component or a portion of the information is to be processed. Processing of the information includes, but is not limited to, analysis of the information, storage of the information, or presentation of the information to an observer. In one embodiment in accordance with the invention, an entity processes some or all of the time component. In another embodiment in accordance with the invention, an entity processes some or all of the value component. And in yet another embodiment in accordance with the invention, a portion of the time component and a portion of the value component is processed by an entity.
Like block 202, block 208 may occur at any point in a system. For example, a destination entity, an intermediate entity, or an observer can determine which component or portion of information to process. In some embodiments in accordance with the invention, the determination is delayed as late as possible in order to preserve opportunities to access or use one or both components.
If a component or portion of information is to be processed, the component or portion is extracted from the collected information and processed at block 208. The data is then stored, as shown in block 206. In an embodiment in accordance with the invention, the collected information is stored. The extracted information or both the collected and extracted information may be stored in other embodiments in accordance with the invention. Returning again to block 208, if a component or portion will not be processed, the process passes to block 206 where the collected information is stored.
Embodiments in accordance with the invention may perform some or all of the blocks illustrated in
Time component 302 includes records 306, 308. Records 306, 308 provide time and duration information. Together records 306, 308 represent time as an interval of time. For example, time component 302 may describe the interval over which value component 304 occurred or the interval just before or after the occurrence of value component 304.
In one embodiment in accordance with the invention, record 306 may be a time at which collection of an attribute started and record 308 may describe an amount of time the attribute remained at a particular value. In another embodiment in accordance with the invention, record 306 may be configured as a time at which collection of an attribute started and record 308 as a time at which collection of an attribute ended. And in yet another embodiment in accordance with the invention, record 306 may define a time at which collection of an attribute ended and record 308 as an amount of time the attribute remained at a particular value.
Referring now to
In one embodiment in accordance with the invention, intermediate entity 404 analyzes the collected information and determines whether a portion of the information is to be processed by one or both downstream entities 408, 410. For example, in one embodiment in accordance with the invention, entity 408 processes the time component while entity 410 processes one or more attributes in the value component. In another embodiment in accordance with the invention, entity 408 processes both the time and value components and entity 410 processes the time component. In yet another embodiment in accordance with the invention, both entities 408, 410 process both components. Interpretation of the collected information is determined by the application, and different determinations may be made in other embodiments in accordance with the invention.
Based on its interpretation of the collected information, entity 404 transmits the information or a portion of the information to entity 408 via connection 412 and to entity 410 via connection 414. Entity 404 may also store the collected information or a portion of the information in storage 416. Like connection 406, each connection 412, 414 may be configured, for example, as a direct connection or as one or more wired or wireless networks. Connection 412 and connection 414 may also be configured as a low latency, low throughput channel or as a high latency, high throughput channel, depending on the application.
In another embodiment in accordance with the invention, intermediate entity 404 includes one or more output devices 418, including a display, and one or more input devices 420. The collected information is displayed to an observer on the display 418. The observer uses one or more of the input devices 420 to select a portion of the information. For example, the observer may use a pointing device, such as a mouse or stylus, to select a portion of the information for further processing by one or both downstream entities 408, 410. Entities 408, 410 may also store the information or portions of the information in storages 422, 424, respectively.
Each entity 402, 404, 408, 410 may be implemented as a device, a software program, a system, or some combination thereof. For example, entity 402 may be configured as a measurement device or as a monitoring device. And processing of the information or a portion of the information may include, but not be limited to, analysis, presentation, or storage of some or all of the information.
In one embodiment in accordance with the invention, entity 502 collects and analyzes the information and transmits only the information entity 504 processes. For example, entity 504 may process only the time component of the information, so entity 502 transmits the time component to entity 504 using low latency, low throughput connection 506. In another embodiment in accordance with the invention, entity 502 collects the information and transmits the time component to entity 504 over low latency, low throughput connection 506 and transmits the value component over high latency, high throughput connection 508. And in another embodiment in accordance with the invention, entity 502 collects the information and transmits both the time and value component to entity 504 using high latency, high throughput connection 506. Entity 504 then analyzes the information and processes all or portions of the information.
In yet another embodiment in accordance with the invention, entity 504 includes one or more output devices 512, including a display, one or more input devices 514, and storage 516. The collected information is displayed to an observer on display 512 and the observer uses one or more of the input devices 514 to select a portion of the information. For example, the information may be displayed in a user interface and the observer uses a pointing device, such as a mouse or stylus, to select a portion of the information for further processing. Alternatively, the observer may select a portion of the information to discard. The portion of the information to be processed or the collected information may also be stored in storage 516.
Thus, information is collected with both a time component and a value component in embodiments in accordance with the invention. And the time component is represented as an interval of time. In one embodiment in accordance with the invention, both components are stored or processed, or both stored and processed. In another embodiment in accordance with the invention, a portion of the information or a portion of a component are stored or processed, or both stored and processed. The determination of which portion of the information or which component an entity processes can be made at any time after the information is captured. In some embodiments in accordance with the invention, the determination is delayed as late as possible in order to preserve opportunities to access or use one or both components.