The subject invention relates generally to historian components associated with industrial controllers and more particularly to discovery of embedded historian components and data type collected thereby.
Industrial controllers are special-purpose computers utilized for controlling industrial processes, manufacturing equipment, and other factory automation, such as data collection or networked systems. At the core of the industrial control system, is a logic processor such as a Programmable Logic Controller (PLC) or PC-based controller. Programmable Logic Controllers for instance, are programmed by systems designers to operate manufacturing processes via user-designed logic programs or user programs. The user programs are stored in memory and generally executed by the PLC in a sequential manner although instruction jumping, looping and interrupt routines, for example, are also common. Associated with the user program are a plurality of memory elements or variables that provide dynamics to PLC operations and programs. Differences in PLCs are typically dependent on the number of Input/Output (I/O) they can process, amount of memory, number and type of instructions, and speed of the PLC central processing unit (CPU).
In a more macro sense than the controller, businesses have become more complex in that higher order business systems or computers often need to exchange data with such controllers. For instance, an industrial automation enterprise may include several plants in different locations. Modern drivers such as efficiency and productivity improvement, and cost-reduction, are requiring manufacturers to collect, analyze, and optimize data and metrics from global manufacturing sites. For example, a food company can have several plants located across the globe for producing a certain brand of food. These factories in the past were standalone, with minimum data collection and comparison of metrics with other similar factories. In the networked world of today, manufacturers are demanding real-time data from their factories to drive optimization and productivity. Unfortunately, conventional control systems architectures are not equipped to allow a seamless exchange of data between these various components of the enterprise.
Another requirement of modern control system architectures is the ability to record and store data in order to maintain compliance with Food and Drug Administration regulations such as Regulation 21 CFR Part 11. One common solution for recording data includes providing a local recording module that often occupies a slot in a controller backplane such as a PC-Historian which is an industrial computer for the controller backplane, and employs a transitional layer to supply an indirect interface to the controller. This includes a platform that provides high speed, time series, data storage and retrieval with both local and remote control processors. The PC-Historian communicates with controllers directly through the backplane and can communicate remotely via a network interface. The PC-Historian allows archiving data from the controller to an Archive Engine which provides additional storage capabilities.
In general, conventional historian processors enable high-speed real-time data collection by communicating directly with the control processor across the backplane for fast data collection speeds. This includes handling large quantities of data over extended time periods while providing efficient storage and retrieval of process data over extended periods of time. These solutions are generally employed for electronic documentation and provide an audit trail and data flags for tracking modified, inserted, or incomplete data. In order to configure such products, a Graphical User Interface (GUI) can be provided to map controller tags defined in a local or remote processor to a data historian file.
However, there are several disadvantages with existing data collection and storage solutions. Conventional PC-historians are generally applied on the back-end of system design and are thus loosely coupled or integrated within the framework of the control architecture. Such an arrangement leads to many inefficiencies for collecting data and ultimately identifying what data should or should not be captured. Other shortcomings include issues related to which historians should collect what data, and how such historians map and integrate into a larger enterprise.
The following presents a simplified summary in order to provide a basic understanding of some aspects described herein. This summary is not an extensive overview nor is intended to identify key/critical elements or to delineate the scope of the various aspects described herein. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is presented later.
The subject innovation provides for systems and methods that facilitate discovery of history data via a locator component associated with a plant historian of an industrial programmer (e.g., a controller device.) Such locator component can further detect embedded historians that are distributed on the back plane of an industrial network. In general, such embedded historians (unlike conventional PC historians) supply a direct interface to controllers without employing a transitional layer, and hence provide a substantially higher data exchange rate as compared to conventional PC historians. The locator component can be part of applications running on a control unit, which can function as a management control center for the industrial network system.
In a related aspect, the locator component can define type of historian data to be automatically located and collected from the embedded historians, and further assigns type of historian data to be collected by such embedded historians. For example, the locator component can employ a trail of metadata to identify the embedded historians and relevant historian data for collection. Additionally, a polling/publication arrangement can also be employed wherein the embedded historians (e.g., microhistorians) identify themselves to the locator component upon occurrence of a predetermined event, and/or periodically.
Accordingly, a distributed and scalable framework can be provided, which enables data historian functionality to be efficiently incorporated at various levels of an enterprise. For example, from lower control levels of a plant, to middle tiers of the plant (which collect data from the lowest levels) and from enterprise levels that aggregate data from such lower and middle levels, the embedded historian components can interact with a locator component, to facilitates data collection across an organizational hierarchy. Such framework can employ a directory and location service to enable configuration of embedded historians and to allow automated integration at the various levels of the organization.
In a related methodology in accordance with an aspect of the subject innovation, users can initially determine type of data to be collected. The locator component is then notified for collection of such data type. The locator component can then locate embedded historians that have collected or have access to a collection of determined data type. Subsequently, the data can be acquired, supplied and reported to the user.
To the accomplishment of the foregoing and related ends, certain illustrative aspects are described herein in connection with the following description and the annexed drawings. These aspects are indicative of various ways which can be practiced, all of which are intended to be covered herein. Other advantages and novel features may become apparent from the following detailed description when considered in conjunction with the drawings.
The various aspects of the subject innovation are now described with reference to the annexed drawings, wherein like numerals refer to like or corresponding elements throughout. It should be understood, however, that the drawings and detailed description relating thereto are not intended to limit the claimed subject matter to the particular form disclosed. Rather, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the claimed subject matter.
For example, common organization functionality such as security services can be distributed to the embedded historians 121, 122, 123 according to the data model and directory service, wherein the common data model then exposes functionality and data of the organization to the distributed embedded historians 121, 122, 123. In contrast to conventional PC historians, embedded historians (e.g., micro historians) of the subject innovation are special purpose historians that reside in a backplane and supply direct interface (e.g., without a transition layer) to controllers and/or associated industrial units. Such embedded historians employ industrial specifications (e.g., regarding shock vibration, sealing, contamination proofing, and the like), and supply substantially higher data exchange speed as compared to conventional PC historians. A network system (not shown) can be associated with the industrial automation system 100, which can be searched via the locator component 110. The network system can further include additional hosts (not shown), which may be personal computers, servers or other types of computers. Such hosts generally can be capable of running or executing one or more application-level (or user-level) programs, as well as initiating an I/O request (e.g., I/O reads or writes). In addition, the network system can further include one or more input/output units (I/O units), wherein such I/O units can includes one or more I/O controllers connected thereto, and each of the I/O can be any of several types of I/O devices, such as storage devices (e.g., a hard disk drive, tape drive) or other I/O device. The hosts and I/O units and their attached I/O controllers and devices can be organized into groups such as clusters, with each cluster including one or more hosts and typically one or more I/O units (each I/O unit including one or more I/O controllers). The hosts and I/O units can be interconnected via a collection of routers, switches and communication links (such as wires, connectors, cables, and the like) that connects a set of nodes (e.g., connects a set of hosts and I/O units) of one or more clusters.
It is noted that as used in this application, terms such as “component,” “hierarchy,” “model,” and the like are intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution as applied to an automation system for industrial control. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program and a computer. By way of illustration, both an application running on a server and the server can be components. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers, industrial controllers, and/or modules communicating therewith.
The industrial setting or organizational enterprise 200 can employ a plurality of computers or network components that communicate across the network 214, to one or more industrial control components 230, such as for example programmable logic controllers (PLCs) 211,212, 213 (1 to j, j being an integer) or other factory components. Thus, the embedded historian components 210 can be operated as a singular or collective entity while being viewed, managed and distributed across substantially all or portions of the enterprise 220, control component 230 and/or locator component 209. For example, at the control levels 230, embedded historians can be embedded within a PLC rack to collect data, whereas higher levels at 220 can be employed to aggregate data from lower levels. Such can include higher level software components that communicate across the network 214 to collect data from lower level control components. The network 214 can include public networks such as the Internet, Intranets, and automation networks such as Control and Information Protocol (CIP) networks including DeviceNet and ControlNet. Other networks include Ethernet, DH/DH+, Remote I/O, Fieldbus, Modbus, Profibus, wireless networks, serial protocols, and the like. In addition, the network devices can include various possibilities (hardware and/or software components). These include components such as switches with virtual local area network (VLAN) capability, LANs, WANs, proxies, gateways, routers, firewalls, virtual private network (VPN) devices, servers, clients, computers, configuration tools, monitoring tools, and/or other devices.
Likewise, the industrial/enterprise 220 can include various computer or network components such as servers, clients, communications modules, mobile computers, wireless components, and the like which are capable of interacting across the network 214. Similarly, the term PLC as used herein can include functionality that can be shared across multiple components, systems, and/or networks 214. For example, one or more PLCs of the control component 230 can communicate and cooperate with various network devices across the network 214. Such can include substantially any type of control, communications module, computer, I/O device, sensor, Human Machine Interface (HMI)) that communicate via the network 214 which includes control, automation, and/or public networks. The PLC 230 can also communicate to and control various other devices such as Input/Output modules including Analog, Digital, Programmed/Intelligent I/O modules, other programmable controllers, communications modules, and the like.
The system 200 enables combining organizational information such as an organizational or hierarchical data model which represents a common model of a plant that can be based in the S88 or S95 model, and is distributed among computers of the enterprise 220 and industrial controllers 230, for example. The model can be viewed as an Organizational Data Model—a tree-like hierarchical and heterogeneous structure of organizational Units. For instance, respective Organizational Units can include other Organizational Units. Organizational Units can be either physical locations (e.g., Site, Area) or logical grouping node or collection (e.g., Enterprise as a collection of Sites). The nodes in the organizational hierarchy or model can have associated items representing the plant's production and control equipment, tags, backing tags (e.g., Alarm & Event and the like), programs, equipment phases, I/O devices, and other application related entities. These organizational units thus can form an application view of the user's system.
A typical system 200 can assign the upper levels of the hierarchy such as an Enterprise node and site to a computer system and the lower levels such as area, line, cell and machine can be contained in multiple industrial controllers 230; each of which can include components that are members of one or more organization units such as area or area model. Moreover, an organization unit can contain components from one or more controllers. The embedded historian component 210 can be positioned at various levels of the enterprise 220 and/or control 230; and can also further be integrated therein and scaled according to system data collection requirements. Such organizational model enables embedded historian components 210 to locate data of interest for collection purposes and to readily adapt and become integrated within the larger system 200.
Adaptability within the system 200 can be facilitated by data having additional information such as metadata that identifies the purpose of the data. Such metadata can further be employed by the locator component 209 to identify a micro-historian. For example, the locator component 209 can employ a trail of metadata to identify the embedded historians and relevant historian data for collection
Accordingly, one form of data can identify itself as a control tag that has been marked or labeled via metadata to indicate its significance for data collection purposes. Another type of label or metadata can indicate security information that is being distributed throughout the system 200. Furthermore, other type of data can indicate that an alarm condition or an event has occurred within the system and thus, a respective embedded historian component should capture such alarm or event. In general, the organizational model enables embedded historian components 210 to receive functionality or data context from the system 200 and to expose its respective functionality to the system via the model. For example, context allows embedded historian components to such auto configuration routines where one or more components of the embedded historian architecture can be automatically discovered and configured onto a respective system. Hence, the embedded historian components 210 and the locator component 209 can be automatically integrated within the system 200, to further facilitate scaling of the system as data conditions change.
In a related aspect, such scaling can include the ability of one or more components of an organization to collaborate, and provide an overall scheme for historical data collection. Such can include having lower level PLCs or factory components collecting data and sharing this data with higher levels of the organization. If one or more of the levels become overloaded with the data collection process, historian functionality can be shifted between levels (upwards or downwards) to more effectively employ system-wide resources in an efficient manner. For instance, communications between levels can allow sharing of data collection responsibilities between one or more levels of the enterprise from the very lowest levels through the higher levels of the organizational hierarchy.
For example, the lowest level entity can have sufficient memory for data collection of desired embedded historian or archived information. If such memory resources are consumed, messaging capabilities throughout the hierarchy can subsequently take over to distribute storage responsibilities from one layer to another via suitable network messages (wireless or wired) that communicate data from one level to another. It is to be appreciated that tiers of an organization can collaborate in many combinations. Thus, a high level tier could collaborate with a low level tier or collaboration can take place between multiple tiers if desired such as between higher levels, intermediate levels, and lower levels of an organization.
The locator component 209 can identify embedded historians (e.g., micro-historians), and notify them to collect various data types. The locator component 209 can subsequently locate embedded historians that have collected or have access to a collection of such data type. Next, the data can be acquired, supplied and reported to the user via a plurality of interfaces. Such interfaces can be supplied to manipulate the embedded historian components 210 and organizational data model; such as a Graphical User Interface (GUI) to interact with the model or other components of the hierarchy; e.g., as any type of application that sends, retrieves, processes, and/or manipulates factory or enterprise data, receives, displays, formats, and/or communicates data, and/or facilitates operation of the enterprise 220 and/or PLCs 230. For example, such interfaces can also be associated with an engine, server, client, editor tool or web browser although other type applications can be utilized.
The locator component 425 can be associated with a directory and discovery service 420. Such an arrangement enables the embedded historian component 400 to locate other embedded historian components in the system and to receive/expose historian data to other system components. This can include a network directory that determines physical addresses from logical names and vice versa, for example. Moreover, the publish and subscribe component 430 can provide subscription functionality to the embedded historian component 400, wherein data collection efficiency of the system can be enhanced. For example, the publish and subscribe component 430 of the system 405 allows data to be published or generated when a change in the data has been detected. Thus, the embedded historian component 400 can subscribe to such change events and thus only record data when a change has occurred which reduces the amount of data to be stored. Furthermore, the locator component 425 can employ a trail of metadata to identify the micro-historians and relevant historian data for collection. Additionally, a polling/publication arrangement can also be employed wherein the embedded historians (e.g., micro-historians) identify themselves to the locator component upon occurrence of a predetermined event, and/or periodically.
As illustrated in
Moreover, the HMI 520 can employ the directory interface 540 to point to data located within the system 500. The HMI 520 can be employed to graphically display various aspects of a process, system, factory, etc. to provide a simplistic and/or user-friendly view of the system. Accordingly, various data points within a system can be displayed as graphical (e.g., bitmaps, jpegs, vector based graphics, clip art and the like) representations with desired color schemes, animation, and layout.
The HMI 520 can request data to have particular visualization attributes associated with data in order to easily display such data thereto. For example, the HMI 520 can query the directory interface 540 for a particular data point that has associated visualization attributes. The directory interface 540 can determine the proxy server 580 contains the attributed data point with the desired visualization attributes. For instance, the attributed data point can have a particular graphic that is either referenced or sent along with the data such that this graphic appears within the HMI environment instead of or along with the data value.
As explained earlier, the PLC 530 can be any number of models such as Allen Bradley PLC5, SLC-500, MicoLogix, and the like. The PLC 530 is generally defined as a specialized device employed to provide high-speed, low-level control of a process and/or system. The PLC 530 can be programmed using ladder logic or some form of structured language. Typically, the PLC 530 can utilize data directly from a data source (e.g., data source 560) that can be a sensor, encoder, measurement sensor, switch, valve and the like. The data source 560 can provide data to a register in a PLC and such data can be stored in the PLC if desired. Additionally, data can be updated (e.g., based on a clock cycle) and/or output to other devices for further processing.
Typically, the system 600 can be viewed as a Distributed Historian that spans machines, plants, and enterprises. At level 630, the historian collects data at the rack level and is coupled to Common Plant Data Structure described above. Such can include collecting process & discrete data, alarms & events in a single archive if desired. Other aspects can include auto-discovery of data and context from controllers in local chassis including store/forward data capabilities from local buffers. Data can be collected without polling, having a low communications bandwidth. The plant level 620 aggregates data from Micro or rack-embedded Historians and/or other data sources (e.g., Live Data source). Such can include plant-level querying, analytics, reporting while efficiently storing, retrieving, and managing large amounts of data. This level can also auto-discover data and data model context from Micro Historians located at level 630. Other features of the system 600 can include analysis components, logical units, components for interaction with report elements, embeddable presentation components, replication of configuration, storage, archiving, data compression, summarization/filtering, security, and scalability.
In order to provide context for the various applications in which the aspects of the innovation may be carried out, an exemplary control system that can employ a locator component that tracks embedded historians is now illustrated and described with respect to
The modules 1014 within the rack 1012A can include, for example, a power supply module 1018, a processor module 1026, two communication modules 1024A and 1024B and two I/O modules 1020. A power supply module 1018 receives an external source of power (not shown) and provides regulated voltages to the other modules 1014 by means of conductors on the backplane 1016A. The I/O modules 1020 provide an interface between inputs from, and outputs to external equipment (not shown) via cabling 1022 attached to the I/O modules 1020 at terminals on their front panels. The I/O modules 1020 convert input signals on the cables 1022 into digital words for transmission on the backplane 1016A. The I/O modules 1020 also convert other digital words from the backplane 1016A to the necessary signal levels for control of equipment.
The communication modules 1024A and 1024B provide a similar interface between the backplane 1016A and one of two external high speed communication networks 1027A and 1027B. The high speed communication networks 1027A and 1027B may connect with other modules 1014 or with remote racks of I/O modules 1020, controller configuration tools or systems, or the like. In the example illustrated in
The internal bus 1134 joins the backplane interface 1132 with a memory 1136, a microprocessor 1128, front panel circuitry 1138, I/O interface circuitry 1139 and communication network interface circuitry 1141. The microprocessor 1128 can be a general purpose microprocessor providing for the sequential execution of instructions included within the memory 1136 and the reading and writing of data to and from the memory 1136 and the other devices associated with the internal bus 1134. The microprocessor 1128 includes an internal clock circuit (not shown) providing the timing of the microprocessor 1128 but may also communicate with an external clock 1143 of improved precision. This clock 1143 may be a crystal controlled oscillator or other time standard including a radio link to an external time standard. The precision of the clock 1143 may be recorded in the memory 1136 as a quality factor. The panel circuitry 1138 includes status indication lights such as are well known in the art and manually operable switches such as for locking the module 1114 in the off state.
The memory 1136 can comprise control programs or routines executed by the microprocessor 1128 to provide control functions, as well as variables and data necessary for the execution of those programs or routines. For I/O modules, the memory 1136 may also include an I/O table holding the current state of inputs and outputs received from and transmitted to the industrial controller 1110 via the I/O modules 1120. The module 1114 can be adapted to perform the various methodologies of the innovation, via hardware configuration techniques and/or by software programming techniques.
What has been described above includes various exemplary aspects. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing these aspects, but one of ordinary skill in the art may recognize that many further combinations and permutations are possible. In particular regard to the various functions performed by the above described components (assemblies, devices, circuits, systems, etc.), the terms (including a reference to a “means”) used to describe such components are intended to correspond, unless otherwise indicated, to any component which performs the specified function of the described component (e.g., that is functionally equivalent), even though not structurally equivalent to the disclosed structure, which performs the function in the herein illustrated exemplary aspects of the innovation. In this regard, it will also be recognized that the innovation includes a system as well as a computer-readable medium having computer-executable instructions for performing the acts and/or events of the various methods of the innovation. Furthermore, to the extent that the term “includes” is used in either the detailed description or the claims, such term is intended to be inclusive in a manner similar to the term “comprising” as “comprising” is interpreted when employed as a transitional word in a claim.
Number | Name | Date | Kind |
---|---|---|---|
4510565 | Dummermuth | Apr 1985 | A |
4553205 | Porchia | Nov 1985 | A |
4616333 | Shimoni | Oct 1986 | A |
4718025 | Minor et al. | Jan 1988 | A |
4975865 | Carrette et al. | Dec 1990 | A |
5003469 | Kamiyama et al. | Mar 1991 | A |
5051932 | Inoue et al. | Sep 1991 | A |
5274781 | Gibart | Dec 1993 | A |
5452201 | Pieronek et al. | Sep 1995 | A |
5805442 | Crater et al. | Sep 1998 | A |
5901323 | Milliken et al. | May 1999 | A |
5943675 | Keith et al. | Aug 1999 | A |
6110214 | Klimasauskas | Aug 2000 | A |
6139201 | Carbonell et al. | Oct 2000 | A |
6204782 | Gonzalez et al. | Mar 2001 | B1 |
6252589 | Rettig et al. | Jun 2001 | B1 |
6263487 | Stripf et al. | Jul 2001 | B1 |
6298393 | Hopsecger | Oct 2001 | B1 |
6411987 | Steger et al. | Jun 2002 | B1 |
6505247 | Steger et al. | Jan 2003 | B1 |
6536029 | Boggs et al. | Mar 2003 | B1 |
6539271 | Lech et al. | Mar 2003 | B2 |
6559861 | Kennelly et al. | May 2003 | B1 |
6574639 | Carey et al. | Jun 2003 | B2 |
6618856 | Coburn et al. | Sep 2003 | B2 |
6633782 | Schleiss et al. | Oct 2003 | B1 |
6701324 | Cochran et al. | Mar 2004 | B1 |
6754668 | Noble et al. | Jun 2004 | B2 |
6754885 | Dardinski et al. | Jun 2004 | B1 |
6795798 | Eryurek et al. | Sep 2004 | B2 |
6799148 | Ling et al. | Sep 2004 | B2 |
6847850 | Grumelart | Jan 2005 | B2 |
6865644 | Husted et al. | Mar 2005 | B2 |
6952727 | Lindner et al. | Oct 2005 | B1 |
6975913 | Kreidler et al. | Dec 2005 | B2 |
7043311 | Nixon et al. | May 2006 | B2 |
7069201 | Lindner et al. | Jun 2006 | B1 |
7181370 | Furem et al. | Feb 2007 | B2 |
7206646 | Nixon et al. | Apr 2007 | B2 |
7206965 | Roddy et al. | Apr 2007 | B2 |
7218974 | Rumi et al. | May 2007 | B2 |
7228310 | O'Brien | Jun 2007 | B2 |
7249356 | Wilson et al. | Jul 2007 | B1 |
7272665 | Yamada et al. | Sep 2007 | B2 |
7275062 | Deitz et al. | Sep 2007 | B2 |
7286888 | Monette et al. | Oct 2007 | B2 |
7299367 | Hamm et al. | Nov 2007 | B2 |
7328078 | Sanford et al. | Feb 2008 | B2 |
7359930 | Jackson et al. | Apr 2008 | B2 |
7574417 | McGreevy et al. | Aug 2009 | B1 |
20020133523 | Ambler et al. | Sep 2002 | A1 |
20020174263 | Codd et al. | Nov 2002 | A1 |
20030014130 | Grumelart | Jan 2003 | A1 |
20030041135 | Keyes et al. | Feb 2003 | A1 |
20030101208 | Chauvel et al. | May 2003 | A1 |
20030172107 | Leyfer et al. | Sep 2003 | A1 |
20030182303 | Gibson | Sep 2003 | A1 |
20040153437 | Buchan | Aug 2004 | A1 |
20040181294 | Deitz et al. | Sep 2004 | A1 |
20050198034 | Boyer | Sep 2005 | A1 |
20050198406 | Sichner | Sep 2005 | A1 |
20050210337 | Chester et al. | Sep 2005 | A1 |
20060004827 | Stuart | Jan 2006 | A1 |
20060020928 | Holloway et al. | Jan 2006 | A1 |
20060026559 | Gunturi et al. | Feb 2006 | A1 |
20060067334 | Ougarov et al. | Mar 2006 | A1 |
20060291283 | Jin et al. | Dec 2006 | A1 |
20060294502 | Das et al. | Dec 2006 | A1 |
20070028070 | Avergun et al. | Feb 2007 | A1 |
20070050348 | Aharoni et al. | Mar 2007 | A1 |
20070073744 | McVeigh et al. | Mar 2007 | A1 |
20070112447 | McGreevy et al. | May 2007 | A1 |
20070112801 | McGreevy et al. | May 2007 | A1 |
20070136533 | Church et al. | Jun 2007 | A1 |
20070142941 | McGreevy et al. | Jun 2007 | A1 |
20070156770 | Espelien | Jul 2007 | A1 |
20070244964 | Challenger et al. | Oct 2007 | A1 |
20070282577 | Lind | Dec 2007 | A1 |
20070288795 | Leung et al. | Dec 2007 | A1 |
20080027678 | Miller | Jan 2008 | A1 |
20080082577 | Hood et al. | Apr 2008 | A1 |
20080126408 | Middleton | May 2008 | A1 |
Number | Date | Country |
---|---|---|
0490864 | Jun 1992 | EP |
1109107 | Jun 2001 | EP |
1307823 | May 2003 | EP |
2347234 | Aug 2000 | GB |
2353616 | Feb 2001 | GB |
2004027531 | Apr 2004 | WO |
2005006130 | Jan 2005 | WO |
2005006130 | Jan 2005 | WO |