Continental Power ExchangeReturn to Success Stories List
Tools Used: CORBA, CPEX®, Visigenic's Visibroker, Windows NT4.0, ParcPlace's Distributed Smalltalk VisualWorks and Envy, Lotus Notes, Objectivity/DB database server
CPEX is a customized computer and dedicated telecommunications systems that facilitates the efficient, cost-effective wholesale purchase, sale, and transmission of electric energy among its customers. Currently, over 60 participants from coast to coast use CPEX to trade electricity. CPEX is the first and only functional interactive electronic energy exchange based on competitive principles in North America.
The system overview is such: CPEX is the trading system that enables a trader to make offers and view the market. If an offer looks attractive, the trader simply accepts that offer to consummate a transaction. OpenAccess is the capacity reservation tool that CPEX uses to make reservations for the transmission of energy bought or sold, while the TransMail messaging system is used for disseminating information about each transaction to all involved parties. The service runs around the clock, seven days a week. At the top of every hour, a bell rings on a CPEX computer at a participant's site and announces that "the market is now open." Participating utilities enter their orders or the next hour or more into a computer and transmit them to CPEX. CPEX has the ability to display and rank the best 40 buy and sell offers at the same time.
Access to transmission lines is a key aspect of any system relying on competitive generation of electricity. OpenAccess allows users to zoom into any region of the country with a single mouse click; graphical displays immediately reveal transmission capacity and price. They buyer pays all costs associated with transmission, where the fees are automatically calculated by CPEX and are included in the posted price. CPEX participants trade with each other confidentially. All offers to buy and sell are confidential until an offer has been accepted. At the end of each accounting period, participants settle their accounts via Electronic Funds Transfer (EFT). Two days after the close of business each month, Continental provides a summary of purchases, sales and transmission activity with all parties engaged in trades during the month.
Continental's decision to build CPEX on CORBA architecture was based on two primary considerations: performance and scalability. Since the people involved in the project had already used Smalltalk, they knew that objects could offer superior performance when accessing the unusual data structures of online electrical transactions. The nation's electrical grid is a complex and ever-changing topography. Every CPEX transaction potentially represents a unique path through this system and, as such, cannot easily be made to fit into a relational table-based structure. Each transaction has a life of its own that can best be effectively expressed using objects. The first release of CPEX was written in Smalltalk using the VisualWorks environment. This initial release operated on a single server and was based on an object-oriented database architecture that did not support distributed objects. While this worked in the initial phases, Continental felt that a federated system would be required to meet future demands.
Objectivity/DB was the database systems settled on for it is a truly distributed object database solution. The server runs on uniprocessors, symmetric multiprocessors, or networks of computers. A single database can be distributed among any number of computers. While each machine may manage a physical subset of the full database, each user connected to any machine has a logical view of the entire database. It also guarantees the ACID properties of databases: transactions are atomic and are enforced with two-phase commits; transactions are serialized o ensure consistency of data; both the integrity and durability of data are guaranteed.
This new version of CPEX consists of a client written in Visual C++ and a server written in Distributed Smalltalk, utilizing the federated Objectivity database; the communications interface is provided by Visigenic's CORBA-complaint ORB. The CPEX client is a PC running WindowsNT4.0. The server can run on Intel, Sun, or HP hardware using WindowsNT4.0 or one of several different flavors of Unix.
With a federated software structure in place, CPEX will be ready to expand to more servers as growth demands. CPEX's hardware and server architecture is capable of supporting foreseeable changes that may be necessary when the client load arrives. Continental intends to stay at least one step ahead of the marketplace.
D. Heise, D Tuck, Distributed Object Computing - August/September 1997, p. 30-36