`INTERNATIONAL APPLICATION PUBLISHED UNDER THE PATENT COOPERATION TREATY (PCl)
`wo 90/11571
`
`WORLD INTELLECTUAL PROPERTY ORGANIZATION
`International Bureau
`
`(51) International Patent Oassification 5 :
`
`(11) International Publication Number:
`
`G06Fl5/21
`
`At
`
`(43) International Publication Date:
`
`4 October 1990 (04.10.90)
`
`(21) International Application Number:
`
`PCT/US90/00878
`
`(22) International Filing Date:
`
`16 February 1990 (16.02.90)
`
`(74)Agents: SCHLIITER, Stanley, A. et al.; Kirkland & Ellis,
`655 Fifteenth Street, North West, Suite 1200, Washing(cid:173)
`ton, DC 20005 (US).
`
`(30) Priority data:
`329,866
`
`28 March 1989 (28.03.89)
`
`us
`
`(81) Designated States: AU, CA, JP, KR.
`
`Published
`With international search report.
`
`(7l)Applicant: CHICAGO BOARD OF TRADE [US/US];
`141 West Jackson Boulevard, Chicago, IL 60604 (US).
`
`(72) Inventors: BELDEN, Glen, W. ; 4164 Terramere Avenue,
`Arlington Heights, IL 60004 (US). BROGAN, John, J. ;
`505 North Willow Wood Drive, Palatine, IL 60067 (US).
`O'HALLERAN, Thomas, C. ; 690 Ardsley, Winnetka,
`IL 60093 (US). GUTTERMAN, Burton, J. ; 780 Bluff,
`Glencoe, IL 60022 (US). KINSELLA, John, R. ; 508
`South Owen, Mount Prospect, IL 60056 (US). BOYLE,
`Michael, B. ; 2409 Rio Grand Circle, Naperville, IL
`60565 (US). CHOW, Alvin ; 901 Cherokee Road, Wil(cid:173)
`mette, IL 60091 (US). PHELPS, Bruce ; 116 Lewis Lane,
`Wheaton, IL 60187 (US). WHITE, James ; 5344 South
`Nottingham, Chicago, IL 60638 (US).
`
`(54) Title: SIMULATED LIVE MARKET TRADING SYSTEM
`
`205-2
`
`(57) Abstract
`
`@ 1989 Chicogo Board of Trade
`
`A method and apparatus for market trading is disclosed, the apparatus generally comprising a host processor and a plural(cid:173)
`ity of user terminals in selective communication with the host. Each user terminal includes a selectively partitionable display
`(205-1,5,6, 206, 207) by which market information is conveyed to a participant. Among other features, the method involves the use
`of icons (205-2,3) for representing traders, each icon including information relevant to the commodity being traded. The method
`and apparatus are applicable to markets for trading commodities such as securities, securities options, futures contracts and fu(cid:173)
`tures options.
`
`0001
`
`IBG 1009
`CBM of U.S. Patent No. 7,676,411
`
`
`
`FOR THE PURPOSES OF INFORMATION ONLY
`
`Codes used to identifY States party to the PCT on the front pages of pamphlets publishing international
`applications under the PCT.
`
`Austria
`AT
`AU!ttalia
`AU
`BB
`Barbados
`BcJpnn
`BE
`Burkina FBBl
`BF
`Bqaria
`BG
`Benin
`8J
`BR
`Brazil
`Canada
`CA
`Central African Republic
`CF
`CG
`Congo
`01
`Switzerland
`CM Cameroon
`DE
`Germany, Federal Republic of
`DK
`Denmark
`
`Spain
`ES
`Fmland
`F1
`FR
`Frauce
`GA Gabon
`GB United Kingdom
`141 Hunpry
`rr
`Italy
`Japan
`JP
`DeiiiOCiatic People's Republic
`ICP
`of Korea
`Republic of Korea
`KR
`u
`Liechtcmrcin
`LK
`Sri lAnka
`w
`Luxembourg
`MC Monaro
`
`MG Madagascar
`ML Mali
`MR Mauritania
`MW Malawi
`Netherlands
`NL
`NO Norway
`Romania
`RO
`Sudan
`S>
`Sweden
`SE
`~ Sene sal
`Soviet Union
`9.1
`1D
`Chad
`TG
`Toso
`us
`United States of America
`
`0002
`
`
`
`W090/11571
`
`- 1-
`
`PCf /US90/00878
`
`SIMULATED LIVE MARKEr TRADING SYSTEM
`
`A portion of the disclosure of this patent document
`
`contains material to which a claim for copyright is made.
`
`The copyright owner has no objection to the facsimile
`
`reproduction by anyone of the patent document or the patent
`
`disclosure, as it appears in the Patent and Trademark
`
`Office patent file or records, but reserves all other
`
`copyright rights whatsoever.
`
`BACKGROUND
`
`This application is a continuation-in-part of co-pending
`
`U.S. Patent Application Ser. No. 329,866
`
`, filed
`
`March 14, 1989 by the present inventors.
`
`The present invention relates to computer-based tech(cid:173)
`
`niques for replicating a physical market for trading items
`
`such as stocks, bonds, stock options, futures options, and
`
`futures contracts on commodities including agricultural
`
`products, financial instruments, stock market indices, and
`
`the like.
`
`A futures contract is an agreement providing for the
`
`future delivery of a fixed quantity of a commodity under
`
`conditions specified by a federally designated exchange.
`
`In general, that contract is a firm legal agreement between
`
`a buyer and seller to make or take delivery of the
`
`underlying commodity and is cleared by a separate
`
`clearinghouse.
`
`The futures exchanges house centralized auction markets
`
`(called designated contract markets) where standardized
`
`contracts, based on quantity and quality of commodity, are
`
`0003
`
`
`
`W090/11571
`
`PCf /US90/00878
`
`- 2 -
`
`bought and sold, for future delivery, by open outcry. It
`
`is important to note that the exchanges themselves do not
`
`trade commodity contracts, nor do they set prices at which
`
`contracts are traded. They merely furnish a place where
`
`market participants and their brokerage representatives can
`
`meet to buy and sell commodity futures contracts.
`
`Floor traders are generally classified in two ways
`
`(1) as speculators, or "locals" who buy and sell for their
`
`own accounts, or (2) as floor brokers, who fill orders for
`
`commission houses, producers and processors seeking to lock
`
`in a price for their products. A "local" can take
`
`long-term positions (i.e., weeks or months) or "scalp" over
`
`very short periods (liquidating positions within seconds or
`
`minutes of entering the transactions). He may trade in one
`
`or more pits. He benefits from the speed with which he can
`
`take or liquidate positions, but this is in itself no
`
`assurance of a profit. Some floor traders specialize in
`
`spreads by taking opposite positions between future or
`
`options when the price difference appears abnormal. Floor
`
`traders have the advantage of lower transaction costs
`
`available to all members of exchanges.
`
`Some floor traders execute orders for others but seldom
`
`or never trade for themselves. These are brokers who may
`
`who may specialize in orders from customers such as com(cid:173)
`
`mercial processors, exporters, financial institution com(cid:173)
`
`modity trading funds and the like. They may receive only a
`
`small percentage of the commissions paid by the customer to
`
`his commission house, but the commission revenues may be
`
`substantial depending on the volume of business. The
`
`0004
`
`
`
`W090/11571
`
`PCf /US90/00878
`
`-
`
`3 -
`
`orders held by a floor broker at any given time are
`
`referred to as his "deck." He is allowed to trade for his
`
`own account if he chooses, but can not use the public
`
`orders to benefit his own trading.
`
`Trading generally takes place in a pit or around the
`
`outside of a ring. All orders received by member firms are
`
`transmitted to the exchange floor for execution and are
`
`filled according to bids and offers in the respective pits
`
`by open outcry to all members present at the time. Only
`
`one commodity is traded in a pit or around a ring unless
`
`the volume is too small to justify so much space.
`
`customarily, those trading the same delivery month of a
`
`commodity gather in the same area of the ring or on the
`
`same step of the pit so that a broker with an order can
`
`locate the particular market as quickly as possible.
`
`Whenever volume is high and price changes of a commodity
`
`are rapid, it is not uncommon for different prices to be
`
`bid and offered for the same delivery month in different
`
`parts of the trading area at the same time. These condi(cid:173)
`
`tions might result in trades at prices that are never offi(cid:173)
`
`cially quoted or might cause an order to be marked "un(cid:173)
`
`able," even though the price on the order was well within
`
`the range of trading in that commodity.
`
`Transactions on the trading floor must be reported to
`
`the membership and the general public. This is
`
`accomplished through a variety of communications systems by
`
`the various commodity exchanges. Transaction information
`
`is entered by exchange-employed market reporters in each
`
`0005
`
`
`
`W090/11571
`
`PCf /US90/00878
`
`-
`
`4
`
`-
`
`trading pit and is accessible through computer terminals
`
`and electronic wallboards on each trading floor.
`
`At the end of each day the clearing house, which may be
`
`a subsidiary of the exchange or an independent entity, as(cid:173)
`
`sumes one side of all open contracts:
`
`the clearing house
`
`becomes the buyer to each seller of a futures contract, and
`
`a seller to each buyer. The clearing house guarantees its
`
`members the performance of both sides of all open
`
`contracts.
`
`Other aspects of the commodity markets are treated in
`
`the literature, which includes Kaufman, "Handbook of
`
`Futures Markets," John Wiley & Sons, New York (1984);
`
`Rothstein, "The Handbook of Financial Futures," McGraw Hill
`
`Book Company, New York (1984); Gould, "The Dow Jones-Irwin
`
`Guide to Commodities Trading," Dow Jones-Irwin, Homewood
`
`(1981); Goss & Yamey, "The Economics of Futures Trading,"
`
`John Wiley & Sons (1976) ; Johnson & Hazen, "Commodities
`
`Regulation," Little, Brown and Company, Boston (1989); R.
`
`Teweles et al., "The Commodity Futures Game," McGraw-Hill,
`
`New York (1974); T. Hieronymus, "Economics of Futures
`
`Trading," Commodity Research Bureau, Inc., New York (1971);
`
`"Commodity Trading Manual," Chicago Board of Trade, Chicago
`
`(1985); and J. Schwager, "A Complete Guide to the Futures
`
`Markets," John Wiley & Sons, New York (1984).
`
`The open outcry method of auction trading is widely
`
`believed to be the best method of buying and selling goods
`
`because of the fast access to the market it provides to all
`
`prospective traders. At present the open outcry auction in
`
`the pit produces a large quantity of information which must
`
`0006
`
`
`
`wo 90/11571
`
`PCf/US90/00878
`
`- 5 -
`
`be recorded accurately and quickly by hand. As markets be(cid:173)
`
`come more complex and international in character, those re(cid:173)
`
`quirements and the need for the physical presence of human
`
`traders in the same place may excessively restrict develop(cid:173)
`
`ment of the market.
`
`The information which is available to traders in pres(cid:173)
`
`ent-day trading pits includes:
`
`(1) the identities of the
`
`other traders in the pit; (2) the market activities of the
`
`other traders in the pit, including bids, offers, and
`
`trades made or not; (3) the personal appearance of other
`
`traders in the pit; and (4) selected news from outside the
`
`pit. It should be understood that some of this information
`
`is provided to present traders by subtle inferential
`
`communication means, such as body language, as well as by
`
`more objective means like news tickers and electronic
`
`·bulletin boards.
`
`Accordingly, an object of the present invention is to
`
`replicate the action which occurs in real commodity trading
`
`pits with an electronic system which would relieve the re(cid:173)
`
`strictions inherent in the such pits while retaining their
`
`advantages. Other automated trading systems and the like
`are disclosed in u.s. Patents 4,789,928 to Fujisaki;
`4,677,552 to Sibley, Jr.; and 4,674,044 to Kalmus, et al.
`
`By using the system of the present invention, traders
`
`and their customers will have the benefit of the open
`
`outcry auction market's time-proven efficiency in
`
`discovering prices; the liquidity that locals bring to the
`
`trading pit; the competition between many buyers and many
`
`sellers that drives prices to their most economically
`
`0007
`
`
`
`W090/11571
`
`PCI'/US90/00878
`
`-
`
`6 -
`
`appropriate level; the transparency of the market, which
`
`allows traders to know who is in the market and at what
`
`price and quantity; and the ability to provide a superior
`
`level of market surveillance.
`
`As described above, the trading system of the present
`
`invention is applicable to all markets, including those for
`
`securities trading. Securities markets are usually based
`
`on actions by specialists, each of whom is the market maker
`
`for one or more specific securities.
`
`In the New York Stock
`
`Exchange, for example, the ultimate determination of price
`
`for any given transaction frequently is determined by a
`
`specialist who deals in a particular stock and who
`
`maintains a running list or "book" of offers to sell and
`
`orders to purchase that stock. The specialist may complete
`
`a transaction in the stock whenever one or more purchase
`
`and sell orders can be matched with respect to price; on
`
`occasion, the same specialist purchases the particular
`
`stock in which he specializes or sells the same stock in
`
`order to maintain a market for the stock and prevent
`
`violent fluctuations in its price. Similar functions,
`
`particularly with respect to the matching of orders to
`
`purchase and to sell, must be carried out in all auction
`
`markets for the marketing of fungible goods, including such
`
`commodities as wheat, corn, and the like as well as stocks
`
`and bonds.
`
`A computation system for establishing prices in auction
`trading for the securities market is described in u.s. Pat(cid:173)
`
`ent 3,581,072 to Nymeyer. That computation system
`
`comprises a main data store for recording encoded data
`
`0008
`
`
`
`W090/11571
`
`PCI' /US90/00878
`
`- 7 -
`
`items representative of orders to buy and to sell the
`
`goods, such orders including orders at specific prices and
`
`other orders "at the market." The system includes a buy
`
`order sequencing device for arranging and recording
`
`purchase offers first in descending order by price and
`
`secondly by time of entry so that at each price level the
`
`oldest orders are uppermost. A sell order sequencing
`
`device is provided for arranging and recording all offers
`
`to sell first in ascending order by price and secondly in
`
`descending order by time so that once again the oldest
`
`orders are the highest at each price level. A closing
`
`price store is provided to record the last actual selling
`
`price for the goods. The closing price store and the main
`
`data store are coupled, by suitable control means, to the
`
`sequencing devices in order to transfer the recorded data
`
`items from the data store to the sequencing devices with
`
`"at market" prices being transferred at the aforementioned
`
`last selling price. The two sequencing devices are coupled
`
`to a comparator that compares the sell orders and the buy
`
`orders, when they have been arranged in sequence, to
`
`determine the lowest buy order price that is equal to or
`
`greater than a recorded sell order and thus establish a new
`
`selling price for the goods.
`
`More than such a system for merely matching buy and sell
`
`orders, the present invention provides a system that allows
`
`traders to create a market, whether of the open-outcry type
`
`or of the order-matching type.
`
`Its trade reaction time
`
`closely approximates that associated with a live auction
`
`market.
`
`Information necessary for traders is presented on
`
`0009
`
`
`
`W090/11571
`
`PCf/US90/00878
`
`- 8 -
`
`a display. The re-creation of the competitive pit provides
`
`an incentive for locals to trade, thereby maintaining the
`
`liquidity that is critical to auction market trading. The
`
`system also provides market transparency, i.e., partici(cid:173)
`
`pants can see who is in the market and who is executing
`
`trades with whom -- an important component of a competitive
`
`market. Finally, the present invention's ability to allow
`
`participants to view the market, just as if they were phys(cid:173)
`
`ically present, encourages a competitive market and
`
`enhances the ability to detect trading abuses that may oc(cid:173)
`
`cur.
`
`With the system of the present invention, traders can
`
`quickly see who is in the pit, whether they are buying or
`
`selling, in what quantity, the bids and offers, price
`
`levels and a wide variety of market activity.
`
`The electronic market, in accordance with the present
`
`invention, provides most of the information that is now
`
`available in the real pits and on the exchange floors and
`
`additional information and capabilities not currently
`
`available. For example, only the bids and offers that are
`
`at the market are presented, just as it is done in the
`
`physical pit. Also, the system tabulates all of the bids
`
`and offers by contract month and provides a short time
`
`frame report of who traded how much with whom.
`
`In
`
`addition, the system keeps a running tabulation of the
`
`trader's own position. The invention further facilitates
`
`the auction market by providing different screens for each
`
`of the different contract months and trading pits, but
`
`still allows traders to move freely between contract months
`
`0010
`
`
`
`wo 90/11571
`
`PCf /US90/00878
`
`-
`
`9
`
`-
`
`and trading pits. It will be appreciated that those
`
`advantages are also provided to all market forms which can
`
`be practiced with the present invention.
`
`The present invention also reduces the back office costs
`
`to trading firms by reducing the volume of paperwork and
`
`consequent errors. For example, the system of the present
`
`invention automatically sends matched trades through for
`
`clearing through the clearing organization, further re(cid:173)
`
`ducing costs by minimizing mismatched trades or out-trades.
`
`SUMMARY
`
`In accordance with the present invention, an apparatus
`
`for market trading comprises a host processor which selec(cid:173)
`
`tively communicates with a plurality of user terminals,
`
`each user terminal including a selectively partitionable
`
`display by which information is conveyed to a user and
`
`means for entering info~ation by which the user
`
`participates in the market.
`
`The system advantageously employs a high-resolution
`
`color display and a keyboard and hand-held mouse for infor(cid:173)
`
`mation entry in each user terminal. The display identifies
`
`active traders by displaying a separate symbol or icon for
`
`each, e.g., either a blue square for those bidding to buy
`
`contracts or a red oval for those offering to sell.
`
`In one
`
`embodiment, the quantity of each trader's bid or offer is
`
`listed within each icon, as is each trader's badge acronym,
`
`so everyone knows who's buying and selling how much.
`
`In an
`
`alternative embodiment, the securities, securities options
`
`0011
`
`
`
`. .
`
`W090/11571
`
`PCf /US90/00878
`
`- 10 -
`
`or other commodities that are traded by each specialist may
`
`be listed within each icon with the specialist's acronym.
`
`Also displayed on the screen may be a box, which is
`
`preferably a contrasting color such as green, listing the
`
`trader who is currently making the market in a futures con-
`
`tract by being the first at the best bid or offer price.
`
`When that trader's price is hit, his order gets top priori-
`
`ty. Trading is done by using the mouse to move a cursor
`
`onto the icon of a trader and pushing a button, i.e.,
`
`"clicking" on the icon.
`
`In one embodiment, users also can type in the initials
`
`of several traders and push a single button to fill a
`
`larger order by simultaneous transactions with the several
`
`traders. Similarly, the present systems can automatically
`
`match orders, e.g., a large order with a plurality of
`
`smaller quantity traders, or orders for stocks or other
`
`securities as in the stock exchanges. The orders could be
`
`filled, for example, based upon price and time of receipt.
`
`The system permits scalping and spread trading by pro-
`
`viding selective display of information relating to differ(cid:173)
`
`ent commodity contracts.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The objects and advantages of the present invention will
`
`be better understood after a reading of the following
`
`detailed description in conjunction with the drawings in
`
`.
`
`which:
`
`0012
`
`
`
`wo 90/11571
`
`PCf /US90/00878
`
`- 11 -
`
`Figure 1a shows a block diagram of a portion of an ap(cid:173)
`
`paratus in accordance with the present invention;
`
`Figures 1b and 1c show embodiments of other portions of
`
`an apparatus in accordance with the present invention:
`
`Figures 2a, 2b, and 2c show display partitions in ac(cid:173)
`
`cordance with present invention;
`
`Figure 3 illustrates the presentation of supplementary
`
`information on a display;
`
`Figure 4 illustrates a display partitioned for an auc(cid:173)
`
`tion market during auction market trading;
`
`Figures Sa, 5b, and 5c illustrate successive displays of
`
`trader identifying information;
`
`Figure 6 shows a display partitioned for "spread" trad(cid:173)
`
`ing;
`
`Figure 7 shows a display partitioned for option trading;
`
`and
`
`Figure 8 shows a functional block diagram of th.e user
`
`terminal instructions.
`
`DETAILED DESCRIPTION
`
`In accordance with the present invention, an electronic
`
`method and apparatus are provided which facilitate the
`
`rapid exchange of large amounts of inferential and
`
`objective information without requiring a physical
`
`congregation of traders.
`
`Referring now to the Figures in which like reference
`
`numerals indicate like parts throughout, Figure la shows a
`
`block diagram of an apparatus in accordance with the
`
`present invention comprising a host processor 100 that
`
`0013
`
`
`
`W090/11571
`
`PCf /US90/00878
`
`- 12 -
`
`communicates with a plurality of user terminals 200 (only
`
`one of which is shown) via a communication link 300. As
`
`described in more detail below, the host processor 100 may
`
`advantageously be one of the "NonStop" systems manufactured
`
`by Tandem computers, Inc., and each user terminal 200 may
`
`be a microExplorerTm processor, made by Texas Instruments
`
`Inc. that includes a Model Macintosh II manufactured by
`
`Apple Computer, Inc., having a Radius display. It will,
`
`however, be appreciated that other suitable devices are
`
`commercially available. One embodiment of a user terminal
`
`200 is illustrated in Figure 1b which shows a
`
`high-resolution display 201, a keyboard 202 and a mouse
`
`203.
`
`The host processor 100 carries out a plurality of in(cid:173)
`
`struction modules, which can be written in any suitable
`
`computer language, such as COBOL or TAL. One of a
`
`plurality of host receiver modules 110 receives
`
`communications from a selected one of the plurality of user
`
`terminals 200 that are logged into the system. Each host
`
`receiver module 110 is thus a port into the host processor
`
`100, which is activated initially by an attempt at
`
`connection by a user terminal. It will be appreciated that
`
`the greater the number of host receiver modules 110 that
`
`can be implemented by the host processor, the greater the
`
`,•
`
`number of traders who can participate in the market.
`
`In operation, a host receiver module 110 receives
`
`transactions and other information input to the system at a
`
`user terminal and electronically attaches or associates
`
`that information with a time of receipt indication.
`
`such
`
`0014
`
`
`
`WO 90/11571
`
`Per /US90/00878
`
`- 13 -
`
`time stamping is important for audit and integrity
`
`functions of the system, as well as for carrying out
`
`order-matching features of other types of trading system.
`
`The received transaction and time-stamp are then stored
`
`temporarily in a host-in queue in the receiver module, and
`
`the host receiver module 110 causes the host to send an
`
`acknowledgment of receipt to the transmitting user
`
`terminal.
`
`In some situations, the host receiver module 110
`
`would cause the host processor 100 to send a
`
`not-acknowledged message to the sending user terminal so
`
`that the information could be retransmitted. Such situa(cid:173)
`
`tions would typically occur when the host-in queue is
`
`temporarily full or when an error in the format of the in(cid:173)
`
`formation, such as might arise from a noisy communication
`
`link, occurs.
`
`The host-in queue in the host receiver module 110 is
`
`advantageously realized by any suitable randomly accessible
`
`buffer memory rather than a first-in, first-out (FIFO)
`
`buffer. As described further below, by using a random
`
`access buffer, the host processor can sort the information
`
`resident in the buffer and selectively prioritize
`
`processing of that information.
`
`A receiver module 110 receives the information from the
`
`user terminals 200 and places it in the host-in queue in a
`
`predetermined time sequence. The receiver module 110 thus
`
`can advantageously arrange for processing of information
`
`from a first user terminal before processing of information
`
`from a second terminal despite the host receiver's earlier
`
`receipt of the second terminal's information. For example,
`
`0015
`
`
`
`W090/11571
`
`PCf /US90/00878
`
`- 14 -
`
`trades by a user in Japan could be processed by a Chicago(cid:173)
`
`located host processor before trades from a Chicago user
`
`are processed.
`
`In this way, communications link delays can
`
`be compensated by the system so that the system access time
`
`will be equal for all users.
`
`In addition, the receiver
`
`module 110 can implement the order-matching features of the
`
`present invention for organizing information in price and
`
`time sequences as in other types of trading system.
`
`The Q-monitor module 120 examines the information and
`
`time stamps in the host-in queue, and moves that
`
`information into a delayed-host-in queue memory 130 at the
`
`time determined by the receiver module 110 which placed the
`
`information in the host-in queue. For audit and
`
`record-keeping purposes, the Q-monitor module 120 adds
`
`another time-stamp to each packet of information, and it
`
`moves and outputs the packets to the delayed-host-in queue,
`
`which can be a FIFO buffer, for transfer to a transaction
`
`processor 140.
`
`The transaction processor 140 of the host processor 100
`
`is initialized when the host processor is initialized.
`
`In
`
`a prototype version, initialization would consist, in
`
`pertinent part, of the loading into on-line memory from
`
`bulk storage, e.g., a hard disk memory, the host database
`
`of authorized users, transactions, screen displays, etc.
`
`After initializing, the transaction processor 140 accepts
`
`information from FIFO 130. The processor 140 preferably
`
`time-stamps each information packet from the FIFO 130, and
`
`verifies that the information is valid, e.g., represents a
`
`type of transaction performed by the system.
`
`If valid, the
`
`0016
`
`
`
`wo 90/11571
`
`PCf /US90/00878
`
`- 15 -
`
`transaction processor carries out the transaction by updat(cid:173)
`
`ing host primary and secondary databases that reside, typi(cid:173)
`
`cally, on a hard disk memory. The primary and secondary
`
`databases are part of the redundancy of the host processor
`
`100 and thus contribute to the system's failure resistance.
`
`After updating the host primary and secondary databases,
`
`the transaction processor 140 inserts into a host-out queue
`
`the appropriate information for transmission to the user
`
`terminals. For audit purposes it is advantageous to add
`
`another time-stamp to each packet of information as it is
`
`inserted in the host-out queue, and to write the
`
`time-stamped information to an audit log.
`
`In a prototype
`
`version, at predetermined intervals, the host database
`
`would be dumped to bulk storage and, preferably, a backup
`
`bulk storage, and primary and secondary system recovery
`
`logs would be reset.
`
`In the prototype version; the primary
`
`and secondary system recovery logs serve the purposes of
`
`the host primary and secondary databases.
`
`The information in the host-out queue is communicated to
`
`the user terminals through a plurality of host sender
`
`modules 150, there being one for each user terminal logged
`
`into the system. The host sender module also
`
`advantageously time stamps the information as it sends it
`
`to the user terminals, and receives an acknowledgement of
`
`receipt message from the user terminal.
`
`In the event of a
`
`transmission error, the host sender module retransmits the
`
`information to the user terminals. It will be appreciated
`
`that the host sender module also transmits a message
`
`indicating that the host processor is still "alive" in the
`
`0017
`
`
`
`wo 90/11571
`
`PCf/US90/00878
`
`- 16 -
`
`event that the host-out queue is empty due to a period of
`
`market inactivity.
`
`As described in more detail below, each user terminal
`
`200 preferably includes a large proportion of the instruc(cid:173)
`
`tions necessary for carrying out the present trading
`
`system. Those instructions are advantageously implemented
`
`in LISP, PASCAL or c, although LISP is preferable because
`
`of the flexibility it provides. Referring now to the user
`
`terminal 200 shown in the block diagram of Figure 1a which
`
`is representative of the plurality of user terminals which
`
`may be logged into the system simultaneously, a terminal
`
`receiver module 210 is activated by the attempted
`
`transmission from a host sender module 150 and receives the
`
`information transmitted. After time-stamping the received
`
`information, the terminal receiver module 210 places the
`
`information in a terminal-in queue 220, such as a FIFO
`
`buffer, and transmits an acknowledgement message to the
`
`host processor 100.
`
`If the terminal-in queue 220 is full
`
`or if an error in the information is detected by the
`
`terminal receiver module, the module 220 transmits a
`
`not-acknowledged message to the host processor. The
`
`terminal receiver module 210 also handles the "alive"
`
`message from the host processor 100 in the event of little
`
`market activity.
`
`Information in the terminal-in queue 220 is removed by a
`
`terminal transaction processor 230 which time-stamps the
`
`information and updates the terminal's database and
`
`displays in accordance with the information through a FIFO
`
`buffer 240. As described in more detail below, those
`
`0018
`
`
`
`W090/t1571
`
`PCf /US90/00878
`
`- 17 -
`
`updates reflect market activity and certain other
`
`information requested by the user.
`
`The information in the FIFO 240 presented to a terminal
`
`user and information input to the terminal by the user are
`
`transmitted through a terminal user interface module 250.
`
`The module 250 has been designed using the ACTION!Tm
`
`software development tool available from Expertelligence,
`
`Inc. The ACTION!Tm tool greatly facilitates the writing of
`
`window-type code for controlling the display of the
`
`microExplorerTm computer. The module 250 carries out a
`
`suitable log-in procedure to the host processor 100,
`
`thereby causing the host processor to initialize the user
`
`terminal database with suitable information from the host
`
`database.
`
`After the user terminal 200 is initialized via the ter(cid:173)
`
`minal user interface module 250, a terminal sender module
`
`260 establishes communication with the host processor 100.
`
`The sender module 260 removes data from a terminal-output
`
`queue 270, such as a FIFO buffer, attaches a terminal ad(cid:173)
`
`dress and time-stamp and communicates the information to
`
`the host. When the terminal-output queue 270 is empty for
`
`a predetermined time period, the sender module 260
`
`transmits a suitable terminal "alive" message to the host.
`
`The sender module 260 is also responsive to the
`
`•
`
`acknowledge, not-acknowledge, error messages received at
`
`the terminal from the host processor.
`
`In a preferred embodiment, a large proportion of the
`
`instructions for carrying out the trading system of the
`
`present invention are written in LISP or c and are resident
`
`0019
`
`
`
`W090/11571
`
`PCf /US90/00878
`
`- 18 -
`
`in each user terminal 200.
`
`In this way, the system's pro(cid:173)
`
`gramming is easy to accomplish and the capacity of the com(cid:173)
`
`munication link 300 is minimized. Referring to Figure 8,
`
`which is a block diagram of the organization of the
`
`instructions included in each user terminal 200, the
`
`..
`
`instructions 400 resident in a user terminal advantageously
`
`comprise a plurality 410-460 of "objects", as they are con(cid:173)
`
`ventionally referred to in LISP programming, or
`
`"applications 11 , as they are referred to when using the
`
`ACTION!Tm software development tool kit. It will be
`
`understood that 11 objects" and "applications" correspond
`
`generally to 11 subroutines" in other programming languages.
`
`They include data and logic structures, including suitable
`
`pointers and other indexes, that enable execution of user
`
`requests and direct the logical flow of program execution
`
`among several "objects." Although illustrated in terms of
`
`a futures market, it will be understood that the
`
`organization of the instructions for carrying out a stock,
`
`bond or other securities market would be substantially
`
`similar.
`
`The START SCREEN application 410 is a LISP object which
`
`is executed automatically at turn on of a user terminal
`
`200. The START SCREEN application 410 verifies proper
`
`initialization of the terminal 200 and queries the user
`
`whether logging into the system is desired.
`
`The LOGIN application 420 is executed in response to an
`
`appropriate user input, whether via mouse, keyboard or
`
`other entr