Abstract:
A system and method for real time dissemination of information is provided. One server receives and data bases the information while another server disseminates the information; instead of one server receiving the information, data basing the information, and dissemination the information to all users requesting the information.

Description:
RELATED APPLICATIONS  
       [0001]     This application is a continuation of and claims priority to and the benefit of U.S. patent application Ser. No. 09/736,707, filed on Dec. 12, 2000, titled “System and Methods for Disseminating Real Time Information,” incorporated herein by reference in its entirety. 
     
    
     BACKGROUND OF THE INVENTION  
       [0002]     1. Field of The Invention  
         [0003]     The present invention generally relates to data processing. Particularly, the present invention relates to a system and methods for disseminating information.  
         [0004]     2. Description of the Related Art  
         [0005]     It has long been recognized that accesses to timely information regarding current conditions in various commodities and financial markets are essential to profitable trading and investment. Many complex investment strategies require precise and careful timing of specific transactions in response to fluctuating market conditions. This is particularly true in today&#39;s fast-moving markets where the ability to respond quickly to changing market conditions may mean the difference between substantial profits or devastating losses. Many investors rely heavily on real-time stock quotes when implementing their investment strategies, and most of those investors get their real-time stock quotes from a brokerage company. Thus, a successful brokerage company must be able to provide stock quotes as accurately and efficiently as possible.  
         [0006]     Stock quotes are currently provided by stock exchanges, such as New York Stock Exchange, NASDAQ, etc., to a field vender such as Bloomberg or Comstock. After parsing the stock quote information received from the stock exchanges, the field vender then sends the stock quote information to a quote server at a rate of about 1,000 to 2,000 packets per second. The quote server is typically located at a regional brokerage office such as TradeCast or Merrill Lynch. The quote server has a database and keeps track of the history of each specific stock quote. If the stock quote is not in the database, the quote server adds the stock quote to the database. If the stock quote is already in the database, then the quote server updates the database. Next, the quote server checks to see if a registered user has requested that particular stock quote. Most brokerage companies use a subscription based system. If one workstation or trader registers a particular stock quote, then every time the tick or quote comes in, the trader gets an update on that stock quote. If numerous customers are requesting a stock quote at the same time, then the quote server will take some time to send the requested stock quotes to all the requesting customers. If the quote server spends more time delivering stock quotes, however, then the quote server must spend less time getting stock quotes. Thus, when the above-mentioned response time to the requesting customers takes too long, the quote server may miss some of the stock quotes sent by the field vender. As a result, investors may not have the most current stock quote information needed to make intelligent trading decisions.  
         [0007]     Consequently, it would be desirable to provide an improved method to disseminate the information, e.g., deliver stock quotes, to investors in real-time.  
       SUMMARY OF THE INVENTION  
       [0008]     In view of the foregoing, embodiments of the present invention provide an improved system and method to disseminate the information to investors in real-time. According to an embodiment of the present invention, a system for disseminating real time information is provided. The system includes a quote server positioned to receive stock quote information from a provider, e.g., field vender, etc., a contact server positioned to request a stock quote from the quote server in response to the stock quote request being requested by a user, means associated with the quote server and responsive to the stock quote request for sending a stock quote to the contact server, and means associated with the contact server for disseminating the stock quote received from the quote server to a plurality of users, e.g., trading stations requesting the respective stock quote.  
         [0009]     In accordance with this embodiment of the system, quote information from a provider is received by a quote server. In response to a quote request from a user to a contact server, the contact server requests the quote request from the quote server. The quote server then sends a respective quote according to the quote request to the contact server. In turn, the contact server disseminates the quote to the user and two other users requesting the same quote information. By having to send the requested quote information only once, the quote server is able to spend more time in receiving quote information and less time in distributing the quote information. This can of the quote server readers the amount of time spent delivering stock quotes and help prevent missing stock quotes sent from the provider. Advantageously, the addition of the contact server in combination with the quote server enables the system to serve upwards of 1,000-2,000 people per combination of the quote and contact server.  
         [0010]     According to another embodiment of the present invention, a stock quoting system is provided. The stock quoting system includes a quote server positioned to receive stock quote information from a provider, e.g., field vender, etc., a contact server positioned to request a stock quote request from the quote server in response to the stock quote request being requested by at least one user, means for sending a respective stock quote according to the stock quote request to the contact server by the quote server, and means for disseminating by the contact server the stock quote to a plurality of users, e.g., a plurality of trading stations requesting the respective stock quote.  
         [0011]     Methods for disseminating stock quotes in real time are also provided. According to another embodiment of a method, the method includes the steps of receiving stock quote information from a provider by a quote server, and in response to a stock quote request from at least one user to a contact server, the contact server requesting the stock quote request from the stock quote server, and sending a respective stock quote according to the stock quote request to the contact server by the quote server. The method also includes the contact server, rather than the stock quote server, disseminating the stock quote to a plurality of users, e.g., a plurality of trading stations requesting the respective stock quote.  
         [0012]     According to another embodiment of the method of disseminating stock quotes in real time, the method includes generating a plurality of stock quotes from a stock exchange, sending the plurality of stock quotes to a field vender, parsing the plurality of stock quotes, sending the plurality of stock quotes to a quote vender having a quote server at a relatively high rate of speed, and verifying validity of each of the plurality of stock quotes at the quote server. The method can also include adding a particular stock from the plurality of stock quotes to a database associated with the quote server when the particular stock is not in the database and updating the database with each of the plurality of stock quotes when the particular stock from the plurality of stock quotes is in the database. According to embodiment of the method, the quote server can be located, for example, in a regional stock brokerage office. Advantageously, the database is adapted to track history of each of the plurality of stock quotes. The method can also include determining when a contact server in communication with the quote server is requesting a particular stock quote, sending the particular stock quote to the contact server responsive to a request for the particular stock quote, and sending from the contact server the particular stock quote to a plurality of stock traders that each have requested the particular stock quote. The plurality of stock quotes can be positioned in one or more a data packets. As such, the method can also include multiplexing the plurality of data packets to the quote server at a rate of about 1,000 data packets per second or greater. As such, the method can include the quote server receiving the plurality of data packets at a rate in the range of about 1000-2000 data packets per second. Providing the user data at such a high rate allows users, e.g., stock traders, to make quick decisions related to the particular stock responsive to the respective stock trader receiving the particular stock quote. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0013]     So that the manner in which the features and advantages of the invention, as well as others which will become apparent, may be understood in more detail, a more particular description of the invention briefly summarized above may be had by reference to the embodiments thereof which are illustrated in the appended drawings, which form a part of this specification. It is to be noted, however, that the drawings illustrate only various embodiments of the invention and are therefore not to be considered limiting of the invention&#39;s scope as it may include other effective embodiments as well.  
         [0014]      FIG. 1  is a block diagram of a stock quoting system according to the prior art;  
         [0015]      FIG. 2  is a block diagram of a stock quoting system in accordance with an embodiment of the present invention;  
         [0016]      FIG. 3  is a flow chart of a stock quoting system according to the prior art; and  
         [0017]      FIG. 4  is a flow chart of a method for delivering stock quotes in real-time utilizing the stock quoting system in  FIG. 2 , in accordance with an embodiment of the present invention.  
     
    
     DETAILED DESCRIPTION  
       [0018]     The present invention will now be described more fully hereinafter with reference to the accompanying drawings, which illustrate embodiments of the invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the illustrated embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout. Prime notation, if used, indicates similar elements in alternative embodiments.  
         [0019]      FIG. 1  illustrates a block diagram of a stock quoting system according to the prior art. As shown, a stock quoting system  10  includes a quote server  13  and a database  14 . Generally, stock quotes are sent from a source of stock quote  11  to a field vender  12  and then to quote server  13 . Source of stock quote  11  are typically stock exchanges, such as the New York Stock Exchange, NASDAQ, etc. Field vender  12  is a trading vender such as Bloomberg or Comstock. Stock traders can request stock quotes from quote server via trading stations  15   a - 15   n . In response to a stock quote request, quote server  13  would send a stock quote to a corresponding one or more of trading stations  15   a - 15   n . Because stock quoting system  10  is a closed system, quote server  13  has to finish sending stock quotes to trading stations  15   a - 15   n  before quote server  13  can perform other important functions such as reading data from field vender  12 . In other words, if quote server  13  spends more time delivering stock quotes, then quote server  13  has to spend less time obtaining stock quotes. As a result, quote server  13  may miss a stock quote (or data packet) from field vender  12 . Because quote server  13  does not have the most current stock quote, database  14  could not be updated, and a trader would not have the most current stock quote information needed to make intelligent trading decisions.  
         [0020]      FIG. 2  illustrates a block diagram of a stock quoting system in accordance with a preferred embodiment of the present invention. As shown, a stock quoting system  20  includes a quote server  23 , a database  24  and a contact server  26 . Stock quotes are sent from a source of stock quote  21  to a field vender  22  and then to quote server  23 . Source of stock quote  21  can be an exchange that generates stock quotes similar to source of stock quote  11  depicted in  FIG. 1 . Field vender  22  parsers the information and multiplexes it to quote server  23  at a rate of approximately 1,000-2,000 stock quotes (or packets) per second. Quote server  23  can be any type of server capable of receiving and transmitting information, and can be located in a regional brokerage office such as TradeCast or Merrill Lynch. Quote server  23  is coupled to database  24  that keeps track of the history of each specific stock quote. If a quote for a particular stock is not in database  24 , quote server  23  can add the missing stock quote to database  24 . If the stock quote is already in database  24 , quote server  23  can update database  24  with the latest information. Stock traders can request stock quotes from contact server  26  via trading stations  25   a - 25   n . Contact server  26  may be, for example, a workstation, a mid-range computer or a mainframe computer. In addition, contact server  26  may be coupled to a network such as a local-area network (LAN) or a wide-area network (WAN). In response to a stock quote request, contact server  26  would send a stock quote to a corresponding one or more of trading stations  25   a - 25   n.    
         [0021]      FIG. 4  illustrates a flow chart of a method for delivering stock quotes in real-time utilizing stock quoting system  20 , in accordance with an embodiment of the present invention. After data has been received by a quote server, as shown in block  31 , a determination is made by the quote server  23  as to whether or not the received data is a valid packet, as depicted in block  32 . If the received data is a valid packet, the received data will be stored in a database coupled to the quote server  23 , as shown in block  33 . Otherwise, the received data will be discarded or ignored. Then, the quote server  23  checks to see if a contact server  26  is requesting a particular stock quote, as shown in block  34 . If the contact server  26  is requesting a stock quote, the quote server  23  sends the stock quote to the contact server  26 , as depicted in block  36 . The contact server  26  may send the stock quote to all traders  25   a - 25   n  who have requested that particular stock quote. If no trader  25   a - 25   n  has made a stock quote request, then the contact server  26  does not request any stock quote from the quote server  23 . By comparison,  FIG. 3  illustrates a flowchart according to the prior art where hundreds of traders  15   a - 15   n  would request a stock quote whereby quote server  13  would have to send each trader  15   a - 15   n  the stock quote, shown in steps  34  and  35 .  
         [0022]     As has been described, the present invention provides an improved method for delivering stock quotes in real-time. Because the quote server  23  sends a stock quote to the contact server  26  only when a stock quote request has been made from a trader  25   a - 25   n  via the contact server  26 , the quote server  23   v  is not burdened with the responsibility of delivering stock quotes for each stock quote request. As such, the quote server  23  can dedicate more processing for receiving new stock quote information from a field vender  22 .  
         [0023]     It is also important to note that although the present invention has been described in the context of a fully functional computer system, those skilled in the art will appreciate that the mechanisms of the present invention are capable of being distributed as a program product in a variety of forms, and that the present invention applies equally regardless of the particular type of signal bearing media utilized to actually carry out the distribution. Examples of signal bearing media include, without limitation, recordable type media such as floppy disks or CD ROMs or other storage devices known to those skilled in the art including transmission type media such as analog or digital communications links.  
         [0024]     This application is related to U.S. patent application Ser. No. 09/736,707, filed on Dec. 12, 2000, titled “System and Methods for Disseminating Real Time Information,” incorporated herein by reference in its entirety.  
         [0025]     In the drawings and specification, there have been disclosed a typical preferred embodiment of the invention, and although specific terms are employed, the terms are used in a descriptive sense only and not for purposes of limitation. The invention has been described in considerable detail with specific reference to these illustrated embodiments. It will be apparent, however, that various modifications and changes can be made within the spirit and scope of the invention as described in the foregoing specification and as defined in the attached claims.