This disclosure relates generally to computer systems and, more specifically, to the use of cloud computing in process historian applications, and systems and methods related to the use of cloud computing in process historian applications.
Cloud computing is an emerging technology in the information technology (IT) industry. Cloud computing allows for the moving of applications, services and data from desktop computers back to a main server farm. The server farm may be off premises and be implemented as a service. By relocating the execution of applications, deployment of services, and storage of data, cloud computing offers a systematic way to manage costs of open systems, centralize information, and enhance robustness and reduce energy costs.
This disclosure provides a system and method for using cloud computing in process historian applications.
In a first embodiment, a system includes a computing cloud comprising at least one data storage unit and at least one processing unit. The computing cloud is configured to receive information relating to at least one process by an industrial tool, archive the process-related information, provide analysis of the process-related information, and instruct a client device on the type of data to be cached by the device.
In particular embodiments, the industrial tool comprises at least one sensor configured to collect data.
In other particular embodiments, the system provides information relating to the client device on demand to the client device. In still other particular embodiments, the system allows for the client device to connect to the system through a Service Oriented Architecture. In further embodiments, the client device is configured to connect to the system through a local bus connection. In yet further embodiments, the client device is configured to transmit some or all data from the industrial tool to the system.
In a second embodiment, a method includes obtaining data related to at least one process tool from a client. The at least one process tool includes at least one sensor used to collect the data. The method further includes storing the data related to the at least one process tool in a computing cloud and providing access to the data related to the at least one process tool through a secure connection.
In a third embodiment, an apparatus includes at least one data storage unit in a computing cloud. The at least one data storage unit is configured to store information related to at least one industrial tool. The apparatus also includes least one processing unit configured to control connections between the computing cloud and at least one client, record information from the at least one client, and provide physical proximity performance to the at least one client when accessing information from the at least one client.
Other technical features may be readily apparent to one skilled in the art from the following figures, descriptions, and claims.
For a more complete understanding of this disclosure, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which:
Computing cloud 108 is a computing cloud that is capable of both storing information and performing data functions on information. A computing cloud comprises at least one computer that is accessible from a remote location. The computing cloud 108 may comprise a plurality of storage devices that will be referred to as collectively the storage unit 112, as well as a plurality of processing units that will be referred to collectively as the processing unit 110. The computing cloud 108 may comprise hardware that is cost prohibitive to deploy and maintain at individual clients 102, 104, and 106. In addition, the computing cloud 108 may comprise software that is cost prohibitive to install, deploy, and maintain at individual computing clouds. Therefore, the computing cloud 108 may provide this hardware and software through secure connections to clients 102, 104, and 106. While there is one computing cloud 108 shown in
Clients 102, 104, and 106 are individual computers, plant sites, or operational locations that are in communication with the computing cloud 108. Clients 102, 104, and 106 are capable of accessing both the processing unit 110 and storage unit 112 that are located in the computing cloud 108. Clients 102, 104, and 106 are able to access both local processes as well as information from the computing cloud 108. Clients 102, 104, and 106 may comprise a plurality of manufacturing tools and sensors to monitor the manufacturing tools. These sensors may detect any operational condition of the manufacturing tools, including, but not limited to, the temperature, vibration, or other measureable operating parameter.
Clients 102, 104, and 106 communicate with the computing cloud 108 through any secured or unsecured method, including Hypertext Transfer Protocol Secure (HTTPS), secure telnet, or file transfer protocol secure (FTPS). It is understood that secure methods may be preferred over unsecure methods, and that the particular method chosen will depend upon the requirements of the function being accessed. This disclosure should not be interpreted as being limited to any particular protocol or method of transferring data.
In some embodiments, the computing cloud 108 may leverage a Service Oriented Architecture (SOA) to abstract consumers of cloud services from the location services themselves. When a cloud user at a given client invokes a function, such as aggregating historical data, that function could be performed by historian components local to the same client or redirected to historian components running on a server in the computing cloud 108. This redirection is performed by a service bus that exposes a set of service endpoints to users who interact with these services as if the services were local. The service bus directs requests for those services to the appropriate service providers either locally or in the cloud based on configured mapping. Mapping can be done on a per service basis, allowing a mix of local and cloud-based services to be used. The service bus itself could be local to the plant or also located in the cloud. The disclosed systems and methods can be designed for multi-tenancy, such that many companies can share the same physical database resources but keep their respective data entirely private.
One of the innovative features of this disclosure is the use of a hybrid approach when distributing data storage and data processing among a plurality of clouds in use by a historian system. Some features of the clients 102, 104, and 106 can be better performed by the computing cloud 108 than at the client 102, 104, and 106. By determining which functions can be performed more efficiently in the computing cloud 108 than at the local client 102, 104, and 106, computing resources can be allocated in such a way as to maximize performance. It is understood that this hybrid approach allows a plurality of applications including, but not limited to, applications that promote operator advanced functions (alarm analysis and reconfiguration), batch execution, simulation, or other applications to efficiently access the data stored by the historian system.
Real time functions are those functions that instruct or control other devices, including the actual mechanical systems used in a factory, or provide data to personnel who are operating those mechanical systems. These real time functions are generally always required to be available, and may be designed to be non-resource intensive. An example of these real time functions may include the programming of a basic automated system to perform a specific function (e.g., drill into a substance) for a specific time. The phrase “real time” is intended to refer the requirement that the data created by a real time function be available upon demand from the actual mechanical systems or personnel who are operating the mechanical systems.
Non-real time functions are functions that may be used to form the real-time functions. Examples of non-real-time functions are those functions used to train the real time functions and simulations of the products created by the non-real-time functions. These non-real-time functions are may be processor intensive and require specialized software.
Not only may functions be performed on a real time or non-real time basis, data may be required by the system on a real or non-real time basis. In one embodiment, data that is required on a real time basis will be stored locally in local data storage 210 while data that is not needed on a real time basis may be stored in the storage unit 112 in the computing cloud 108.
The delineation between real time and non-real time is intended to be an exemplary method of determining which processes and data should be stored locally and which processes and data should be stored in the computing cloud 108. It is expressly understood that other delineations may be used, based on priority or other characteristics of the data. Any system or method that delineates shared processes and storage, and then executes the system and method using a hybrid approach on both a computing cloud 108 and a local system 202 is explicitly contemplated by this disclosure.
Another advantage of the presently disclosed systems and methods is the ability to rapidly deploy new services or features to a plurality of clients without the need to make changes to the clients themselves. As a new service becomes available (e.g., an advanced analysis tool becomes available), this service may be offered to improve the manufacturing process at a given site without the need for reprogramming at the site.
Yet another advantage of the presently disclosed systems and methods is the use of a partition model within the computing cloud 108. The partition model allows the cloud to determine what data should be stored by the local system 202, the computing cloud 108, and both the local system 202 and the computing cloud 108. In addition, by awareness of the location of the data within the partition mode, data reliability and consistency can be maintained.
Yet another benefit of the present hybrid approach is the ability to create a process historian capable of capturing, providing, and archiving process related data for process operations and analysis. This analysis may include providing the client with a visualization of the process history. This visualization may include trend displays, alarm and event summaries, and archives of the process history.
Personnel who are operating a process in a plant need timely access to recent history, such as the past 24 hours This data is considered critical for plant operations and so can be hosted in a local system. Personnel who are involved with troubleshooting and improvement of plant operations often require access to much greater amounts of data, such as the past year. Personnel who are responsible for demonstrating compliance with environmental and other regulations often require data to be stored for very long periods of time, such as ten years. These latter two cases require extensive and ever increasing storage and are well suited to storing in the cloud.
Another benefit of the cloud approach is that data from multiple local systems and potentially from multiple companies is stored in a single location where it can be used for analysis such as performance benchmarking.
In one embodiment, local collectors and other devices would aggregate data in one or more systems, and these systems can be in the same or diverse geographic areas. Cloud services would then collect, analyze, and inform based on this data.
The information that will be stored in the local environment 202 and the computing cloud 108 as opposed to that which is stored only in the computing cloud 108 may be determined based upon what information is anticipated to be needed by the local environment 202. For instance, the local environment may take readings every 10 seconds but only require readings every minute. Each of the readings may be stored in the computing cloud 108 for enhanced analysis, but only one reading a minute will be stored in the local environment 202. This storage will allow the local environment 202 to cache the data that it anticipates needing while providing the computing cloud 108 with all available data. In this way, the computing cloud 108 has as much information as possible to perform analysis while the local environment has stored the information it needs for immediate operation. This allows the local environment 202 to achieve physical proximity performance with the data stored in the computing cloud 108. Here, the phrase “physical proximity performance” refers to a level of performance, as measured by metrics known to one skilled in the art (including the network bandwidth and network lag) where the performance of the computing cloud 108 is approximate to the performance provided by a system that is comparable to computing cloud 108 and located within the local environment 202. In addition, in some embodiments, based upon the analysis preformed by the computer cloud 108, the computing cloud 108 may determine what information is necessary for the local environment 202 and instruct the local environment 202 as to what data should be cached locally.
Computing cloud 108 and elements of the local environment 202 described above may be implemented on any general-purpose computer 600 with sufficient processing power, memory resources, and network throughput capability to handle the necessary workload placed upon it. A consumer home personal computer, networked to computing cloud 108 through a wide area network, such as the Internet, may be used in conjunction with the disclosed embodiments. The consumer home personal computer may share some, or all, of the elements of computing cloud 108.
The secondary storage 602 is typically comprised of one or more disk drives or tape drives and is used for non-volatile storage of data and as an over-flow data storage device if RAM 606 is not large enough to hold all working data. Secondary storage 602 may be used to store programs that are loaded into RAM 606 when such programs are selected for execution. The ROM 604 is used to store instructions and perhaps data that are read during program execution. ROM 604 is a non-volatile memory device that typically has a small memory capacity relative to the larger memory capacity of secondary storage. The RAM 606 is used to store volatile data and perhaps to store instructions. Access to both ROM 604 and RAM 606 is typically faster than to secondary storage 602.
I/O 608 devices may include printers, video monitors, liquid crystal displays (LCDs), touch screen displays, keyboards, keypads, switches, dials, mice, track balls, voice recognizers, card readers, paper tape readers, or other well-known input devices. The network connectivity devices 362 may take the form of modems, modem banks, ethernet cards, universal serial bus (USB) interface cards, serial interfaces, token ring cards, fiber distributed data interface (FDDI) cards, wireless local area network (WLAN) cards, radio transceiver cards such as code division multiple access (CDMA) and/or global system for mobile communications (GSM) radio transceiver cards, and other well-known network devices. These network connectivity devices 610 may enable the processor 612 to communicate with an Internet or one or more intranets. With such a network connection, it is contemplated that the processor 612 might receive information from the network, or might output information to the network in the course of performing the above-described method steps. Such information, which is often represented as a sequence of instructions to be executed using processor 612, may be received from and outputted to the network, for example, in the form of a computer data signal embodied in a carrier wave.
Such information, which may include data or instructions to be executed using processor 612 for example, may be received from and outputted to the network, for example, in the form of a computer data baseband signal or signal embodied in a carrier wave. The baseband signal or signal embodied in the carrier wave generated by the network connectivity devices 610 may propagate in or on the surface of electrical conductors, in coaxial cables, in waveguides, in optical media, for example optical fiber, or in the air or free space. The information contained in the baseband signal or signal embedded in the carrier wave may be ordered according to different sequences, as may be desirable for either processing or generating the information or transmitting or receiving the information. The baseband signal or signal embedded in the carrier wave, or other types of signals currently used or hereafter developed, referred to herein as the transmission medium, may be generated according to several methods well known to one skilled in the art.
The processor 612 executes instructions, codes, computer programs, scripts that it accesses from hard disk, floppy disk, optical disk (these various disk based systems may all be considered secondary storage 602), ROM 604, RAM 606, or the network connectivity devices 610.
While shown as a series of steps, various steps in
In some embodiments, various functions described above are implemented or supported by a computer program that is formed from computer readable program code and that is embodied in a computer readable medium. The phrase “computer readable program code” includes any type of computer code, including source code, object code, and executable code. The phrase “computer readable medium” includes any type of medium capable of being accessed by a computer, such as read only memory (ROM), random access memory (RAM), a hard disk drive, a compact disc (CD), a digital video disc (DVD), or any other type of memory.
It may be advantageous to set forth definitions of certain words and phrases used throughout this patent document. The term “couple” and its derivatives refer to any direct or indirect communication between two or more elements, whether or not those elements are in physical contact with one another. The terms “transmit,” “receive,” and “communicate,” as well as derivatives thereof, encompass both direct and indirect communication. The terms “include” and “comprise,” as well as derivatives thereof, mean inclusion without limitation. The term “or” is inclusive, meaning and/or. The phrases “associated with” and “associated therewith,” as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, or the like. The term “controller” means any device, system, or part thereof that controls at least one operation. A controller may be implemented in hardware, firmware, software, or some combination of at least two of the same. The functionality associated with any particular controller may be centralized or distributed, whether locally or remotely.
While this disclosure has described certain embodiments and generally associated methods, alterations and permutations of these embodiments and methods will be apparent to those skilled in the art. Accordingly, the above description of example embodiments does not define or constrain this disclosure. Other changes, substitutions, and alterations are also possible without departing from the spirit and scope of this disclosure, as defined by the following claims.
Number | Name | Date | Kind |
---|---|---|---|
5657390 | Elgamal et al. | Aug 1997 | A |
6480896 | Brown et al. | Nov 2002 | B1 |
6816973 | Gleichauf et al. | Nov 2004 | B1 |
7130891 | Bernardin et al. | Oct 2006 | B2 |
7151966 | Baier et al. | Dec 2006 | B1 |
7206286 | Abraham et al. | Apr 2007 | B2 |
7233830 | Callaghan et al. | Jun 2007 | B1 |
7266417 | Liao | Sep 2007 | B2 |
7286897 | Liu et al. | Oct 2007 | B2 |
7313447 | Hsiung et al. | Dec 2007 | B2 |
7343152 | Khorram | Mar 2008 | B1 |
7461403 | Libenzi et al. | Dec 2008 | B1 |
7548977 | Agapi et al. | Jun 2009 | B2 |
7584274 | Bond et al. | Sep 2009 | B2 |
7620986 | Jagannathan et al. | Nov 2009 | B1 |
7636764 | Fein et al. | Dec 2009 | B1 |
7684876 | Grgic | Mar 2010 | B2 |
7693581 | Callaghan et al. | Apr 2010 | B2 |
7799273 | Popp | Sep 2010 | B2 |
7870106 | Nguyen et al. | Jan 2011 | B1 |
7873719 | Bishop et al. | Jan 2011 | B2 |
20020078382 | Sheikh et al. | Jun 2002 | A1 |
20030014498 | Kreidler et al. | Jan 2003 | A1 |
20030061212 | Smith et al. | Mar 2003 | A1 |
20030120778 | Chaboud et al. | Jun 2003 | A1 |
20030182359 | Vorchik et al. | Sep 2003 | A1 |
20040002943 | Merrill et al. | Jan 2004 | A1 |
20040128539 | Shureih | Jul 2004 | A1 |
20040260769 | Yamamoto | Dec 2004 | A1 |
20050021594 | Bernardin et al. | Jan 2005 | A1 |
20050021705 | Jurisch | Jan 2005 | A1 |
20050276228 | Yavatkar et al. | Dec 2005 | A1 |
20050278441 | Bond et al. | Dec 2005 | A1 |
20060004786 | Chen et al. | Jan 2006 | A1 |
20060059163 | Frattura et al. | Mar 2006 | A1 |
20060085393 | Modesitt | Apr 2006 | A1 |
20060155633 | Fellenstein et al. | Jul 2006 | A1 |
20060184626 | Agapi et al. | Aug 2006 | A1 |
20060230149 | Jackson | Oct 2006 | A1 |
20070055702 | Fridella et al. | Mar 2007 | A1 |
20070074288 | Chang et al. | Mar 2007 | A1 |
20080120414 | Kushalnagar et al. | May 2008 | A1 |
20080159289 | Narayanan et al. | Jul 2008 | A1 |
20080208361 | Grgic | Aug 2008 | A1 |
20080270523 | Parmar et al. | Oct 2008 | A1 |
20090058088 | Pitchford et al. | Mar 2009 | A1 |
20090125370 | Blondeau et al. | May 2009 | A1 |
20090132070 | Ebrom et al. | May 2009 | A1 |
20090172035 | Lessing et al. | Jul 2009 | A1 |
20090210071 | Agrusa et al. | Aug 2009 | A1 |
20090271012 | Kopka et al. | Oct 2009 | A1 |
20090300151 | Friedman et al. | Dec 2009 | A1 |
20090300210 | Ferris | Dec 2009 | A1 |
20090300635 | Ferris | Dec 2009 | A1 |
20100022231 | Heins et al. | Jan 2010 | A1 |
20100023151 | Shieh et al. | Jan 2010 | A1 |
20100042720 | Stienhans et al. | Feb 2010 | A1 |
20100256794 | McLaughlin et al. | Oct 2010 | A1 |
20100256795 | McLaughlin et al. | Oct 2010 | A1 |
20100257228 | Staggs et al. | Oct 2010 | A1 |
20100257605 | McLaughlin et al. | Oct 2010 | A1 |
Number | Date | Country |
---|---|---|
102004030781 | Mar 2006 | DE |
WO 2005020179 | Mar 2005 | WO |
WO 2009046095 | Apr 2009 | WO |
Entry |
---|
Aaron Skonnard, “Why Service Virtualization Matters”, Microsoft Services, 4 pages. |
Kevin P. Staggs, et al., “Cloud Computing for an Industrial Automation and Manufacturing System”, U.S. Appl. No. 12/416,859, filed Apr. 1, 2009. |
Paul F. McLaughlin, et al., “Cloud Computing for a Manufacturing Execution System”, U.S. Appl. No. 12/416,790, filed Apr. 1, 2009. |
Paul F. McLaughlin, et al., “Cloud Computing as a Basis for Equipment Health Monitoring Service”, U.S. Appl. No. 12/416,848, filed Apr. 1, 2009. |
Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration dated Oct. 29, 2010 in connection with International Patent Application No. PCT/US2010/028218. |
Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration dated Oct. 29, 2010 in connection with International Patent Application No. PCT/US2010/028210. |
Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration dated Oct. 29, 2010 in connection with International Patent Application No. PCT/US2010/028208. |
“Real-Time Data Hosting . . .”, www.industrialevolution.com/ms—services—host.html, May 27, 2009, 1 page. |
Zheng Wang, et al., “Prefetching in World Wide Web”, IEEE Global Telecommunications Conference, Nov. 1996, p. 28-32. |
Supplementary European Search Report dated Nov. 19, 2012 in connection with European Patent Application No. EP 10 76 4813. |
Communication pursuant to Artile 94(3) EPC dated Mar. 15, 2013 in connection with European Patent Application No. 10 764 816.4. |
Supplementary European Search Report dated Mar. 4, 2013 in connection with European Patent Application No. EP 10 76 4816. |
Number | Date | Country | |
---|---|---|---|
20100257227 A1 | Oct 2010 | US |