The invention pertains to computing platforms and particularly to power interruptions to the platforms and their recovery.
The present invention includes a mechanism that provides for operation of an application control engine computing platform without a battery pack. The computing platform may incur a power interruption and the mechanism can assure the previous operational state without the battery pack, so that upon return of power the computing platform can return to normal/continued operation without concerns.
The present invention is a mechanism which may allow the removal of the Tridium™ Java™ application control engine (JACE™) platform battery pack in selected deployments by providing an alternate way of storage persistence in case of a loss of power. Trademark terms herein are generally indicated just once with a superscript mark “TM”; thus, the same terms without the marks should be regarded as trademarks. The invention may be regarded herein as the “present” system, mechanism, or the like.
The JACE™ is an embedded computing platform designed and manufactured by Tridium, Inc. It may be regarded as a dedicated computing platform. A key feature of the JACE platform is its ability to shut down gracefully in the event of a power loss. When power is lost, the JACE platform saves the entire state of the running “station” including Java objects in the station, the current runtime values of control objects, unsaved alarm records, unsaved history records and the operational parameters for the Java objects. When power is restored to the JACE, it reconstitutes the information saved at the time of power interruption thus restoring the JACE to its last known good running state. The largest portion of the saved information is collection of objects and their associated runtime and setting values. The JACE encodes this information into an XML-formatted object graph representing the entire object space of the station. The encoded information is stored in the JACE's persistent flash file system in a file referred to as a building automation Java architecture (BAJA) object graph (BOG). This usual sort of shutdown with the noted extent of saving information of the platform requires significant power after a power loss to the platform.
The main software program in control of the JACE is the NiagaraAX Framework™. NiagaraAX™ is a Java application. Due to the non-determinism and relatively slow performance of Java, the operation of saving a station's state to a BOG in persistent storage may take on the order of several minutes to accomplish. The power supply circuitry on many embedded computing platforms including the JACE provide capacitors that filter the rectified power supply input and supply some limited measure of stored charge after line voltage has been removed. This is typically on the order of less than 50 milliseconds and often less than 30 milliseconds. The JACE platform therefore uses a battery pack to act as an emergency shutdown power supply. The battery can supply power long enough to allow for complete encoding and storage of the BOG to the persistent file system.
Usage of a battery pack with the JACE platform presents a number of problems including battery lifespan, environmental concerns, and added weight and cost of the battery pack. It is desirable therefore to allow operation of the JACE platform without the battery pack.
The usual shutdown sequence of the JACE involves saving the complete set of Java objects and unsaved alarm and history records. The present system addresses one of the important subcomponents of this sequence which includes the saving of the last known runtime values of control objects and operation parameters for the control objects. The system is not intended to accomplish the same exact steps as the usual JACE shutdown sequence, but rather to provide a mitigation of the highest risk areas. If a station loses and regains power and its control objects' runtime values are set to invalid values, improper operation of the control application may result. Outputs that are controlling external equipment may thus be set to incorrect values resulting in unintended negative consequences. The present system therefore targets the saving runtime values of control objects and operational settings and/or parameters of those objects.
The present system in its first version is a set of NiagaraAX Java objects derived from the NiagaraAX BComponent™ Java class. These objects, referred to herein as “persist objects” allow persistence of the primitive Niagara data types used in control objects such as BStatusNumeric™, BBoolean™ and BEnum™. Upon initial creation, each persist object constructs a small data file in the persistent file system of the JACE. The filename is derived from an object reference designator (ORD) given to the persist object by the NiagaraAX Framework. This is an alphanumeric string. The file is stored in the station's persistent file area in a designated directory. The file content is the binary representation of either a Java double, Java Boolean or Java Integer data type depending on the persist object type. The persist object provides Java methods for both reading from and writing to its own persistence file.
Control logic on JACE platforms is accomplished with Niagara wiresheets. “Wiresheets” are a graphical means of connecting BComponent-derived Niagara objects with Niagara “link” objects. BComponent objects expose their inputs and outputs via a Niagara Java construct called “slots”. The output slots of top-level components in wiresheets drive the input slots of succeeding objects. The topmost components in a Niagara wiresheet are often field device inputs and the bottommost components are often field device outputs.
To enable the persistence of a control object, the input slot of the persist object of the appropriate type is attached to the output slot or slots of the desired control object. The output slot of the persist object is then attached to the input slot of the original intended target object. Persist objects are to be connected between the object whose runtime value is to be preserved and the next downstream target of the output value.
A second version of the present system will provide for automatic attachments of persist objects to existing wiresheets. The first version of the system requires attachment of a persist object to control objects manually with the Niagara wiresheet tool. Determination of a location to attach persist object may be automated by using Niagara's BAJA query language (BQL) mechanism to find all of the top-most control components and attaching persist objects between them and their next downstream components.
The Niagara BComponent-derived objects provide a Java method named “changed( )”. “changed( )” is a so-called callback method. The NiagaraAX framework invokes this “changed( )” callback on BComponent-derived objects when the value of the object has been altered by external action. Included in the triggering external actions is the change of value of a slot. The persist objects are connected to the output value slots of control objects. When these values change, the “changed( )” callback is invoked. The very first invocation of “changed( )” is when the wiresheet is first instantiated by the framework and is entering its first control pass. Persist objects use the “changed( )” callback to determine when to write the current value to persistent storage and when to read the persisted value back into the object.
On the first invocation of “changed( )”, a persist object attempts to read the previously saved value of the object from its persistence file. A default value is used if it has not been previously saved. If a persisted value is retrieved, the persist object's output slot's value is set to the persisted value, thus restoring its last known runtime state before use of the value by the next downstream control object. The restoration of the runtime value overrides the value loaded by NiagaraAX from its normal shutdown/restore sequence because it occurs almost immediately after that sequence has restored the value but before the value is used by a downstream object.
Subsequent invocations of “changed( )” occur because the persist object's parent object's output value has been updated, and therefore trigger the persist object to save the current value to persistent storage. Values are persisted virtually immediately when changed. To avoid undue stress on the flash filesystem of the JACE, the persist object has several mitigation schemes. One is that values are checked to ensure that they differ since the last write to avoid persisting the same value multiple times. Another is that a configurable time-based anti-thrash algorithm is provided to limit the number of writes in a specified time period. Still another is that a configurable range-based anti-thrash algorithm is provided such that values may be written only if they have changed by more than a specified increment.
An important difference between the present system and the previous JACE shutdown sequences is that the present system accomplishes the saving of runtime state of objects immediately when it changes rather than waiting for a power failure. The problem space is reduced from an “order of N” problem to an “order of 1” problem where N is the number of Java objects. To ensure that runtime values are captured in the event of a power failure, the present version must ensure that the time to persist a single object's value is less than the amount of runtime provided by the JACE's power supply capacitors. The system's persistence time has been measured on a JACE platform and is between 5 and 9 milliseconds, and may almost always be less than 20 milliseconds. The capacitors used on the power supply of a JACE are capable of providing approximately 20-30 milliseconds of continued runtime in the event of power failure.
The flow diagram in
If the answer to the question, “File exists?” at symbol 33 is yes, then one goes to block 35 which indicates “Read value from file, set ‘out’ slot value to this value.” Then one may proceed to the symbol 36 indicating “Done.”
If the answer to the question “First ‘changed( )’ call?” in symbol 32 is no, then save “in” slot value to file at block 37. Following block 37, an “out” slot value may be set to the “in” value at block 38. Then one may proceed to symbol 36 indicating “Done”.
Supply 60 may have a power input structure 51 with one terminal connected to a ground or reference voltage 59, and another terminal connected to an anode of a diode 52. It may be noted that when the power at input 51 fails, there appears very little power from supply 60 to back up the system connected to the supplies 54 and 55, in comparison to that of supply 70.
In supply 60, the cathode of diode 52, which effectively is a rectifier of the input power 51, may be connected to a bulk charge storage capacitor 53, and to the 5.0 VDC and 3.3 VDC supplies 54 and 55, respectively. An output of the 3.3 VDC supply may be connected to a resistor 56 which in turn is connected to a super capacitor 58 and a real time clock 57. The present system is designed so that the JACE computing platform can shut down properly with this reduced power supply upon a loss of power at input 51.
The present shut-down system makes it possible to eliminate the components 61-68 of the circuit shown in
In the present specification, some of the matter may be of a hypothetical or prophetic nature although stated in another manner or tense.
Although the invention has been described with respect to at least one illustrative example, many variations and modifications will become apparent to those skilled in the art upon reading the present specification. It is therefore the intention that the appended claims be interpreted as broadly as possible in view of the prior art to include all such variations and modifications.
The present application is a Divisional of U.S. patent application Ser. No. 12/233,364, filed Sep. 18, 2008, which is hereby incorporated by reference.
Number | Name | Date | Kind |
---|---|---|---|
3731524 | Langley et al. | May 1973 | A |
3822095 | Hirschfeld | Jul 1974 | A |
3928094 | Angell | Dec 1975 | A |
3976862 | Curbelo | Aug 1976 | A |
4284412 | Hansen et al. | Aug 1981 | A |
4478076 | Bohrer | Oct 1984 | A |
4478077 | Bohrer et al. | Oct 1984 | A |
4501144 | Higashi et al. | Feb 1985 | A |
4599000 | Yamada | Jul 1986 | A |
4651564 | Johnson et al. | Mar 1987 | A |
4664056 | Jehanno | May 1987 | A |
4683159 | Bohrer et al. | Jul 1987 | A |
4695034 | Shimizu et al. | Sep 1987 | A |
4704033 | Fay et al. | Nov 1987 | A |
4745279 | Karkar et al. | May 1988 | A |
4818263 | Mitch | Apr 1989 | A |
4874949 | Harris et al. | Oct 1989 | A |
4911616 | Laumann, Jr. | Mar 1990 | A |
4932989 | Presby | Jun 1990 | A |
5017497 | Gerard de Grooth et al. | May 1991 | A |
5050429 | Nishimoto et al. | Sep 1991 | A |
5078581 | Blum et al. | Jan 1992 | A |
5082242 | Bonne et al. | Jan 1992 | A |
5085562 | van Lintel | Feb 1992 | A |
5096388 | Weinberg | Mar 1992 | A |
5108623 | Cangelosi et al. | Apr 1992 | A |
5129794 | Beatty | Jul 1992 | A |
5171132 | Miyazaki et al. | Dec 1992 | A |
5176358 | Bonne et al. | Jan 1993 | A |
5185641 | Igushi et al. | Feb 1993 | A |
5194909 | Tycko | Mar 1993 | A |
5219278 | van Lintel | Jun 1993 | A |
5224843 | van Lintel | Jul 1993 | A |
5244537 | Ohnstein | Sep 1993 | A |
5315861 | Egan et al. | May 1994 | A |
5323999 | Bonne et al. | Jun 1994 | A |
5441597 | Bonne et al. | Aug 1995 | A |
5452878 | Gravesen et al. | Sep 1995 | A |
5457526 | Kosaka | Oct 1995 | A |
5510267 | Marshall | Apr 1996 | A |
5528045 | Hoffman et al. | Jun 1996 | A |
5557777 | Culbert | Sep 1996 | A |
5570193 | Landa et al. | Oct 1996 | A |
5601080 | Oppenheimer | Feb 1997 | A |
5616501 | Rodriguez et al. | Apr 1997 | A |
5633724 | King et al. | May 1997 | A |
5683159 | Johnson | Nov 1997 | A |
5716852 | Yager et al. | Feb 1998 | A |
5717631 | Carley et al. | Feb 1998 | A |
5726404 | Brody | Mar 1998 | A |
5726751 | Altendorf et al. | Mar 1998 | A |
5757476 | Nakamoto et al. | May 1998 | A |
5760900 | Ito et al. | Jun 1998 | A |
5793485 | Gourley | Aug 1998 | A |
5799030 | Brenner | Aug 1998 | A |
5822170 | Cabuz et al. | Oct 1998 | A |
5836750 | Cabuz | Nov 1998 | A |
5839807 | Perlo | Nov 1998 | A |
5863502 | Southgate et al. | Jan 1999 | A |
5880474 | Norton et al. | Mar 1999 | A |
5893722 | Hibbs-Brenner et al. | Apr 1999 | A |
5901939 | Cabuz et al. | May 1999 | A |
5922210 | Brody et al. | Jul 1999 | A |
5924294 | Tiby | Jul 1999 | A |
5932100 | Yager et al. | Aug 1999 | A |
5939326 | Chupp et al. | Aug 1999 | A |
5948684 | Weigl et al. | Sep 1999 | A |
5970315 | Carley et al. | Oct 1999 | A |
5971158 | Yager et al. | Oct 1999 | A |
5972710 | Weigl et al. | Oct 1999 | A |
5974867 | Forster et al. | Nov 1999 | A |
6007775 | Yager | Dec 1999 | A |
6032689 | Tsai et al. | Mar 2000 | A |
6054335 | Sun et al. | Apr 2000 | A |
6082185 | Saaski | Jul 2000 | A |
6091197 | Sun et al. | Jul 2000 | A |
6091537 | Sun et al. | Jul 2000 | A |
6094293 | Yokoyama et al. | Jul 2000 | A |
6097485 | Lievan | Aug 2000 | A |
6097859 | Solgaard et al. | Aug 2000 | A |
6106245 | Cabuz | Aug 2000 | A |
6109889 | Zengerle et al. | Aug 2000 | A |
6116756 | Peeters et al. | Sep 2000 | A |
6124663 | Haake et al. | Sep 2000 | A |
6139800 | Chandler | Oct 2000 | A |
6179586 | Herb et al. | Jan 2001 | B1 |
6184607 | Cabuz et al. | Feb 2001 | B1 |
6215221 | Cabuz et al. | Apr 2001 | B1 |
6237619 | Maillefer et al. | May 2001 | B1 |
6240944 | Ohnstein et al. | Jun 2001 | B1 |
6249341 | Basiji et al. | Jun 2001 | B1 |
6281975 | Munk | Aug 2001 | B1 |
6382228 | Cabuz et al. | May 2002 | B1 |
6537501 | Holl et al. | Mar 2003 | B1 |
6549275 | Cabuz et al. | Apr 2003 | B1 |
6576194 | Holl et al. | Jun 2003 | B1 |
6597438 | Cabuz et al. | Jul 2003 | B1 |
6691113 | Harrison et al. | Feb 2004 | B1 |
6700130 | Fritz | Mar 2004 | B2 |
6832120 | Frank et al. | Dec 2004 | B1 |
6837476 | Cabuz et al. | Jan 2005 | B2 |
6889567 | Cabuz | May 2005 | B2 |
6970245 | Fritz et al. | Nov 2005 | B2 |
7069540 | Sievert | Jun 2006 | B1 |
8037354 | Majewski et al. | Oct 2011 | B2 |
20020127144 | Mehta | Sep 2002 | A1 |
20030083685 | Freeman et al. | May 2003 | A1 |
20030142291 | Padmanabhan et al. | Jul 2003 | A1 |
20040163464 | Nakada et al. | Aug 2004 | A1 |
20040202581 | Berndt | Oct 2004 | A1 |
20040259241 | Barringer, Jr. | Dec 2004 | A1 |
20050073686 | Roth et al. | Apr 2005 | A1 |
20050105077 | Padmanabhan et al. | May 2005 | A1 |
20050106739 | Cabuz et al. | May 2005 | A1 |
20050106742 | Wahl | May 2005 | A1 |
20050118723 | Padmanabhan et al. | Jun 2005 | A1 |
20060139069 | Frank et al. | Jun 2006 | A1 |
20070003434 | Padmanabhan et al. | Jan 2007 | A1 |
Number | Date | Country |
---|---|---|
3127560 | Feb 1983 | DE |
10122321 | Apr 2002 | DE |
0269076 | Jun 1988 | EP |
1001326 | May 2000 | EP |
1134548 | Sep 2001 | EP |
2002243572 | Aug 2002 | EP |
61066947 | Apr 1986 | JP |
6316580 | Jul 1988 | JP |
10073528 | Mar 1998 | JP |
2000056228 | Feb 2000 | JP |
331215 | Apr 2000 | JP |
2000266233 | Sep 2000 | JP |
2002503331 | Jan 2002 | JP |
2004505272 | Feb 2004 | JP |
9527199 | Oct 1995 | WO |
9721090 | Jun 1997 | WO |
9960397 | Nov 1999 | WO |
0109598 | Feb 2001 | WO |
0210713 | Feb 2002 | WO |
0210714 | Feb 2002 | WO |
2004079241 | Sep 2004 | WO |
Entry |
---|
Altendorf et al., “Differential Blood Cell Counts Obtained Using A Microchannel Based Flow Cytometer”, Solid State Sensors & Actuators, vol. 1, 531, 1997. |
Altendorf et al., “Implementation of Novel Optical Detection Methods for Clinically Important Blood Analytes Using Microfabricated Flow Structures (T-Sensors™)”, MicroTAS 98, Banff, Canada, Apr. 1996. |
Altendorf et al., “Microfabrication Technology for Research and Diagnostics, Silicon Microchannel Optical Flow Cytometry”, SPIE Proceedings, Biomedical Optics 96, Jan. 1996. |
Altendorf et al., “Results Obtained Using A Prototype Microfluidics-Based Hematology Analyzer”, SPIE Biomedical Optics 97, 1997. |
Ax, “The Cost to Build Device-to-Enterprise Solutions Just Went Down . . . AXponentially”, 8 pages, prior to Sep. 18, 2008. |
Cabuz et al., “Mesoscopic Sampler Based on 3D Array of Electrostatically Activated Diaphragms”, The 10th Int. Conf. On Solid-State Sensors and Actuators, Transducers '99, p. 1890-1, Sendai Japan, Jun. 7-12, 1999. |
Darling et al., “Integration Of Microelectrodes With Etched Microchannels For In-Stream Electrochemical Analysis”, MicroTAS 98, Banff, Canada, Apr. 1998. |
Fedder et al., “Laminated High-Aspect-Ratio Microstructures in a Conventional CMOS Process”, Proc. Micro Electro Mechanical Systems Workshop, MEMS 96, San Diego, California, Feb. 11-15, 1996, pp. 13-18. |
Hatch et al., “Microfluidic Approaches To Immunoassays”, SPIE conference on Micromachining and Microfabrication Symposium at Santa Clara, CA, Sep. 20-22, 1999. |
http://www.micronics.net/hfilter.htm, pp. 1-3, downloaded Jun. 14, 2000. |
http://www.micronics.net/mcytometry.htm, pp. 1-4, downloaded Jun. 14, 2000. |
http://www.micronics.net/orcafluidics.htm, pp. 1-4, downloaded Jun. 14, 2000. |
http://www.micronics.net/tsensor.htm, pp. 1-4, downloaded Jun. 14, 2000. |
Huang et al., “Development Of A Flow Cytometry Based Miniature Chemical Fluid Analysis System Using Fluorescent Microbeads”, SPIE Biomedical Optics, BIOS 97, conference proceedings, 1997. |
Lehman et al., “High-Frequency Modulation Characteristics of Red VCSELs”, Electronics Letters, Feb. 13, 1997, vol. 33(4), pp. 298-300. Copyright 1997 IEE. |
“Liquid Flow Sensors 5nL/min to 5 μL/min Flow Range, X116161-AW,” Honeywell, 2 pages, 2004. |
“Liquid Flow Sensors,” Honeywell, 2 pages, 2004. |
Ohnstein et al., “Micromachined Silicon Microvalve”, Proceedings of MEMS, 1990, IEEE Micro Electromechanical Systems, Napa Valley, California, Feb. 11-14, 1990, pp. 95-98. |
Roulet et al., “Fabrication of Multilayer Systems Combining Microfluidic and Microoptical Elements for Fluorescence Detection,” Journal of Microelectromechanical Systems, vol. 10 No. 44, pp. 483-491, Dec. 4, 2001. |
Shapiro, “Practical Flow Cytometry”, third edition, p. 237, 1995. |
Strzelecka et al., “Parallel Free-Space Optical Interconnect Based on Arrays of Vertical-Cavity Lasers and Detectors with Monolithic Microlenses”, Applied Optics, v. 37(14), May 10, 1998, pp. 2811-2821. Copyright 1998 Optical Society of America. |
Terstappen et al., “Four-Parameter White Blood Cell Differential Counting Based on Light Scattering Measurements”, Alan R. Liss, Inc., Cytometery 9:39-43, 1988. |
Toshiyoshi et al., “Micromechanical Lens Scanner for Fiber Optic Switches”, Proc. 3rd International Conference on Micro Opto Electro Mechanical Systems (MOEMS 99), Aug. 30-Sep. 1, 1999, Mainz, Germany, pp. 165-170. |
Toshiyoshi et al., “Surface micromachined 2D Lens Scanner Array”, Proc. IEEE?LEOS International Coference on Optical EMMS/Sheraton Kauai Resort, Kauai, Hawaii, Aug. 21-24, 2000, 3 pages. |
Tridium, “Vycon JACE-200”, 2 pages, 2007. |
Tridium, “Vycon JACE-600”, 2 pages, 2007. |
Tridium, Niagara Architecture Overview, 5 pages, Copyright 2000-2007. |
Tridium, Niagara Component Model, 2 pages, Copyright 2000-2007. |
Tuantranont et al., “Flip Chip Integration of Lenslet Arrays on Segmented Deformable Micromirrors”, Part of the Symposium on Design, Test and Microfabrication of MEMS and MOEMS, Paris, France, Mar.-Apr. 1999, SPIE vol. 3680, 0277-786X/99, pp. 668-678. |
Tuantranont et al., “MEMS-Controllable Microlens Array For Beam Steering and Precision Alignment in Optical Interconnect Systems”, Solid-State Sensor and Actuator Workshop, Hilton Head Island, South Carolina, Jun. 4-8, 2000, pp. 101-104. |
Weigl et al, “Silicon-Microfabricated Diffusion-Based Optical Chemical Sensor”, Reprint from “Sensors & Actuators” B 38-39, 452-457, 1997. |
Weigl et al, “Microfluidic Diffusion-Based Separation And Detection”, Science, vol. 283, pp. 346-347, Jan. 15, 1999. |
Weigl et al, “Optical And Electrochemical Diffusion-Based Detection Of Analytes In Complex Samples Using Microfabricated Flow Structures (T-SensorSTM)”, Micro- and nanofabn'cated electro-optical mechanical systems for biomedical and environmental applications II-SPIE vol. 3606, Jan. 25-26, 1999. |
Weigl et al, “Simultaneous Self-Referencing Analyte Determination In Complex Sample Solutions Using Microfabricated Flow Structures (T-Sensors™)”, Proceedings of MicroTAS 98, 81-4, Banff, Canada, 1998. |
Weigl et al., “Diffusion-Based Optical Chemical Detection In Silicon Flow Structures”, B. Weigl et al., Analytical Methods & Instrumentation, μTTAS 96 special edition, 1996. |
Weigl et al., “Fluorescence And Absorbance Analyte Sensing In Whole Blood And Plasma Based On Diffusion Separation In Silicon-Microfabricated Flow Structures (T-Sensors™)”, Biomedical Optics, vol. 6, No. 1, Jul. 1997. |
Weigl et al., “Rapid Sequential Chemical Analysis Using Multiple Fluorescent Reporter Beads”, μTTAS 96 Conference Proceedings, 1996. |
Weigl, “Microfluidic Diffusion Based Electrochemical Detection Using Microfabricated Flow Structures (T-Sensors™)”, Analytical Chemistry, submitted 1999. |
Weigl, “Whole Blood Assays Using Microfluidics-Based T-SensorSTm Technology”, Medical Design Online, http://news.medicaldesignonline.com/featuresarticles/19990416-5922.html, Apr. 1999. |
Yager et al., “Applying Microfluidic Chemical Analytical Systems To Imperfect Samples”, Micro Total Analysis Systems 98, D. Harrison & A. van den Berg (ed.), Kluwer Academic Publishers, Dordrecht, 207-212, 1998. |
Yager et al., “Design Of Microfluidic Sample Preconditioning Systems For Detection Of Biological Agents In Environmental Samples”, Yager, M. et al., SPIE Proceedings, 3515, 252-259, 1998. |
Number | Date | Country | |
---|---|---|---|
20120017115 A1 | Jan 2012 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12233364 | Sep 2008 | US |
Child | 13243249 | US |