EP0564548B1 - Apparatus and method for creation of a user definable video displayed document showing changes in real time data - Google Patents
Apparatus and method for creation of a user definable video displayed document showing changes in real time data Download PDFInfo
- Publication number
- EP0564548B1 EP0564548B1 EP92902761A EP92902761A EP0564548B1 EP 0564548 B1 EP0564548 B1 EP 0564548B1 EP 92902761 A EP92902761 A EP 92902761A EP 92902761 A EP92902761 A EP 92902761A EP 0564548 B1 EP0564548 B1 EP 0564548B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- data
- user
- display
- active
- document
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/68—Payment of value-added services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
- G06F9/45512—Command shells
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1804—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for stock exchange and similar applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2215/00—Metering arrangements; Time controlling arrangements; Time indicating arrangements
- H04M2215/01—Details of billing arrangements
- H04M2215/0196—Payment of value-added services, mainly when their charges are added on the telephone bill, e.g. payment of non-telecom services, e-commerce, on-line banking
Definitions
- the invention pertains to the field of application programs for monitoring and managing complex systems with many variables having values which vary in real time. More specifically, the invention pertains to the field of software systems which permit the user to create custom active documents with the layout, look and content defined by the user and displayed on a video display. Changes in the values of real time data which are included in the active document defined by the user are reflected immediately on the display.
- the Quotron product fills some portion of this need, but is inadequate in many respects.
- the Quotron product has a video display where three basic areas are available for customization by the user. One area is reserved for stock quotes where individual stock prices are displayed in a block. The user can customize to the extent of defining which of the many stocks for which quotes are desired.
- the current price of the stock is then displayed in each block or window devoted to that stock by network access of a service that provides stock quotes. Changes in the stock price are reflected on the display when they occur.
- Another area of the display is reserved for so-called “tickers”, i.e., streams of trade data for various stocks defined by the user with the stream for all the trade data moving across a common window.
- a third area of the display is reserved for a market monitor display where a plurality of stock prices are displayed as a group in a single window, with the content of the group, i.e., the stock prices selected for display selected by the user.
- the US-A-4 750 135 discloses another system of this kind.
- buttons i.e., display objects with user programmable text labels and a "push” operation with a programmable action which occurs every time upon a "push” of the button such as by selection of the button with a mouse, touch screen, voice designation or by the keyboard etc.
- An apparatus such as recited in claims 1, 2 and 33 and method such as recited in claim 35 according to the teachings of the invention provides a computer facility (hereafter the application or program) whereby a user, using a collection of layout tools may define an active document.
- Active document as that term is used herein means a video displayed document of one or more "sheets" of the user's design which incorporates text, displays of real time data in user definable style, e.g., color, font, background, pen size etc. and format, e.g., quote, ticker, graph etc., alarms, and alarm scripts, i.e., user defined scripts of commands to be processed (much like a word processing or spreadsheet macro) when an alarm limit is exceeded.
- the program automatically accesses the network to which the host is connected through network interface software which establishes the proper subscriptions for the desired real time data with the appropriate information service and the server upon which this service process is running. Real time data is then passed to the program from whatever network communication process is being used and is immediately displayed in the format, style and location previously specified by the user.
- network interface software which establishes the proper subscriptions for the desired real time data with the appropriate information service and the server upon which this service process is running.
- Real time data is then passed to the program from whatever network communication process is being used and is immediately displayed in the format, style and location previously specified by the user.
- the user defines each sheet of the document using a variety of tools which can be used to create display objects such as simple quotes or tickers to sophisticated graphs and tables.
- the user may also use the tools to create text fields such as customized help screens which help other users understand the active document which has been created. All the tools share a common set of commands which are located in an menu typically displayed at the top of each sheet.
- the tools are symbolized by icons and the menu options, when invoked, cause pop-up menus to appear with other options.
- the menu options are used to set the symbols for stock prices to be monitored, changing display characteristics and selecting which of the multiple pages to view.
- the location and type of menu display and the location and type of system used to display and/or invoke the layout tools is not critical to the invention.
- the type of input device used to select tools, specify locations, specify symbols or the source of real time data to display at any particular display object, or to direct the program where on a sheet to display a particular display object is not critical to the invention.
- a mouse, trackball, digitizer, keyboard, voice processor and map coordinate system, touchscreen, or any other present or future device may be used such as a thought processor.
- the tools provide access to information from any source including other programs running on the same host or somewhere else on the network, ticker plants, information services or databases.
- the program can support data feeds from Reuters Market Feed 2000/IDN, Teleados Ticker, CMQ Telerate MarketFeed, Canquote, and Quotron.
- the program (known commercially as the MarketSheetTM facility or program) can accept prices extracted from paged market data feeds such as Telerate TDPF, Reuters RDCDF, FBI and RMJ.
- Page Shredder Another program available from the assignee of the present invention, but the particular manner in which the prices are extracted from page feeds is not critical nor it is part of the invention and the invention may be practiced without this facility or with any prior art method of extracting prices.
- the tools available for defining an active document are as follows.
- a label tool allows the user to enter static text to label or annotate the active document or to create his or her own personalized help screens.
- a quote tools displays the value of an issue, including a user defined set of other fields pertaining to that particular company in a display style specified by the user. For example, a brief style displays only the price where a comprehensive style displays all the available fields.
- a ticker tool can be used as a selective or block ticker, and can show data in any display style. Upticks and Downticks can be shown in color and volume information can be included.
- a page fragment tool displays a region of a page-based feed such as Telerate or Reuters.
- a time based graph tool can be used to create graph display objects to graphically display the changes in value of a variable such as price per time.
- the time and price axes may be scaled to minutes or seconds, and the price value may be set to any unit such as 1/8 or 1/32 of a dollar.
- Above and below channel segments can be drawn on the graph.
- Graphs may be merged to show two issues against the same time axis.
- a data set graph tool can be used to create graph display objects which display the values of multiple instruments such as stocks or bonds or other subscribed values in real time such as a yield curve in a semiconductor processing application environment.
- a table tool can be used to create display objects which show position blotters, currency lookup tables, and names of commonly used pages or securities.
- a publisher tool publishes information constructed using the invention or entered by the user onto the network using the network communication process running in the environment in which the invention is running. The published information can be used by other processes linked to the network or as a bulletin board for use by other traders.
- a button tool can be used to create display objects that execute scripted actions when the button is "pushed", i.e., selected in any way on the display such as by clicking on the button by a mouse.
- the scripted actions are entered by the user in whatever sequence is desired in a language such as the MarketScriptTM command language comprised of all commands that the invention can execute.
- the scripted command sequence can also include commands to the operating system, the network communication software and other processes running on the same host or elsewhere on network.
- Buttons can be programmed to carry out commonly performed operations such as moving quickly to an important page or performing an operation to be carried out when an alert condition occurs.
- the buttons allow creation of hypertext links between different sheets, and the alert scripts can perform operations such as changing a color, flashing an object, sounding an audible alarm or executing an external program. The latter capability provides great flexibility by enabling clients to program features such as the ability to telephone a beeper service when an alert occurs.
- a "glossary" facility allows users to add new operations, i.e., commands, to the scripting language and customize the menus as needed.
- New users are supported by providing short and full menu sets. New users can use the short set while working with existing templates and tutorial files. After the system has been learned, the user can graduate to the full menu set.
- the program is used in a distributed system architecture embodied in a local area network coupling workstations and personal computers such that the right amount of processing power can be dedicated to each user and application.
- the distributed system architecture also allows critical applications to be supported by redundant or complementary equipment such that the system is sufficiently reliable to continue to operate even if a market data feed or server should fail.
- the program according to the teachings of the invention is ported to work with the TIB® suite of network communication programs available from the Teknekron Software Systems in Palo Alto, California.
- the TIB software is described in EP-A-0 412 232 (published on 13.02.1991) and EP-A-0 485 252 (filed on October 10, 1991 published on May 13, 1992) which are hereby incorporated by reference.
- the TIB® software supports subject based addressing, network architecture decoupling, communication protocol decoupling, data decoupling and separation of information sources from consumers.
- the TIB software subject based addressing capability frees applications such as the program according to the teachings of the invention from the need to know exactly where on the network information of a particular type can be obtained.
- a trader can reference "long bond yield" as the subject of a desired real time data subscription without the need to know the specific physical location on a specific page of a specific information service running on a specific server. Then, if the source of the information changes, users need not change their screens and programmers need not change their programs.
- the establishment of the ticker, graph or other form of display of the changing real time values generates a subscription request on the subject of the real time data which is sent to the TIB® communication software.
- This communication software maps the subject of that subscription request to the identity of a source from which this data may be located.
- a source typically a service such as Reuters or DataTrade 2000
- communication is automatically set up with that service by the TIB® communication software and the subscription on the subject is registered with the service.
- the message carrying the registration of the subscription also includes the address in the distributed computing system to which data on the subject of the subscription is to be sent.
- the service publishes data, it also outputs the subject of the data.
- the TIB® communication software on the publisher side examines the subject of each item of data so published and compares it to the list of active subscriptions. When a match is found, the TIB® communication software on the publisher side looks up the addresses of all machines having active subscribers to that subject and sends the data to all these machines.
- the TIB® communication software resident on each of these machines then receives the data and passes it up through the various protocol layers to the MarketSheet application that originally requested the data. The data is then displayed on the MarketSheet display in the manner designated by the user using the various MarketSheet layout tools.
- the separation of information sources and consumers allows users to add or change market data sources without changing the application that use the data.
- the users can also add and change applications without impact on the existing sources of information.
- data values from fixed format pages of market data can be combined with data from elementized feeds in a realtime spreadsheet.
- the spreadsheet can compute a result, e.g., the theoretical value of a derivative security, and publish it on the network through the TIB software.
- the program of the invention can then graph the value in real time. None of these application programs need ever be aware of the existence or operation of the others. New application programs can be added to a firm's computing repertoire at any time, building on each other to create a total information environment.
- the menu of commands allows the user to display an index of the sheets which have been defined for a particular active document file, and to select the sheet to view.
- the menu options also include commands to manage sheets and sheet files, and to control the appearance of the display and the objects within it.
- the menu also includes commands to rearrange the location of the display object windows or boxes (the term boxes will be used herein to avoid confusion with the term windows in which separate processes may be running in multitasking environment or DOS windows environments).
- the display object boxes may be layered on top of each other, and the menu includes options to change the order of the layers and move any particular box to the top of a stack.
- only one sheet is shown on the display at any particular time, but in alternative embodiments, several sheets may be shown in separate "windows" or layers on the display.
- Figure 1 is a typical sheet layout in an active document containing one or more user defined sheets constructed with a program according to the teachings of the invention.
- Figure 2 is a state diagram for the normal and alert states to illustrate the operation of alert scripts.
- FIG. 3 is a diagram of a typical environment in which the program of the invention operates.
- Figure 4 is an example of an instance of an Active Object class.
- Figure 5 illustrates how the properties of an Active Object are stored as data structures in memory, and how libraries of programs are linked to these data structures to carry out the operations associated with each instance of an Active Object.
- Figure 6 is a block diagram of the parts of a program according to the teachings of the invention, and the components of the computing environment in which the program, according to the teachings of the invention, operates.
- Figure 7 is a block diagram of the parts of an Active Object.
- Figure 8 is a flow diagram of processing after a real time data update.
- Figure 9 is a diagram of event processing flow in a program according to the teachings of the invention.
- Figure 10 is a drawing illustrating the basic display of a program according to the teachings of the invention.
- Figure 11 is an illustration of the menu bar.
- Figure 12 is a dialog box example.
- Figure 13 is an example of the pull-down sheet menu.
- Figure 14 is an example of the dialog box to select the index of interest.
- Figure 15 is the tools icon menu.
- Figure 16 is an example of how the display for an Active Object changes when the object has been selected.
- Figure 17 is an example of the display for multiple Active Objects when they have been selected.
- Figure 18 is an example of an object which has been selected by keyboard transversal.
- Figure 19 is an example of overlapped Active Objects.
- Figure 20 shows the pull-down menu structure for all menu options on the menu bar.
- FIG. 1 there is shown one example of a user defined sheet in an active document constructed using a program according to the teachings of the invention.
- the file name in this case FOCUS, naming the file in which the active document of which the user programmed sheet of Figure 1 is a part.
- a menu of commands i.e., functions which can be invoked by the user through whatever input device is being used, is shown at 12.
- the menu choices shown at 12 each "overlie" a "pop-up” menu displaying further command choices related to the overlying command choice. Those pop-up menus will be detailed in a later figure.
- the menu lets the user display an index of sheets within the active document and to select the sheet to view.
- the menu 12 also includes options to manage sheet composition and active document files.
- the menu 12 also includes commands to control the appearance of the display and the display objects associated with the Active Objects programmed by the user into a sheet.
- Icons representing the tools that are available to the user to define the Active Objects which are to appear on any particular sheet of an active document are shown at 13.
- Each tool when invoked, allows the user to create an Active Object on the programmable portion of the display at a location specified by the user using some input device.
- Each tool can be used to define an instance of a particular class of Active Objects or to carry out an operation such as publish or display a grid for alignment or layout of the sheet.
- the general classes of Active Objects are labels, quotes, tickers, time graphs, data set i graphs, page segments and buttons.
- the tools may also be invoked by name rather than graphically by selecting an icon representing that tool using a pointing device. Further description of the various tools will be provided below.
- the user programmable display area proper is shown at 14. At the top of the display area in this example, the user has created an instance 16 of a label class Active Object with text entered by the user to define what the particular sheet being displayed is. This label Active Object was created by invoking the label tool represented by icon 15.
- the program according to the teachings of the invention use objected oriented programming style.
- the preferred embodiment of a program according to the teachings of the invention has been written in C language for easier portability among machines using programming conventions to make the C language act like an object oriented programming language, it is easier to construct the program using object oriented programming languages such as C++.
- the middle of the display area contains several instances of quote class Active Objects in different display formats generated by invoking the quote tool represented by icon 17.
- Each three, four, or five letter individual symbol in the box 18 and the number next to it represents an individual quote where the user specified the symbol based upon the stock issue he or she wanted to monitor.
- the middle of the display also shows an instance 20 of a ticker class Active Object showing all trades in a specified set of issues that exceed a minimum volume set by the user. This particular criteria for display was programmed by the user using the ticker tool represented by icon 19.
- an instance 22 of a graph class of Active Object At the bottom of the display is an instance 22 of a graph class of Active Object.
- the program allows graphing of trades, volumes, spreads, indexes or any other value.
- Two different types of graph tools are provided although only graph icon 21 is shown in Figure 1.
- another graph icon is present in area 13 representing a tool to create Active Object instances of data set graphs.
- These types of graphs are usually bar graphs where each bar represents some real time value about a different stock issue designated by the user although in different embodiments, each bar can represent the real time value of any variable in a complex system.
- Active document means a video displayed document of one or more "sheets" of the user's design which incorporates text, displays of real time data in user definable style, e.g., color, font, background, pen size etc. and format, e.g., quote, ticker, graph etc., alarms, and alarm scripts, i.e., user defined scripts of commands to be processed (much like a word processing or spreadsheet macro) when an alarm limit is exceeded.
- the program automatically accesses the network to which the host is connected through network interface software which establishes the proper subscriptions for the desired real time data with the appropriate information service and the server upon which this service process is running.
- Real time data is then passed to the program from whatever network communication process is being used and is immediately displayed in the format, style and location previously specified by the user.
- a financial environment such as a trading floor of a broker such as Dean Witter etc.
- the invention is not limited to such applications. Any complex system which generates real time data which control operators must monitor are subject to being monitored and controlled using the teachings of the invention.
- the attributes of the Active Objects which are used to compose an active document are as follows.
- a label Active Object is just a fixed character string placed in a position on a sheet entered by the user. Labels are used to identify sheets, regions on sheets, and individual monitoring Active Objects as well as in script files to generate messages when an alarm event occurs or to generate customized help screen for a particular active document.
- a label does not change in real time. Its attributes are: String (field) which is the text string to be displayed in the label object; and, Alignment (radio button list) which is one of three formatting options - left, center and right.
- a quote object is a familiar market price quotation. Any number of quotes may be placed on a sheet. Attributes of the particular instance record for a quote Active Object determine not only what issue is quoted, but also what items of information from the total comprehensive record for a particular issue are displayed. Different types of quotes may have different formats.
- the attributes of a quote are:
- Quote objects are traversable, which means that the user can traverse to the quote object and enter a new symbol simply by entering it from the keyboard.
- Quotes have four different scripts which are run for different reasons with respect to alerts.
- Figure 2 illustrates states behind this concept.
- a quote is either in the normal state 26 or the alert state 28.
- the "normal update” script is run.
- a script is a user defined string of commands that are executed in sequence. They can be commands that the program of the invention understands, commands to the operating system or other processes operating in the environment or commands to any other process running anywhere else on the network.
- the script language also has a glossary facility whereby the user can define new commands and add them to the script language.
- the "begin alert" script 30 is run.
- This script takes the quote object into the alert state 28 where the "alert update” script is run. Additional updates which are in the alert run will continue to run the "alert update” script. Then when an update comes in which is back in the normal range, the "end alert” script will be run, followed by the "normal update” script.
- the four scripts provide a way of checking for changes in the state, or for staying in the same state.
- the ticker tool is a continuously shifting display of trades in a specified list of issues.
- the dialog box for a ticker displays the current list of securities being tracked and some commands for manipulating the list.
- the dialog box is used to change or add to the securities on the list.
- the ticker attributes are:
- the subscription entry dialog for the ticker tool is as follows:
- Composite or "wild card” tickers can be created simply by entering for the symbol a period followed by the name of the exchange code. The ticker object will then show every update reported by the feed on that exchange.
- the ticker object will show new data each time it receives an update from the data feed which includes either a new volume value, or a new value for one of the fields in the specified style.
- the display style shows the symbol, the last price, and the trade volume
- updates will appear when there is a change of the last price or the trade volume.
- the display style shows the symbol and the bid and ask price
- updates will appear when there is a change of the bid price, ask price, or the volume field.
- the ticker can handle information from sources which do not have the standard field, such as output from the Shredder, an application that elementizes data which is provided by a service only in standard "packages" such as Telerate pages etc.
- the Page Fragment tool represented in Figure 1 by the icon 26, is a user selectable rectangular section of a page from a page-based market data service.
- the user constructs a page fragment interactively, using a pointing device to designate the fragment to be extracted and its destination on the sheet being composed. This can be done starting from a page-based service application, or entirely within the program of the invention.
- the user can then modify these and other attributes using the page fragment dialog box and the menu commands.
- the dialog box for a page fragment will display the full source page, and draw the region being extracted for the fragment.
- the program according to the teachings of the invention draws display objects by invoking the functions of the commercially available XWINDOWS system in the preferred embodiment although other embodiments can be ported to any other commercially available or research screen rendering library, program or toolbox.
- the XWINDOWS system is available from a consortium of universities and commercial vendors known to those skilled in the art.
- the mouse or pointing device can be used to designate the upper left corner of the new region, and then drag to the lower right corner.
- the dialog box can also be used to set the following attributes:
- Page Fragments are traversable. The user can traverse to a page fragment object, and enter a new page name or number simply by typing it from the keyboard.
- the Graph tool allows creation of graph Active Objects with associated display objects which track the real time variations in a variable in a complex system such as market value.
- the graph object is a composite of several simpler objects: a graph/time axis, a price axis, and a graph area. Each of these areas can be independently selected for changes to colors, fonts, and borders.
- the outermost portion is the frame for all of the graph sub-objects, and must be selected in order to perform edit operations such as move, resize, or front/back restacking operations.
- Each axis has its own attributes controlled by a separate dialog box. Because the graph object is a composite object, it may not be duplicated with the Duplicate tool.
- the value for the Price Axis is shown in the upper left hand corner of the Graph Display Area and the value for the Time Axis is shown in the upper right hand corner. This feature is useful in identifying numeric values for any point on the Graph Lines.
- the Graph/Time axis dialog box allows the user to edit attributes of the overall graph as well as the attributes of the times axis.
- the attributes this dialog box currently supports are divided into the following categories.
- Axis Position selects position of time axis as either above or below the graph area.
- Each graph can have one or more price axis, each corresponding to a different instrument being graphed.
- Trend Lines may be drawn on a graph to indicate support and resistance levels.
- the dynamic graph application provides very flexible scaling functions as follows:
- the graph alert facility provides a notification if a data point moves outside a region defined by two active trend lines. At any given time, at most two trend lines can be active. If two trends are active, then activating a new trend line will deactivate the last recently activated trend line of the two. Activation and deactivation of trend lines is done via an abbreviated "move" trend point operation, i.e. clicking on any point of the trend line with the right mouse button without any mouse movement between press and release. Clicking on an inactive trend line activates it while clicking on an active trend line will deactivate it. An active trend line is drawn in the color of the graph plot with which it is associated. Inactive trend lines appear in a lighter color.
- any new point that comes in through the subscription will be checked to see if it falls between the values specified within the time range of the two trend lines.
- An alert is triggered when a graphed value goes outside the bounds of the active trend lines.
- a button is an object which the user can interact with, and will cause a script to be carried out when clicked on.
- the button might perform the equivalent of a Sheet Next command, or transfer the user to a specific sheet.
- Buttons allow the user to determine the dynamic action of the sheets, as well as their appearance. These scripts are expressed in the MarketScript® language.
- buttons are created using the button tool, and the user can use the font fill, and pen menus to specify the appearance of the button (the border menu does not operate on buttons). However, since a button carries out its operation when clicked on with the left mouse button, the user must use the middle or right mouse buttons to bring up the dialog box to set the button attributes.
- the "Script" entry of the button dialog box allows the user to enter the script to be carried out.
- Style include rectangular, rounded, shadow, check box, and radio button.
- check box and radio button styles are used when there are groups of buttons. Note that for check box and radio button styles, the alignment choice does not apply.
- Scripts are composed of one or more actions, which are entered as a sequence.
- the actions can perform operations such as selection of objects, editing of selected objects, navigation to sheets, and editing of the current sheet. Note that these commands must be entered exactly as shown with respect to case.
- the currently supported scripting commands are:
- front restacks selected items to front back restacks selected items to back hide hides selected items show shows selected items clear highlight clear highlight of selected page fragment objects ⁇ color_name> pen sets pen color of selected items ⁇ color_name> border Color sets border color of selected items ⁇ integer> borderWidth sets border width of selected items ⁇ color_name> fill sets fill color of selected items toggle visibility inverts hide/show of selected items
- ⁇ xXy> move move of selected items to x
- y ⁇ dxXdy> move relative move of selected items
- ⁇ widthXheight> size resizes selected items to width
- alignLeft aligns left edge of selected items to x
- alignRight aligns right edge of selected items to x
- alignTop aligns top edge of selected items to y ⁇ y> alignBottom aligns bottom edge of selected items to y
- ⁇ color_name> background sets sheet color background to named color on gridLines turns on drawing of gridlines off gridLines turns off drawing of gridlines toggle gridLines toggles the drawing of gridlines
- beep beeps the workstation ⁇ UNIX command> execute runs UNIX command in background ⁇ milliseconds> pause pause for specified amount of time
- Sheet operations are most useful when creating new traversal options on a set of sheets.
- the "find sheet” command is most useful to transfer to a specific sheet, and will search from the first sheet to the last to find one which matches the give name.
- the object selection commands provide ways to select all objects, no objects, all of a given class, all of a given name, or all in a region. For instance, if the user created a set of Quote objects, and had some display elements of the Dow-Jones Industrials and the others display the Dow-Jones Utilities, assign the name "INDU” to all of one group, and assign the name "UTIL" to the other group.
- a common use of scripts and pop-up objects is to annotate a sheet with a number of extra label objects which describe what is being monitored or graphed. Make sure that the label objects are in front of the other objects, and then give them all the name "DETAIL”. Now create a button with the script "DETAIL find select show”, and another with the script "DETAIL find select hide”. Executing these two buttons will turn the detail on and off on your sheet.
- scripts it is common for scripts to select objects to operate on, but if scripts are run at unexpected times (such as due to Quote updates), they could change the selection status of the objects the user is trying to edit. For this reason, the selection status of the objects is saved at the start of the script execution, and is restored afterwards. Thus if a script begins with an "all select” phrase, it is not necessary to end with a "none select phrase".
- FIG. 3 there is shown a typical network environment in which the preferred embodiment of the invention would be employed.
- Elementized data feeds are received via a LAN/WAN (Local Area Network/Wide Area Network) 32 and handled by a feed handler 34.
- Paged market feeds are received via the network 32 and handled by a feed handler 36.
- a workstation 38 running a shredder process breaks up the pages of the paged feeds into their constituent elements.
- a workstation 40 running a program according to the teachings of the invention is used by a user to compose an Active Document to manage financial information in real time. As the various quotes, tickers, graphs etc. are created, subscription requests for the required data are passed to the network communication software running on the workstation 40.
- the subscription requests are filled using subject based addressing.
- the subscription requests result in properly formatted service request transmissions on the network 32 to the proper service and server in the proper protocol to request the desired data.
- the server or servers then transmit the data back to the workstation 40 where it is displayed in the Active Document defined by the user.
- An object is an entity which has both properties and associated operations which can be invoked by a user to change the values of various properties of the object.
- the object is an entity representing a class of objects in the form of bank accounts. The particular instance in this class is a bank account for Jessica Doe.
- the properties of each object in this class are the account number, the balance and the owner name.
- the operations that can be invoked are withdrawal, deposit and query. Each operation can be invoked by entering a command to identify the object and start the operation (typically the name of the operation) followed by the argument. The operation then uses the argument to change the properties of the object. For example, the command Doe.Deposit(100) would invoke the deposit operation and add 100 units to the balance property of the Doe bank account.
- an object is represented in memory by a record containing the values for each of the properties and a link or pointer to a library of programs which carry out the operations associated with that object.
- This structure is shown in Figure 5.
- two data records 42 and 44 represent the values of the properties for two instances of bank account class objects.
- Each record has a link or pointer, 46 and 48, respectively, to a library 50 of programs which carry out the operations associated with this class of objects.
- a Frame Object 52 "contains" all the other Active Objects that will be manipulated by the system.
- the Frame Object contains menus, dialog boxes and exactly one Active Document.
- the menus are comprised of a menu system 54 and a plurality of menu objects shown generally at 56.
- the menu system 54 handles user inputs from whatever input device is being used for selection of commands, i.e., menu options.
- the dialog boxes are implemented by a dialog manager 58 and a series of dialog objects shown generally at 60.
- the dialog manager 58 handles user input associated with user selection of desired values for editing properties of Active Object instances which have been created on a Sheet using a tool.
- dialog objects For each class of Active Object which has specific properties and operations, there is one or more dialog object(s) which can be used in a user dialog to set specific properties of an instance of that class of Active Object and to invoke operations which are specific to that class of Active Object.
- a graph class of Active Object is an example of a type of Active Object which has more than one dialog box. There is one dialog box to set the properties of the x-axis and one dialog box to set the properties of the Y-axis. Some of these dialog boxes "pop-up" supplementary dialog boxes.
- An Active Document object 62 "contains" a plurality of other objects. They are: a plurality of Sheet Objects which have been composed by the user using the tools described above and shown generally at 64; a plurality of Active Objects the instances of which are created using the tools described above and shown generally at 66; and group objects shown generally at 68. Group objects are essentially "containers" for other objects and can contain a plurality of Active Objects such as are shown generally at 70 instances of which are created using the tools, and one or more other group objects shown generally at 72 each of which may contain a plurality of Active Objects such as shown at 74 or other group objects such as are shown at 76.
- each Sheet Object Some of the properties of each Sheet Object are: whether a grid used for alignment of various Active Objects thereon is or is not displayed; grid size; background fill pattern, e.g., solid blue, dollar signs, etc.; a list of contained objects; scripts associated with the Sheet that handle alerts for any objects on the Sheet; whether the grid is being used; edit mode status, i.e., whether the user will be allowed to edit (unlocked) or not be allowed to edit (locked) the Active Document; etc.
- Some of the operations/commands associated with each Sheet Object are: toggle grid setting; change grid size; change background fill pattern; align an Active Object to the grid; change the edit mode status; etc.
- the Active Document object 62 has various properties including: the current Sheet to display; the list of Sheets in the Active Document; the file name under which the Active Document is stored; the number of Sheets; etc. Some of the associated operations include: open an Active Document file; add a Sheet or Sheets from another Active Document to this Active Document; close an Active Document file with save or do not save options; go to next Sheet; go to previous Sheet; etc.
- the pop-up or pull-down menus under the main menu options of the menu bar are menu objects as are the main menu options of menu bar 12 in Figure 1.
- the dialog manager 58 insures that the proper dialog object is selected to make the proper dialog box appear when a tool is invoked which requires a dialog to set the attributes of an instance of an Active Object being placed on a Sheet by a user.
- the dialog objects are the objects which actually embody the dialog boxes.
- the dialog objects contain text attributes that define the user's options and associated operations or commands which the user can invoke, e.g., graphically by clicking on an icon representing that operation, to change the properties or attributes of the Active Object to which the dialog box is associated.
- the Active Objects such as those shown at 66 consist of labels, quotes, tickers, buttons, graphs etc. Label objects are "active" even though they are text because they can, for example, be changed as part of a script of commands which are executed as a result of an alarm condition.
- All the objects on the right side of the line are stored in memory using the same structure as any Active Object with properties and associated operations. Some properties or operations may be nullities however so that the same structure can be used for all types of objects to the right of line 78.
- a tools manager 79 manages a plurality of tools objects shown generally at 80.
- the tools manager 79 handles the user input events which are associated with selection of the class of the next type of Active Object to be created. It is also used to edit the existing Active Objects.
- the tools objects have associated Display Objects which invoke the display/windows system through the applications interface 82 to render the icons which represent each tool.
- the Xwindow system is used to render the computer display of the computer having the program described herein in excecution thereon.
- Each tool object has operations associated therewith which implement the operations defined above in the descriptions of the tools.
- the XWindow system is available commercially from the XWindow consortium of universities headed by MIT. It is also available through most workstation vendors such as Sun Microsystems. In other embodiments other window systems such as Microsoft Windows 3.0 or the Macintosh toolbox in the Macintosh operating system may also be used, or a screen rendering system can be programmed for custom screen rendering.
- a global event dispatcher 84 receives event information such as real time data updates from subscriptions and user input events and dispatches the data to the appropriate object or manager or other portion of the system to cause appropriate processing.
- a script processor 86 interprets the commands of scripts entered by a user defining the desired processing to be performed in the case where an Event Triggering that script has occurred. Such an event could be the activation of a button or a real time data update which exceeds an alarm limit programmed by the user. Basically, the script processor handles requests to process scripts generated by the instances of the Active Objects programmed onto the various Sheets by the user.
- Program systems according to the teachings of the invention operate in an "environment" comprised of various other support processes (programs in execution on the host computer).
- the environment for a system according to the teachings of the invention is shown below the line 88.
- a high end network interface 90 receives requests for data from the system and communicates on the network (not shown) to obtain the requested data.
- the network interface is the TIB® network communication software commercially available from Teknekron Software Systems in Palo Alto, California, but other network communication software may also be used.
- the IBM Datatrade® system, DEC's DECTrade® system or other high level network interfaces developed in the future may be used.
- the TIB® software automatically maps subscription requests on particular subjects, e.g., IBM equity prices, into the appropriate network addresses for the appropriate service and server that provides this information and selects and carries out the appropriate service discipline and network protocols to communicate with the selected server over the particular network LAN/WAN system to which the host running the system according to the invention is connected.
- subjects e.g., IBM equity prices
- An operating system 92 is also part of the environment and carries out host traffic direction and computer resource management duties necessary to support the system according to the teachings of the invention.
- a file application programmers interface and file management process 94 is also part of the environment and typically runs on a file server, although in some embodiments, it may be part of the operating system.
- the environment includes the display/window systems application programmer's interface for screen rendering.
- the preferred embodiment of a system according to the teachings of the invention utilizes the commercially available XWindow screen rendering system. This system can receive commands to draw various objects such as line, point, box or other primitives and text, font and color codes etc. from an application program and then render the screen accordingly. Any known screen rendering system can be used in other embodiments, or the screen rendering function can be programmed as part of the program system according to the teachings of the invention.
- An instance of an Active Object 100 contains a data object 102, a Style Map 104, a Display Object 106, one or more Event Triggers shown generally at 108 and one or more Event Scripts of commands to be performed sequentially if an Event Trigger condition occurs. These Event Scripts are shown generally at 110.
- the Active Object 100 includes a local event dispatcher which dispatches events, e.g., user commands, to the various Active Object components for processing. For example, data updates from a network or database are dispatched to the Data Object 102, and "display frame" or display related events are dispatched to the Display Object 106. Events handled by the local dispatcher can be internally generated, such as a "change notification" event from the Data Object, which is dispatched to the Display Object so that the displayed representation can be updated.
- the Data Object contains the internal representation of the data being manipulated by the Active Object, i.e., a full listing of all the data which is available about a particular subject, only some of which does the user desire to view. For example, typically a quote object will have a Data Object with a large number of fields of data about a particular company and the trading activity in that company's stock.
- the Style Map 104 contains a human readable specification defined by the user via selections from a dialog box which popped up when the instance of the quote Active Object was created which specify which of the data fields in the Data Object to display in a display frame or box shown on the display to represent the Active Object and where to display the selected fields in the display frame.
- the Style Map also contains data which specifies certain display characteristics such as what color to display the object when the price is going up and what color when the price is going down.
- the Style Map is simply a specification. It does not do any of the actual work of rendering the Active Object instance or screening and selecting data from the Data Object to be displayed.
- the Active Object 100 tells the Display Object 106 what Style Map to use.
- a style processor (not shown) in 25 the Display Object does the work of extracting the proper data from the Data Object and sending the proper commands to the screen rendering system to display the desired data in the user selected format and style.
- the Display Object 106 encapsulates the data and operations required to display the data object in the "style" requested by the user. That is, the Display Object contains the internal representation of the actual data to be displayed for this Active Object in the location on the current Sheet specified by the user and a style processor. This internal representation is sent to the screen rendering system by the style processor to actually draw the display seen by the user.
- the style processor is actually implemented in a library and the Display Object 106 contains a pointer to this library and receives a pointer to the style map 104 such that the Data Object can be processed by the style processor library programs in 5 accordance with the style map.
- the Event Trigger is a specification of conditions under which the user wishes to do extra processing on the Active Object.
- the user can set alarm limits such as a certain price or trading volume for a particular quote Active Object, and when a real time data update indicates that the limit has been exceeded, an alarm condition exists to transfer the Active Object from the normal update state to the alert state.
- the Event Script of commands to execute upon occurrence of the specified alarm condition is specified in the Event Script specifications shown generally at 110.
- the things that can be scripted to happen upon occurrence of an alarm condition are limited only by the imagination of the user. Minimally, the script may specify an audible beep and/or a change in color of an Active Object.
- More exotic scripts may issue commands on the network to start another process running to dial a beeper, issue a sell order, issue a buy order, etc.
- Other scripts may publish some or all the data on one or more sheets of an active document on the network, etc.
- the commands in the scripting language generally include all the commands understood by the script processor as well as commands defined by the user and can, in some embodiments, include commands to the operating system, the high level network interface or other processes running on the network.
- the commands understood by the script processor will include the name of the object, the desired operation and an argument, i.e., what value to set etc.
- the Active Object 100 also has associated operations such as "move yourself”, “change the data using the real time network data update or a database update”; etc. Most operations are done by the local dispatcher. For example, data update events cause the local dispatcher to send the data to the Data Object 102.
- Programs according to the teachings of the invention are written for "event driven” processing style.
- An “event” as that term is used here can mean a user caused event such as an input from the keyboard, pointing device or other input device or it could be generated by the program itself, the network interface, or any other process in the environment or elsewhere on the network.
- the event dispatchers in the system match each event with some operation to call.
- the Active Objects have their own event dispatchers and there is a global event dispatcher which deals with input events from the network, the input devices, the operating system or a database which is used to store pricing information so that when a subscription is entered, the user may get the most recent data immediately and does not have to wait for the next update.
- a data update event represented at 112 causes the style processor in the Display Object 106 in step 114 to extract the values from the user specified fields from Data Object 102. The extracted values are then stored in step 116 in; the Display Object in accordance with the specifications set by the user in the Style Map 104. The value of the data fields are then compared to any event trigger specifications set by the user and stored in the Event Trigger specification 108.
- Step 118 represents the process of making this comparison and computing any special effects specified in the Style Map such as color changes, blinking etc. Step 118 may result in an update to the Display Object 106 if any special effects are triggered.
- Step 120 represents the process of notifying the parent Active Object to send the appropriate commands to the screen rendering system to render the Display Object 106 in the preferred embodiment. In other embodiments, the style processor itself can send the commands to the screen rendering system.
- FIG. 9 there is shown a diagram of the event architecture of a program according to the teachings of the invention.
- User events can be generated using a voice processor 124, a keyboard 126, a mouse 128, or a touchscreen 130 or any other user manipulated device.
- Other input events can originate from the network 32, a file/database 132 or from the operating system 134.
- the file/database stores real time data as it comes in from the network so that users requesting a price etc. can immediately have access to the latest information and need not wait for the next update of the requested information.
- An event originating from the network or the database is usually the data returned after a request generated by the creation of an Active Object such as a quote, ticker, graph etc.
- a global dispatcher 136 receives the event and determines which object in the system it pertains to. The dispatcher then makes a call to the appropriate operation of the appropriate object to process the event as symbolized by the lines of event flow 138.
- the global dispatcher 136 After the environment is initialized, the global dispatcher 136 has control of the system. It then waits for an event and processes each event appropriately. For example, a mouse event in the form of a click on a frame object icon such as a window meaning move this window to the top of the stack will be dispatched to the frame object 52 by calling the appropriate operation to move this window to the top of the stack. A mouse click on a menu bar option as shown at 12 in Figure 1 would be dispatched to the menu manager 54 as a call to the operation to display the appropriate pop-up menu for the suboptions of the selected menu option.
- a mouse event in the form of a click on a frame object icon such as a window meaning move this window to the top of the stack will be dispatched to the frame object 52 by calling the appropriate operation to move this window to the top of the stack.
- a mouse click on a menu bar option as shown at 12 in Figure 1 would be dispatched to the menu manager 54 as a call to the operation to display the appropriate pop-up menu
- the global dispatcher 136 will dispatch an event to the dialogue manager 58 when the user takes an input action to create an Active Object which requires a dialogue box.
- a typical sequence would be for the user to click the mouse on a tool to create an instance of an object. This event would be dispatched to the tools manager 78 which would select the appropriate one of the tool objects 80. The user would then move the mouse to where the instance of this class of object is to be displayed. This event would be dispatched to the appropriate tool object which would then create an instance of that type of Active Object at the desired location.
- a display object representing that object is created and commands are sent to the rendering system to draw the display object. The user then clicks the mouse on this displayed Active Object and the appropriate one of the dialogue boxes 60 pops up.
- the user may then select the various options in the dialogue box to invoke operations to set up the properties of the Active Object represented by one of the Active Object boxes at 66.
- the dialogue box performs an update operation when the save button is "pushed" to set the properties of the Active Object as specified by the user.
- a network event is dispatched by the global dispatcher to a network data dispatcher 150.
- This dispatcher examines the type of data it is and sends it to the appropriate Active Object.
- the network data dispatcher can "fan" the data out to more than one Active Object if more than one Active Object exists with an interest in this type of data.
- a file/database data dispatcher 152 does the same thing as the network data dispatcher except it does it for data events originating from the file/database 132 after read I/O operation.
- Some events can originate within and are locally dispatched from the Active Objects themselves or from the menu objects. For example, the user may click on a font change option from one of the menu objects 56, and this event will be dispatched as an update to the style map of the currently selected Active Object. Likewise, a data update to an Active Object may cause the value of some variable to exceed the alarm limits for that variable set by the user. In such a case, the local dispatcher of the Active Object making the transition into the alert state will invoke a script processor 154 and send the user specified script for the appropriate alarm event to the script processor. The script processor then processes the script to carry out the commands specified in the script in the order specified in the script.
- the script processor will call the style map of the Active Object specified in the script (it may be different than the Active Object which triggered the script processing) and update the style map of that Active Object. If the script calls for publishing some data, the style processor calls the high level network interface 90, invokes a publish function and sends the appropriate data to be published on the network. Likewise, if the script calls for sending data to a database 156, this also can be done. The script may also call for invoking some function of the operating system through an operating system call 158, and can invoke other applications 160 running in the same environment. Further, the script processor may also cause; the other application to perform some function and may even cause the other application to access the network through the network interface 162 of the other application to either send or receive some data specified by the script.
- Active Objects all may dispatch rendering commands to the display rendering software interface to render their respective display objects.
- the script processor 154 may also be called by the menu objects 56 or the dialogue boxes 60. This allows the; user to directly cause scripts previously defined by that user or some other user to be run by selection of a menu or dialogue box option to that effect and designating the desired script to run.
- the objects of the Active Document are arranged in a hierarchy, and escalation of events within the hierarchy is allowed.
- the line 164 represents the fact that the frame object manages the menu manager
- the line 166 represents the fact that the menu manager manages the menu objects.
- An example of an escalation of an event would be where the user selects the close option to close the active document. This event would first be escalated from the appropriate menu object to the menu manager 54 to make the menu disappear and then would be escalated to the frame object 52 because the menu manager does not have an operation associated with it to close an active document. Only the frame object has that capability.
- Simultaneous event processing is allowed. For example, if the user is dragging an Active Object to another location with the mouse, a series of mouse move events are occurring which are being dispatched to the frame object 52 which contains the code for processing mouse moves. These events result in event dispatches to the selected Active Object to tell it to move itself. Simultaneously, a network update event can come in to cause a value in the Active Object to be changed and this may cause an alarm and the associated script processing.
- the tools may be represented as menu selections or simply be invoked by typing or speaking their names rather than through graphic selection of icons with a mouse, touchscreen, trackball or through keyboard navigation with the arrow or tab keys.
- a map-like coordinate system could be used, and the user could select tools, menu options or Active Objects by speaking their coordinates. Their must be one input device however, although it may be connected to the host running the program according to the teachings of the invention through the network or through another application with an interprocess communication mechanism such as shared memory, Unix pipes, etc.
- the program itself may specify the placement of Active Objects and automatically fit them together after the user specifies what he or she wants in the active document.
- buttons provide great flexibility.
- a button object can be scripted to pop up on a user written help screen, make another Active Object appear or disappear, or do any other commands or sequence of commands within the scripting language.
- the menu bar 12 in Figure 1 includes a hide/show toggle option wherein Active Objects can be hidden, i.e., not displayed, although an internal representation of the display object is maintained so that at any time, the object may be displayed once again. This is especially helpful for user defined help screens which the user does not want visible at all times.
- MarketSheetTM is a Teknekron Software Systems application that allows traders, brokers, and others to customize the presentation and monitoring of market information.
- An "object oriented" approach provides a state of the art user interface and display environment; users and system administrators define customized market data information pages or "sheets.”
- a sheet is an arbitrary arrangement of objects, each of which displays an item or group of related items in a pre-defined way. There are standard sheets which come with the product, shared sheets used throughout a department or entire firm, and specialized sheets used by an individual or small group.
- MarketSheetTM gives the user complete flexibility to organize, format, and display information as the user needs it.
- MarketSheetTM receives its market data from the Teknekron Information BusTM (TIBTM) component, a powerful suite of communication protocols that separate information sources, like MarketFeed 2, Ticker III, or Telerate TDPF from information consumers, like MarketSheetTM or Teknekron's RealTime Spreadsheet. This means the user can add market data feeds without obsoleting your applications and the user can add applications without changing feeds.
- TIBTM Teknekron Information BusTM
- the MarketSheetTM application is a member of the Teknekron Trader Workstation System family of applications. As such, it employs a number of concepts which are described in the Trader Workstation Introduction manual. Thus it is particularly important to read that manual first.
- This version of the MarketSheetTM program corresponds to Versions 2.1 and 2.2 of the product. These versions differ only in which feeds are supported. Version 2.1 does not support MarketFeed 2 in order to load faster and operate with less memory. No differences are seen by the users.
- the application displays "sheets” or market information. Users can create any number of sheets, which are then organized into an index for each access. Each sheet displays "objects” created by tools in the "toolbox.” Available types of objects include:
- the MarketSheetTM display shows a rectangular region, called a Sheet , in the application window, on which any number of objects may be placed.
- Figure 1 shows a sample MarketSheetTM display. At the top left of the screen is the Title Bar. Below it is a line containing the Sheet Name indicator, the Index Position indicator and the Menu Bar.
- the Sheet Name indicator is used to show the name of the Sheet currently being displayed. It can also be used for quick access to sheet attributes. Double-clicking on the Sheet Name indicator opens the Sheet Editor dialog box.
- the attributes of a sheet are the background color, the grid size, how the sheet should be changed when the application is resized, and whether the grid should be shown. These characteristics can be modified by the user.
- the Index Position indicator This indicates how many sheets are in the current file and which sheet number is showing. It can also be sued for quick access to index information.
- a double click on the Index Position brings up the Index dialog box, which displays a list of the sheets in your MarketSheetTM file.
- the Menu Bar shown in Figure 11.
- the menus pull-down by pressing and holding down on the menu choice using the left Mouse button.
- the menus are the main way of carrying out commands in the system. Commands provided in the menus support changing and editing the contents of the sheets.
- Pressing the left button while you're pointing to a menu title causes the title to be highlighted and the menu to appear. While holding the button down, drag the pointer down through the entries of the menu. As the user drags through a menu, each usable command is highlighted in turn. If the user changes your mind about choosing a command, move the pointer off the menu and release the mouse button. None is chosen unless the user releases the mouse button while one of the commands is highlighted.
- Some menu commands will be shown in gray rather than black. These commands are not available right now. For instance, if there is only one sheet, the command to move to the next sheet is not available. Some menu commands are shown with three dots after their name. These are commands which will bring up a dialog box for further specification of information. For instance, the Create command under the sheet menu brings up a dialog box so that the user can enter the name of the sheet to be created.
- the sheet in Figure 10 contains the following objects: At the top is a label which displays the text "Market Summary.” Below it is a short quote showing the last trade in XYZ. Below that are a graph (not shown in full detail) and a fragment of the Reuters WRLD page. Near the bottom of the sheet are a button and a ticker .
- Dialog boxes are used in several places where information must be specified about an object or an operation. For instance, double-clicking on an object brings up a dialog box in which its characteristics are shown.
- a typical dialog box contains the following kinds of items:
- "Name” is a label, and to its right is a text entry area.
- a small typing cursor appears at the point of text insertion.
- the user can also select the text to be replaced by dragging through the characters with the mouse. The characters dragged through will be highlighted, i.e., shown in white on black. The next character typed will replace the selected text.
- buttons To select an option via a selection button, click the left mouse button within the square box next to the name of the option.
- Some options are “toggles” which turn on and off individually each time the user clicks them. Others are “radio buttons,” a list of alternatives of which only one will be active at any time.
- One item on the dialog box has the Input Focus at any time. This concept is similar to how the Control Panel selects which application window has the input focus.
- the focus is indicated by drawing a black rectangle around the item. For instance, when a dialog box first appears, the item in the upper left will have the focus. To shift the focus, use the arrow keys to move it left, right,up, or down.
- the Tab key can be used to move to the next item
- the Shift-Tab key can be used to move to the previous item
- the Keypad Home key can be used to move to the item in the upper left.
- keyboard equivalents are available for setting and moving the insertion point through keyboard commands:
- dialog box operation click the left mouse button on an action button.
- action button buttons
- dialog boxes have "OK” or "Cancel” buttons to accept or reject the dialog box action and exit the dialog box. Dialog boxes may also be exited by pressing the Return key which is equivalent to OK, or by pressing the Escape key which is equivalent to Cancel.
- a MarketSheetTM file is organized into a list of sheets, or pages, of which only one sheet is shown at a time. Hence, the most common operations are to change which sheet is showing. Operations to show the First, Previous, Next, and Last sheets are provided in the Sheet menu as shown in Figure 13, below. These will navigate through the ordered set of sheets in the system.
- the dialog box contains a list which holds the names of all of the sheets.
- buttons to the left of the list are used to change the ordering of the sheet in the list of sheets.
- the Sheet Create menu command is used to add a blank sheet.
- a dialog box will appear in which the sheet name may be entered.
- the name of the new sheet defaults to "No Name,” and the new sheet will be placed after the current sheet in the index. Note that it is allowable for more than one sheet to have the same name.
- the Sheet Delete menu command is used to delete the current sheet.
- a dialog box will appear, indicating the name of the current sheet and requiring that the user confirm the deletion. Note that when there is only one sheet, it may not be deleted.
- the Sheet Index menu command is used to change the current sheet, as seen previously, and it can also be used to change the order of the sheets. Bring up the dialog box and then click on a sheet name which is not the top one. Clicking on the button marked “Top” will then move that sheet to the top of the list. Click on "OK,” and the selected sheet will be moved to the first position. There are also buttons to move a selected sheet forward one position, backward one position, or to the end, and to create, delete, and rename sheets while the index dialog is active.
- the Toolbox is a vertically arranged set of icons or buttons along the left side of the display sheet as shown in Figure 1. It is initially not shown. Using the Show Toolbox command in the Edit menu will cause it to appear on the left side of the Display.
- the Toolbox contains an icon to indicate whether the Grid tool is active, then a gap, then an icon to represent the Selection tool (or arrow), then an icon to represent the DuPlication tool, and then an icon for each of the available object types. Only one of the tools can be active at any time. It is shown in reverse video.
- the Grid tool is a toggle, either on or off.
- the Toolbox is used to select the next object to be created. After picking a tool (such as a Quote), click and drag to draw a rectangle on the current sheet. The selected type of object will be created, and the Toolbox will reselect the Selection or tool.
- a tool such as a Quote
- Grid tool icon If the Grid tool icon is lit, the corners of the drawn rectangle will automatically be adjusted to the grid sizing for the sheet, whether or not the grid is actually being shown. This is a useful page layout feature when creating an array or similar items on a sheet.
- Editing operations provided by the menu system will operate on Selected Object(s) on the current sheet.
- Selected objects are indicated by a "picture frame corners" around the object, as shown in Figure 16.
- To select an object single click on the object with the mouse.
- a way to select more than one object at a time is to draw a large rectangle (using the Select tool) around the desired objects, as shown in Figure 17.
- Holding down the Shift key acts as an "extend selection" feature similar to many programs for the Apple Macintosh, allowing the user to select and highlight more than one object, by clicking on each one of them. If the user clicks on a selected object, it is unselected.
- any objects in the selection rectangle will be toggled , reversing the selection state of all affected objects.
- the user can unselect all objects by clicking the left mouse button on an empty area of the sheet.
- Another way to select objects is to select all of them, by using the Select All command in the Edit menu.
- the keyboard traversal facility allows the user to change which object is receiving keyboard input, much like the Control Panel function keys are used to change which application receives the keyboard input. This is also the same facility which is used for navigation in dialog boxes. Not all objects can accept the keyboard traversal; currently only the Quote, Page Fragment, and Button objects do.
- the object which has the traversal focus will be shown with highlighting market along the sides, not the corners. This is shown in Figure 18. Note that selection and traversal are two distinct operations and are indicated by two distinct highlights. When an object is both selected and traversed to, the highlights will merge to form a complete border.
- the Tab key will move to the next item, and the Shift-Tab will move to the previous item.
- the tabbing sequence is the same as the stacking order, which defaults to the order in which the items were made. This can be altered using editing operations described below.
- Traversal object When there are more than one selected object, one is marked as the Traversal object, meaning that keyboard input will be sent to it.
- This facility is mostly used for quick editing of the symbols in Quote objects, or the current page shown in a Page Fragment, which are explained in more detail below.
- the Duplicate tool may be used to make copies of objects on a sheet, which will be arranged into a grid of copies having the same size as the original.
- the Duplicate tool To use the Duplicate tool, first create an object, and set up its characteristics, such as size, colors, font, and other attributes. Place the object in the upper left of the region to be filled with copies. Then click on the Duplicate tool icon in the toolbox. Now click with the left button on the object to be duplicated, and drag right and/or down to define the region to be filled. As the mouse is dragged, the outlines of the copies to be created will be shown. When the region is complete, release the mouse, and the copies will be made. The Selection tool will be made active again so that the user can operate on the copies.
- characteristics such as size, colors, font, and other attributes.
- the user can perform editing operations using commands from the Edit Menu .
- the user may want to bring one object to the foreground, or push one object to the background.
- Objects are normally shown, but the user can temporarily hide them, using the Edit Menu.
- Edit Menu Some editing operations do not require the use of the Edit Menu.
- the user can move or resize an object using the mouse to specify what the user wants to do.
- Objects can be Moved by Selecting them, pressing down and holding the left mouse button, and then dragging the objects to a new location on the sheet.
- mouse cursor will change into an arrow indicating the movement or direction of resizing.
- the user can also change their display characteristics. These display characteristics are accessed from the Menu Bar , and include:
- dialog box will appear showing that the object's attributes.
- the dialog boxes are different for the different types of objects, but all have OK, Cancel, and Revert buttons.
- a label for instance, there is a text entry area for the label's text, and a set of radio buttons to specify the alignment mode of the text.
- Scripts may be used to go to the next page, to a specific page, or to alter the appearance or layout of objects. They are composed of one or more actions, which are entered as a sentence. For instance, one script would be "Governments find sheet”, which would find the sheet named Governments and show it on the screen. This would be faster than bringing up the index dialog box, searching through the list, and selecting the entry for Governments. Thus, scripts can be thought of as a macro facility for commonly performed functions. Scripts can chain together several operations, such as “next sheet next sheet”, which would go to the next sheet, and then the sheet after that. The section on scripts in the Reference part of this manual describes the available operations.
- the dialog box for a Quote object allows the user to set upper and lower limits for a specified field. When its limits are reached, a Quote object is shown in reverse colors (i.e., its pen and fill colors are reversed).
- a Quote When a Quote reaches a limit value, it will run one or more scripts, which the user can enter. There are four scripts associated with each quote, which are run at the start of an alert, the end of an alert, during a normal update, and during an alert update. This is explained in more detail in the section on Quotes in the Reference Part.
- alerts are triggered when the plot line of the instrument moves outside the channel created by an upper or lower trend line.
- the Open and Add operations will bring up a dialog box which lists the files already saved in this account. To select one of these names, simply click on it, or type a new name into the text edit box and MarketSheet® will search the site-wide accounts as well.
- the user can select Help from the Trader Workstation Teknekron Menu and then select MarketSheetTM from the list of help subjects. Or, the user can click on the Help gadget in the upper right corner of the MarketSheetTM window frame. In either case, a MarketSheetTM Help Menu will appear listing subjects for which help is available. Some of these subjects invoke subsidiary help menus.
- a Help window appears on the screen, overlapping other windows. It displays a page of text on the chosen subject. Click the Close gadget in the upper right corner of the help window to erase the window and return the display to its state when the user requested help.
- Figure 20 shows the basic MarketSheet® display and the menus that the user can select from the main menu bar.
- Menu items shown in bold type are active in the current product release.
- the notation "--" appears on the screen as shown in the figure and serves as a logical separator between related groups of menu items.
- Menus which contain the notation "" as an item are lists of fonts or colors. What appears on your screen will be a longer, somewhat different list.
- Menu items that consist of a command name followed by "" display a dialog box when selected.
- File Menu commands are:
- Edit Menu operations are:
- Sheet Menu to create, delete, and modify sheets and to navigate among existing sheets. Note that it is allowable for more than one sheet to have the same name. This allows the "find sheet” scripting operation to navigate through a series of sheets.
- Mode Menu to change the highlighting mode in Page Fragment objects.
- Each page fragment implements the basic highlighting facilities used in Telerate displays to indicate which characters on the source page have changed.
- the available modes are:
- Modes J through F when showing a large region of the source page.
- the highlighting will therefore apply to just this region, and will not be affected by updates outside this region.
- Use the Single Mode when showing a page broken up into a number of small page fragments, such as one for each price. This way the highlighting will be based on the most recent update anywhere on the source page (if the user had selected mode J for the small fragment, the highlights would remain until there was another update in that same small region).
- the highlighting is cleared for the selected objects whenever the mode menu is used. For instance, if Mode H is in effect and a number of highlights have accumulated, select Mode H again to clear the highlights and preserve the mode.
- the Font Menu to change the font used in selected objects.
- the default font is a small fixed-width font.
- the elements of the font menu are defined by your system administrator, and may be changed when other fonts become available. Not all fonts are provided on all X Window System implementations. Therefore, the program determines which of the requested fonts are not available, and indicates those in gray (disabled) items. The current font is indicated by a black dot next to its name.
- the Pen Menu uses the Pen Menu to specify the foregoing color of selected items.
- the default color is black. This is the color of the text or lines in the object.
- the current foreground color is indicated by a black dot next to its name.
- Border Menu to specify the size of the border around selected items.
- the default is one pixel. Wider borders waste some screen space but they are more attractive and easier to manipulate with the mouse.
- the current border size is indicated by a black dot next to its name.
- the lower portion of this menu specifies the border color of the object.
- the current border color is indicated with a black dot next to its name.
- the default color is white.
- the current background color is indicated by a black dot next to its name.
- Fonts are divided into two types: fixed and variable. Fixed width fonts have all characters on the same size, while variable width fonts are spaced proportionally. Using variable width fonts on Quotes, Tickers, or Page Fragments will have some unusual effects, because each of those objects are organized around a row-column grid, or matrix, or characters.
- the character grid layout facility must allocate space for a grid of characters big enough to hold the biggest character in the font, such as the letter 'W'. Thus it will often make itself wider than it appears to need to be. Likewise, if the width of one of those types of objects is reduced, the character grid layout facility will compute how many columns of the biggest character will fit, and show only that number of character. This can often be deceptive.
- the first stage builds the Widget get, called Strata, which is used by the application.
- This stage relies only on availability of the standard X11R3 distribution of the X Window System API library and the X Window System X Toolkit API library, both of which are distributed by the MIT X Consortium, and the TIB API libraries.
- the second stage is to build MarketSheetTM itself, which uses the Strata widget get library, the TIB API libraries, and the X Window System libraries.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Economics (AREA)
- Human Computer Interaction (AREA)
- Development Economics (AREA)
- Multimedia (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- User Interface Of Digital Computer (AREA)
- Document Processing Apparatus (AREA)
- Processing Or Creating Images (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Digital Computer Display Output (AREA)
Abstract
Description
- The invention pertains to the field of application programs for monitoring and managing complex systems with many variables having values which vary in real time. More specifically, the invention pertains to the field of software systems which permit the user to create custom active documents with the layout, look and content defined by the user and displayed on a video display. Changes in the values of real time data which are included in the active document defined by the user are reflected immediately on the display.
- In the management of complex systems such as the financial community, airplanes, semiconductor fabrication processes, etc. it is often useful for a user such as a financial trader to be able to look at only some subset of the total data available to him or her or to arrange the available data in a style which best suits the user's management and/or analysis style. In the prior art for the financial community, the Quotron product fills some portion of this need, but is inadequate in many respects. The Quotron product has a video display where three basic areas are available for customization by the user. One area is reserved for stock quotes where individual stock prices are displayed in a block. The user can customize to the extent of defining which of the many stocks for which quotes are desired. The current price of the stock is then displayed in each block or window devoted to that stock by network access of a service that provides stock quotes. Changes in the stock price are reflected on the display when they occur. Another area of the display is reserved for so-called "tickers", i.e., streams of trade data for various stocks defined by the user with the stream for all the trade data moving across a common window. A third area of the display is reserved for a market monitor display where a plurality of stock prices are displayed as a group in a single window, with the content of the group, i.e., the stock prices selected for display selected by the user.
- The US-A-4 750 135 discloses another system of this kind.
- But such known products are inadequate in many respects. For example, it is useful for a user to be able to define a multi-sheet, completely custom document with whatever data he or she desires on each sheet arranged in whatever groupings, locations, format, color, font, pen desired with changes in real time data being reflected immediately on the display. Further, it is useful for the user to be able to set upper and/or lower alarm limits for any or all real time data displayed on any sheet and to define scripts of actions to take if the value of the real time data exceeds these limits. Further, it is useful to be able to publish any or all the data shown on any sheet of the active document on a network to which other users and/or automated processes are coupled via their respective hosts. Finally, it is useful to be able for a user to define and layout certain areas which will appear on all sheets such as one to four margins, headers or footers with text, a common "button" or a set of buttons, i.e., display objects with user programmable text labels and a "push" operation with a programmable action which occurs every time upon a "push" of the button such as by selection of the button with a mouse, touch screen, voice designation or by the keyboard etc.
- An apparatus such as recited in
claims - The user defines each sheet of the document using a variety of tools which can be used to create display objects such as simple quotes or tickers to sophisticated graphs and tables. The user may also use the tools to create text fields such as customized help screens which help other users understand the active document which has been created. All the tools share a common set of commands which are located in an menu typically displayed at the top of each sheet. Preferably, the tools are symbolized by icons and the menu options, when invoked, cause pop-up menus to appear with other options. The menu options are used to set the symbols for stock prices to be monitored, changing display characteristics and selecting which of the multiple pages to view. The location and type of menu display and the location and type of system used to display and/or invoke the layout tools is not critical to the invention. Similarly, the type of input device used to select tools, specify locations, specify symbols or the source of real time data to display at any particular display object, or to direct the program where on a sheet to display a particular display object is not critical to the invention. A mouse, trackball, digitizer, keyboard, voice processor and map coordinate system, touchscreen, or any other present or future device may be used such as a thought processor.
- The tools provide access to information from any source including other programs running on the same host or somewhere else on the network, ticker plants, information services or databases. In the preferred embodiment, the program can support data feeds from Reuters Market Feed 2000/IDN, Telekurs Ticker, CMQ Telerate MarketFeed, Canquote, and Quotron. In addition, the program (known commercially as the MarketSheet™ facility or program) can accept prices extracted from paged market data feeds such as Telerate TDPF, Reuters RDCDF, FBI and RMJ. These types of data are first extracted by Page Shredder, another program available from the assignee of the present invention, but the particular manner in which the prices are extracted from page feeds is not critical nor it is part of the invention and the invention may be practiced without this facility or with any prior art method of extracting prices.
- In the preferred embodiment, the tools available for defining an active document are as follows. A label tool allows the user to enter static text to label or annotate the active document or to create his or her own personalized help screens. A quote tools displays the value of an issue, including a user defined set of other fields pertaining to that particular company in a display style specified by the user. For example, a brief style displays only the price where a comprehensive style displays all the available fields. A ticker tool can be used as a selective or block ticker, and can show data in any display style. Upticks and Downticks can be shown in color and volume information can be included. A page fragment tool displays a region of a page-based feed such as Telerate or Reuters. Any region of the page designated by the user can be displayed from a single character to a full page. Highlighting modes are provided to highlight data that has changed. A time based graph tool can be used to create graph display objects to graphically display the changes in value of a variable such as price per time. The time and price axes may be scaled to minutes or seconds, and the price value may be set to any unit such as 1/8 or 1/32 of a dollar. Above and below channel segments can be drawn on the graph. Graphs may be merged to show two issues against the same time axis. A data set graph tool can be used to create graph display objects which display the values of multiple instruments such as stocks or bonds or other subscribed values in real time such as a yield curve in a semiconductor processing application environment. Graphs may be merged to show two different sets of issues against each other to indicate market opportunities. A table tool can be used to create display objects which show position blotters, currency lookup tables, and names of commonly used pages or securities. A publisher tool publishes information constructed using the invention or entered by the user onto the network using the network communication process running in the environment in which the invention is running. The published information can be used by other processes linked to the network or as a bulletin board for use by other traders. A button tool can be used to create display objects that execute scripted actions when the button is "pushed", i.e., selected in any way on the display such as by clicking on the button by a mouse. The scripted actions are entered by the user in whatever sequence is desired in a language such as the MarketScript™ command language comprised of all commands that the invention can execute. In the preferred embodiment, the scripted command sequence can also include commands to the operating system, the network communication software and other processes running on the same host or elsewhere on network. Buttons can be programmed to carry out commonly performed operations such as moving quickly to an important page or performing an operation to be carried out when an alert condition occurs. The buttons allow creation of hypertext links between different sheets, and the alert scripts can perform operations such as changing a color, flashing an object, sounding an audible alarm or executing an external program. The latter capability provides great flexibility by enabling clients to program features such as the ability to telephone a beeper service when an alert occurs. A "glossary" facility allows users to add new operations, i.e., commands, to the scripting language and customize the menus as needed.
- For ease of learning the system, new users are supported by providing short and full menu sets. New users can use the short set while working with existing templates and tutorial files. After the system has been learned, the user can graduate to the full menu set.
- In the preferred embodiment, the program is used in a distributed system architecture embodied in a local area network coupling workstations and personal computers such that the right amount of processing power can be dedicated to each user and application. The distributed system architecture also allows critical applications to be supported by redundant or complementary equipment such that the system is sufficiently reliable to continue to operate even if a market data feed or server should fail.
- In the preferred embodiment, the program according to the teachings of the invention is ported to work with the TIB® suite of network communication programs available from the Teknekron Software Systems in Palo Alto, California. The TIB software is described in EP-A-0 412 232 (published on 13.02.1991) and EP-A-0 485 252 (filed on October 10, 1991 published on May 13, 1992) which are hereby incorporated by reference. The TIB® software supports subject based addressing, network architecture decoupling, communication protocol decoupling, data decoupling and separation of information sources from consumers. The TIB software subject based addressing capability frees applications such as the program according to the teachings of the invention from the need to know exactly where on the network information of a particular type can be obtained. For example, a trader can reference "long bond yield" as the subject of a desired real time data subscription without the need to know the specific physical location on a specific page of a specific information service running on a specific server. Then, if the source of the information changes, users need not change their screens and programmers need not change their programs.
- More specifically, when a user programs a MarketSheet® display to display an item of real time data in a particular way, the establishment of the ticker, graph or other form of display of the changing real time values generates a subscription request on the subject of the real time data which is sent to the TIB® communication software. This communication software then maps the subject of that subscription request to the identity of a source from which this data may be located. After locating the source, typically a service such as Reuters or DataTrade 2000, communication is automatically set up with that service by the TIB® communication software and the subscription on the subject is registered with the service. The message carrying the registration of the subscription also includes the address in the distributed computing system to which data on the subject of the subscription is to be sent. Thereafter, when the service publishes data, it also outputs the subject of the data. The TIB® communication software on the publisher side examines the subject of each item of data so published and compares it to the list of active subscriptions. When a match is found, the TIB® communication software on the publisher side looks up the addresses of all machines having active subscribers to that subject and sends the data to all these machines. The TIB® communication software resident on each of these machines then receives the data and passes it up through the various protocol layers to the MarketSheet application that originally requested the data. The data is then displayed on the MarketSheet display in the manner designated by the user using the various MarketSheet layout tools.
- The separation of information sources and consumers allows users to add or change market data sources without changing the application that use the data. The users can also add and change applications without impact on the existing sources of information. For example, data values from fixed format pages of market data can be combined with data from elementized feeds in a realtime spreadsheet. The spreadsheet can compute a result, e.g., the theoretical value of a derivative security, and publish it on the network through the TIB software. The program of the invention can then graph the value in real time. None of these application programs need ever be aware of the existence or operation of the others. New application programs can be added to a firm's computing repertoire at any time, building on each other to create a total information environment.
- The menu of commands allows the user to display an index of the sheets which have been defined for a particular active document file, and to select the sheet to view. The menu options also include commands to manage sheets and sheet files, and to control the appearance of the display and the objects within it. The menu also includes commands to rearrange the location of the display object windows or boxes (the term boxes will be used herein to avoid confusion with the term windows in which separate processes may be running in multitasking environment or DOS windows environments). In the preferred embodiment, the display object boxes may be layered on top of each other, and the menu includes options to change the order of the layers and move any particular box to the top of a stack. In the preferred embodiment, only one sheet is shown on the display at any particular time, but in alternative embodiments, several sheets may be shown in separate "windows" or layers on the display.
- Figure 1 is a typical sheet layout in an active document containing one or more user defined sheets constructed with a program according to the teachings of the invention.
- Figure 2 is a state diagram for the normal and alert states to illustrate the operation of alert scripts.
- Figure 3 is a diagram of a typical environment in which the program of the invention operates.
- Figure 4 is an example of an instance of an Active Object class.
- Figure 5 illustrates how the properties of an Active Object are stored as data structures in memory, and how libraries of programs are linked to these data structures to carry out the operations associated with each instance of an Active Object.
- Figure 6 is a block diagram of the parts of a program according to the teachings of the invention, and the components of the computing environment in which the program, according to the teachings of the invention, operates.
- Figure 7 is a block diagram of the parts of an Active Object.
- Figure 8 is a flow diagram of processing after a real time data update.
- Figure 9 is a diagram of event processing flow in a program according to the teachings of the invention.
- Figure 10 is a drawing illustrating the basic display of a program according to the teachings of the invention.
- Figure 11 is an illustration of the menu bar.
- Figure 12 is a dialog box example.
- Figure 13 is an example of the pull-down sheet menu.
- Figure 14 is an example of the dialog box to select the index of interest.
- Figure 15 is the tools icon menu.
- Figure 16 is an example of how the display for an Active Object changes when the object has been selected.
- Figure 17 is an example of the display for multiple Active Objects when they have been selected.
- Figure 18 is an example of an object which has been selected by keyboard transversal.
- Figure 19 is an example of overlapped Active Objects.
- Figure 20 shows the pull-down menu structure for all menu options on the menu bar.
- Referring to Figure 1, there is shown one example of a user defined sheet in an active document constructed using a program according to the teachings of the invention. At the top left corner of the sheet is the file name, in this case FOCUS, naming the file in which the active document of which the user programmed sheet of Figure 1 is a part. A menu of commands, i.e., functions which can be invoked by the user through whatever input device is being used, is shown at 12. In the preferred embodiment, the menu choices shown at 12 each "overlie" a "pop-up" menu displaying further command choices related to the overlying command choice. Those pop-up menus will be detailed in a later figure. The menu lets the user display an index of sheets within the active document and to select the sheet to view. The
menu 12 also includes options to manage sheet composition and active document files. Themenu 12 also includes commands to control the appearance of the display and the display objects associated with the Active Objects programmed by the user into a sheet. - Icons representing the tools that are available to the user to define the Active Objects which are to appear on any particular sheet of an active document are shown at 13. Each tool, when invoked, allows the user to create an Active Object on the programmable portion of the display at a location specified by the user using some input device. Each tool can be used to define an instance of a particular class of Active Objects or to carry out an operation such as publish or display a grid for alignment or layout of the sheet. The general classes of Active Objects are labels, quotes, tickers, time graphs, data set i graphs, page segments and buttons. The tools may also be invoked by name rather than graphically by selecting an icon representing that tool using a pointing device. Further description of the various tools will be provided below.
- The user programmable display area proper is shown at 14. At the top of the display area in this example, the user has created an
instance 16 of a label class Active Object with text entered by the user to define what the particular sheet being displayed is. This label Active Object was created by invoking the label tool represented byicon 15. - The program according to the teachings of the invention use objected oriented programming style. Although the preferred embodiment of a program according to the teachings of the invention has been written in C language for easier portability among machines using programming conventions to make the C language act like an object oriented programming language, it is easier to construct the program using object oriented programming languages such as C++.
- The middle of the display area contains several instances of quote class Active Objects in different display formats generated by invoking the quote tool represented by icon 17. Each three, four, or five letter individual symbol in the
box 18 and the number next to it represents an individual quote where the user specified the symbol based upon the stock issue he or she wanted to monitor. - The middle of the display also shows an
instance 20 of a ticker class Active Object showing all trades in a specified set of issues that exceed a minimum volume set by the user. This particular criteria for display was programmed by the user using the ticker tool represented byicon 19. - At the bottom of the display is an
instance 22 of a graph class of Active Object. The program allows graphing of trades, volumes, spreads, indexes or any other value. Two different types of graph tools are provided althoughonly graph icon 21 is shown in Figure 1. In the preferred embodiment, another graph icon is present inarea 13 representing a tool to create Active Object instances of data set graphs. These types of graphs are usually bar graphs where each bar represents some real time value about a different stock issue designated by the user although in different embodiments, each bar can represent the real time value of any variable in a complex system. - An instance of a user designated portion of a standard financial page such as Telerate,
page 8 has been created at 24 using the page fragment tool represented byicon 26. - "Active document" as that term is used herein means a video displayed document of one or more "sheets" of the user's design which incorporates text, displays of real time data in user definable style, e.g., color, font, background, pen size etc. and format, e.g., quote, ticker, graph etc., alarms, and alarm scripts, i.e., user defined scripts of commands to be processed (much like a word processing or spreadsheet macro) when an alarm limit is exceeded. The program automatically accesses the network to which the host is connected through network interface software which establishes the proper subscriptions for the desired real time data with the appropriate information service and the server upon which this service process is running. Real time data is then passed to the program from whatever network communication process is being used and is immediately displayed in the format, style and location previously specified by the user. Although the invention will hereafter be described in the preferred embodiment for use in a financial environment such as a trading floor of a broker such as Dean Witter etc., the invention is not limited to such applications. Any complex system which generates real time data which control operators must monitor are subject to being monitored and controlled using the teachings of the invention.
- The attributes of the Active Objects which are used to compose an active document are as follows.
- A label Active Object is just a fixed character string placed in a position on a sheet entered by the user. Labels are used to identify sheets, regions on sheets, and individual monitoring Active Objects as well as in script files to generate messages when an alarm event occurs or to generate customized help screen for a particular active document. A label does not change in real time. Its attributes are: String (field) which is the text string to be displayed in the label object; and, Alignment (radio button list) which is one of three formatting options - left, center and right.
- A quote object is a familiar market price quotation. Any number of quotes may be placed on a sheet. Attributes of the particular instance record for a quote Active Object determine not only what issue is quoted, but also what items of information from the total comprehensive record for a particular issue are displayed. Different types of quotes may have different formats. The attributes of a quote are:
- Market Type (list)
Defines the type of information being received from the source in this quote, such as equity, option, future or shredder output. This choice is used to determine the information source, the available styles and the internal record formats. - Display Style (list)
Defines what display format is to be used for this quote. Each market type has one or more styles defined, which typically show different collections of fields from the received information. Most market types have a "brief" or "regular" style, which shows simply symbol and price information, and other styles may also be present which show more detail. - Symbol (field)
Defines the specific symbol, i.e., stock, to be used for this quote instance. The symbol may have a suffix which indicates the exchange to use. These suffixes may be translated into a longer exchange name through translations set up by the System Administrator. Also note that for user convenience, character entered will automatically be put into upper case (if lower case letters are needed, such as for a class or warrant, the shift key can be used). - Alert Field (command button)
Pops up a dialog box containing a list of numeric fields in records for this market type. Used to select which field to use in alert calculations.
This dialog box also contains areas to enter four different scripts, which are executed under different conditions, as explained below. - Limits (2 buttons and fields)
These are used to set above and below limits for an alert. Also, the above and below limits can be activated and deactivated by clicking on the check boxes. When the value of the real time data goes above or below the limits, the object is shown in reverse video. - The choices listed in the Market Type and Style lists are defined in configuration files. Other types and styles can be set up by the System Administrator.
- Quote objects are traversable, which means that the user can traverse to the quote object and enter a new symbol simply by entering it from the keyboard.
- Quotes have four different scripts which are run for different reasons with respect to alerts. Figure 2 illustrates states behind this concept. A quote is either in the
normal state 26 or thealert state 28. When a real time data update comes into a normal state quote and does not trigger an alert, the "normal update" script is run. A script is a user defined string of commands that are executed in sequence. They can be commands that the program of the invention understands, commands to the operating system or other processes operating in the environment or commands to any other process running anywhere else on the network. The script language also has a glossary facility whereby the user can define new commands and add them to the script language. When an update comes in which triggers an alert, the "begin alert"script 30 is run. This script takes the quote object into thealert state 28 where the "alert update" script is run. Additional updates which are in the alert run will continue to run the "alert update" script. Then when an update comes in which is back in the normal range, the "end alert" script will be run, followed by the "normal update" script. Thus, the four scripts provide a way of checking for changes in the state, or for staying in the same state. - The ticker tool is a continuously shifting display of trades in a specified list of issues. In addition to attributes, the dialog box for a ticker displays the current list of securities being tracked and some commands for manipulating the list. The dialog box is used to change or add to the securities on the list. The ticker attributes are:
- Create (command button)
Adds a security to the list. A mouse click on a Create Button, i.e., theicon 19 in Figure 1, will cause the Subscription Entry dialog box to appear.
The subscription for the desired real time data is edited using the dialog box and is completed with a mouse click on the OK button. Another subscription can be entered with another click on theTicker icon 19 . - Delete (command button)
Deletes the currently selected item from the list. - Edit (command button)
To edit items which are already on the list, one pointing device click on the item selects it.
Then a click on the Edit button, and the Subscription entry dialog box will appear. - Copy From (command button)
Replaces the current ticker list with a copy of the one from another ticker. A dialog box will pop up requesting the name of the source ticker. - Add From (command button)
Like Copy From but adds to the current ticker list instead of replacing it. - Name Sort (button)
Sorts the securities listed in the selection list by their symbol names. - Type Sort (button)
Sorts the securities listed in the selection list by their market type. - The subscription entry dialog for the ticker tool is as follows:
- Market Type (list)
Used to select the Market Type for the security. - Ticker Style (list)
Used to select the display format for trades or updates to the ticker subscription instance.
There are generally several styles, similar to those defined for the Quote object. The styles are generally different for the different market types. - Symbol (field)
Used to enter the security symbol. The same conventions are used as for entering the symbol into the Quote dialog box. - Volume (field)
the minimum number of shares in trades to be displayed. Note that this dialog box field will only be shown for Market Types which have an associated volume field. For instance, most equity fields have a volume but RTSS results do not. - Composite or "wild card" tickers can be created simply by entering for the symbol a period followed by the name of the exchange code. The ticker object will then show every update reported by the feed on that exchange.
- The ticker object will show new data each time it receives an update from the data feed which includes either a new volume value, or a new value for one of the fields in the specified style. Thus, if the display style shows the symbol, the last price, and the trade volume, updates will appear when there is a change of the last price or the trade volume. If the display style shows the symbol and the bid and ask price, updates will appear when there is a change of the bid price, ask price, or the volume field. In this way, the ticker can handle information from sources which do not have the standard field, such as output from the Shredder, an application that elementizes data which is provided by a service only in standard "packages" such as Telerate pages etc.
- The Page Fragment tool, represented in Figure 1 by the
icon 26, is a user selectable rectangular section of a page from a page-based market data service. The user constructs a page fragment interactively, using a pointing device to designate the fragment to be extracted and its destination on the sheet being composed. This can be done starting from a page-based service application, or entirely within the program of the invention. The user can then modify these and other attributes using the page fragment dialog box and the menu commands. - To make a page fragment Active Object to be displayed, the following process is performed:
- 1. Move the cursor to a window, i.e., a page-based display, containing the source page.
- 2. Position the cursor at the upper left corner of the region the user wish to select.
- 3. Click and hold down the left mouse button and move the cursor to the right and down to the lower right corner of the region the user wishes to select. The fragment can be as small as two characters or as large as the entire page.
- 4. Release the mouse button. The fragment will appear in reverse video.
- 5. Select the Page Fragment tool from the toolbox by clicking on
icon 26 or typing the name of the tool or using any other input device to select the tool. - 6. Click the mouse button where the page fragment is to be located on the sheet being composed and drag to the lower right.
- To make a page fragment with no source page:
- 1. Select the Page Fragment tool from the toolbox.
- 2. Drag the region where the page fragment is to be positioned on the sheet being composed.
- 3. The page fragment will be blank except for the title. Use the dialog box to define the service, page and region to be displayed in the page fragment. The default region will be the full page.
- The dialog box for a page fragment will display the full source page, and draw the region being extracted for the fragment. The program according to the teachings of the invention draws display objects by invoking the functions of the commercially available XWINDOWS system in the preferred embodiment although other embodiments can be ported to any other commercially available or research screen rendering library, program or toolbox. The XWINDOWS system is available from a consortium of universities and commercial vendors known to those skilled in the art. To change the region in which the page fragment is displayed, the mouse or pointing device can be used to designate the upper left corner of the new region, and then drag to the lower right corner. The dialog box can also be used to set the following attributes:
- Service (field)
The name of the page-based source, such as Telerate. Click on this field to bring up a dialog box to change the service. If another page fragment is also displaying that service and page, it will be immediately shown in full source page display. If not, the user must confirm the dialog box to request the page from the service. - Page (field)
Page Number (or name), such as 7677. Click on this field to bring up a dialog box to change the page. If another page fragment is also displaying that service and page, it will be immediately shown in full source page display. If not, the user must confirm the dialog box to request the page from the service. - Title Position (radio button list)
Used to specify that there should be no title, or that there should be a title indicating the service and page number, and the highlighting mode. The default is that there is no title, in order to pack page fragments closely together. - Page Fragments are traversable. The user can traverse to a page fragment object, and enter a new page name or number simply by typing it from the keyboard.
- The Graph tool allows creation of graph Active Objects with associated display objects which track the real time variations in a variable in a complex system such as market value. The graph object is a composite of several simpler objects: a graph/time axis, a price axis, and a graph area. Each of these areas can be independently selected for changes to colors, fonts, and borders. The outermost portion is the frame for all of the graph sub-objects, and must be selected in order to perform edit operations such as move, resize, or front/back restacking operations.
- Each axis has its own attributes controlled by a separate dialog box. Because the graph object is a composite object, it may not be duplicated with the Duplicate tool.
- When the user clicks and holds a mouse button anywhere inside the graph area, the value for the Price Axis is shown in the upper left hand corner of the Graph Display Area and the value for the Time Axis is shown in the upper right hand corner. This feature is useful in identifying numeric values for any point on the Graph Lines.
- The Graph/Time axis dialog box allows the user to edit attributes of the overall graph as well as the attributes of the times axis. The attributes this dialog box currently supports are divided into the following categories.
-
- Type (radio button list)
Selects the type of time axis. The time axis currently support two types of scales: time and ticks. The default is time. - Precision (radio button list)
When the scale type is set to time, the precision of the scale mark labels can be set to minutes or seconds. When the scale is set to ticks, precision is not adjustable. - Lock Scale (option button)
freezes the time axis minimum and maximum values to their current settings, disabling automatic rescaling. When this option has been selected, a lock icon will be shown on the axis. -
- Maximum (field)
The upper limit of the time scale. - Minimum (field)
The lower limit of the time scale. - Step Value (field)
The increment to show when drawing hash marks and numbers on the time axis. Axis limits can be changed manually in the dialog box or can be changed using scaling commands - Draw Grid Lines (option button)
If selected, the tick marks on the times axis are drawn across the graph area. - Axis Position (radio button list): selects position of time axis as either above or below the graph area.
- New Price Axis (command button)
creates a new additional price axis and positions it to the right of the existing axis. - Each graph can have one or more price axis, each corresponding to a different instrument being graphed.
-
- Symbol Name (field)
Defines the specific symbol to be used for this price axis, such as IBM or GOLD. This may be followed by an exchange code. The same conventions used in the Quote symbol name apply here. -
- Max Value (field)
Upper limit of price scale. - Min Value (field)
Low limit of price scale. - Step Value (field)
The increment to show when drawing hash marks and numbers on the price axis. Axis limits can be changed manually in the dialog box or can be changed using scaling commands. - Draw Grid Lines (option button)
If selected, the tick marks on the time axis are drawn across the graph area. -
- Delete Axis (command button)
Deletes the selected price axis unless it is the only price axis. - Copy Axis (command button)
copies the selected price axis and places it on the screen to the right of the existing axes - Clear Trends (command button)
removes all trend lines related to the current price axis -
- Line Width (field)
determines the width of the Graph Plot Line. Width of 0 is recommended for optimum repainting time . - Retain Count (field)
the number of data points that are kept for the given axis. The default is 150, this means that the system keeps track of the last 150 "ticks". Once 151 is plotted, the first tick is dropped off. - Point Size (field)
the size of the Point drawn when a new data value is plotted. - Precision (field)
the number of decimal places to show on the Price Axis (Y-axis) has marks. - Connect Points (radio button list)
If "Yes", will draw lines between data points; If "No", will only plot data points (be sure to set Point Size to greater than 1 if lines aren't drawn) . - Direction (radio button list)
places the current Price Axis on the Left or Right hand side (default is left). - Lock Scale (option button)
freezes the price axis minimum and maximum values to their current settings, disabling automatic rescaling. When this option has been selected, a lock icon will be shown on the axis. - Trend Lines may be drawn on a graph to indicate support and resistance levels.
-
- 1. Move the cursor to the point on the Graph where the Trend Line should begin.
- 2. Hold the Shift Key down and click the left mouse button. This creates one trend point. The user can move the trend point before releasing the button by moving the mouse to the desired location.
- 3. Click the left mouse button a second time on the first trend point, hold it down, and drag the cursor to a second trend point. The user will see a temporary trend line "following" the mouse cursor as the user drags it into position.
- 4. Release the Mouse Button to complete the line. It will appear as a dotted line.
-
- Insert Trend Points/Segments
Press and hold the left mouse button on one of the trend points. A new trend point will be created that can be dragged to the desired location. - Move Trend Point
Press and hold the right mouse button on the trend point to be moved and drag it to the desired location. - Delete Trend Point
Hold the shift key down, and click on the trend point with the right mouse button. - Move Trend Line
Hold down the Shift and Control keys together. Press and hold the right mouse button on any trend point on the line. Then drag the trend line to the desired location. - Hold down the Shift and Control keys together and click the left mouse button on and trend point on the line. All trend lines can be deleted by using the clear trends command in the Price Axis Dialog Box.
- The dynamic graph application provides very flexible scaling functions as follows:
- Settable min, max, and step values
The minimum, maximum, and step values of the axes can be set via the dialog boxes discussed in the Price Axis sections. They can also be changed via the rescaling methods described below (zooming, and moving trend lines). - Automatic Rescaling
Axes can be rescaled automatically when new data points arrive. Unless scale is fixed, the graph adjusts periodically to accommodate the current shape of the line. - Fixed Scaling
The automatic rescaling feature can be turned off by setting the lock scale attribute to true. This attribute can be set via the dialog box. - Zoom Function
The graph object provides the capability to zoom in on a rectangular section of the graph. The same action can be accomplished by setting the axis limits manually, but it is much easier to perform such an operation using the mouse. To initiate a zoom, hold down the CONTROL key, click the LEFT mouse button at one corner of the desired zooming rectangle, drag the cursor to the opposite corner of the rectangle, and then release the button. The axes will rescale such that the specified rectangular viewing region takes up the whole graph viewing region. To zoom back such that all points are visible, hold down the CONTROL key and click the RIGHT mouse button anywhere on the graph view area. - Rescaling via trend line drawing
There is a potentially useful side effect of drawing trend lines that can be utilized as a quick method for rescaling the axes to the desired values. When dragging a trend line point, the user may move the point outside of the visible graph window. If the user releases the button while the point is outside, and the appropriate axes are not "fixed," then the axes will rescale automatically to accommodate the new point within the graph area. Thus to extend the time axis further to the right, instead of changing the max value via the dialog box, the user may move a trend line point the desired distance beyond the right boundary of the graph view. When the user releases the mouse button, the time axis will extend its scaling to include the new trend line point. - The graph alert facility provides a notification if a data point moves outside a region defined by two active trend lines. At any given time, at most two trend lines can be active. If two trends are active, then activating a new trend line will deactivate the last recently activated trend line of the two. Activation and deactivation of trend lines is done via an abbreviated "move" trend point operation, i.e. clicking on any point of the trend line with the right mouse button without any mouse movement between press and release. Clicking on an inactive trend line activates it while clicking on an active trend line will deactivate it. An active trend line is drawn in the color of the graph plot with which it is associated. Inactive trend lines appear in a lighter color.
- If two trend lines are active, any new point that comes in through the subscription will be checked to see if it falls between the values specified within the time range of the two trend lines. An alert is triggered when a graphed value goes outside the bounds of the active trend lines.
- To use the alert facility:
- 1. Make sure the correct price axis is highlighted for the security for which the user wishes to set an alert.
- 2. Create two trend lines that define upper and lower limit ranges (a "channel") for the security.
- 3. Activate the trend lines by clicking on any trend point with the right mouse button. An active trend line is shown as a dotted line the color of the graph plot line. An inactive trend line is shown as a lightly colored line. The right mouse button is a toggle between active and inactive.
- 4. If the security value goes above or below the channel formed by the two trend lines, the graph will alert. The alert is shown by the new trend point flashing as a large square.
- 5. The alert will continue to flash until a new trend point alerts, or if the user clicks on the alert with the left mouse button.
- There are two scripts associated with graph objects, one for normal updates and one for alert updates.
- A button is an object which the user can interact with, and will cause a script to be carried out when clicked on. For instance, the button might perform the equivalent of a Sheet Next command, or transfer the user to a specific sheet. Buttons allow the user to determine the dynamic action of the sheets, as well as their appearance. These scripts are expressed in the MarketScript® language.
- Each button is created using the button tool, and the user can use the font fill, and pen menus to specify the appearance of the button (the border menu does not operate on buttons). However, since a button carries out its operation when clicked on with the left mouse button, the user must use the middle or right mouse buttons to bring up the dialog box to set the button attributes. The "Script" entry of the button dialog box allows the user to enter the script to be carried out.
- Style include rectangular, rounded, shadow, check box, and radio button. In most cases, the check box and radio button styles are used when there are groups of buttons. Note that for check box and radio button styles, the alignment choice does not apply.
- Scripts are composed of one or more actions, which are entered as a sequence. The actions can perform operations such as selection of objects, editing of selected objects, navigation to sheets, and editing of the current sheet. Note that these commands must be entered exactly as shown with respect to case. The currently supported scripting commands are:
-
all select selects all objects on current sheet none select selects no objects on current sheet self select selects the object which is running the script <item_name> find select selects all items of given name <class name> class select selects all times of given class <region bounds> region select selects all items in region -
front restacks selected items to front back restacks selected items to back hide hides selected items show shows selected items clear highlight clear highlight of selected page fragment objects <color_name> pen sets pen color of selected items <color_name> border Color sets border color of selected items <integer> borderWidth sets border width of selected items <color_name> fill sets fill color of selected items toggle visibility inverts hide/show of selected items -
<xXy> move move of selected items to x, y <dxXdy> move relative move of selected items <widthXheight> size resizes selected items to width, height <dwidthXdheight> rsize relative resize of selected items <x> alignLeft aligns left edge of selected items to x <y> alignRight aligns right edge of selected items to x <y> alignTop aligns top edge of selected items to y <y> alignBottom aligns bottom edge of selected items to y -
-
<color_name> background sets sheet color background to named color on gridLines turns on drawing of gridlines off gridLines turns off drawing of gridlines toggle gridLines toggles the drawing of gridlines -
beep beeps the workstation <UNIX command> execute runs UNIX command in background <milliseconds> pause pause for specified amount of time -
on toolBox shows the toolbox off toolBox hides the toolbox toggle toolBox inverts hide/show sense of toolbox on gridTool turns on grid tool off gridTool turns off grid tool toggle gridTool toggles activation of grid tool - Sheet operations are most useful when creating new traversal options on a set of sheets. The "find sheet" command is most useful to transfer to a specific sheet, and will search from the first sheet to the last to find one which matches the give name.
- The object selection commands provide ways to select all objects, no objects, all of a given class, all of a given name, or all in a region. For instance, if the user created a set of Quote objects, and had some display elements of the Dow-Jones Industrials and the others display the Dow-Jones Utilities, assign the name "INDU" to all of one group, and assign the name "UTIL" to the other group.
- Then use a button script of "INDU find select red fill" to turn all of the Industrials red, and "UTIL find select blue fill" to turn all of the Utilities blue under button control. Another useful example would be to use "Quote class select green fill" to change all quotes to have a green fill color.
- A common use of scripts and pop-up objects is to annotate a sheet with a number of extra label objects which describe what is being monitored or graphed. Make sure that the label objects are in front of the other objects, and then give them all the name "DETAIL". Now create a button with the script "DETAIL find select show", and another with the script "DETAIL find select hide". Executing these two buttons will turn the detail on and off on your sheet.
- If an item name, sheet name, command, or color name contains a space, it must be contained within quotation marks. Either single or double quotes may be used. Names containing single quotes may be contained in double quotes, and vice versa.
- When setting up alert scripts for a group of Quotes, set up the scripts on the first one, and then use the Duplicate tool to make the others. The scripts will be copied into each one made.
- There are roughly 80 pixels per inch on a workstation screen. All of the x, y, width, and height measures in the scripting language are in pixels.
- It is common for scripts to select objects to operate on, but if scripts are run at unexpected times (such as due to Quote updates), they could change the selection status of the objects the user is trying to edit. For this reason, the selection status of the objects is saved at the start of the script execution, and is restored afterwards. Thus if a script begins with an "all select" phrase, it is not necessary to end with a "none select phrase".
- Referring to Figure 3, there is shown a typical network environment in which the preferred embodiment of the invention would be employed. Elementized data feeds are received via a LAN/WAN (Local Area Network/Wide Area Network) 32 and handled by a
feed handler 34. Paged market feeds are received via thenetwork 32 and handled by afeed handler 36. Aworkstation 38 running a shredder process breaks up the pages of the paged feeds into their constituent elements. Aworkstation 40 running a program according to the teachings of the invention is used by a user to compose an Active Document to manage financial information in real time. As the various quotes, tickers, graphs etc. are created, subscription requests for the required data are passed to the network communication software running on theworkstation 40. If the TIB® network communication software is being used, the subscription requests are filled using subject based addressing. The subscription requests result in properly formatted service request transmissions on thenetwork 32 to the proper service and server in the proper protocol to request the desired data. The server or servers then transmit the data back to theworkstation 40 where it is displayed in the Active Document defined by the user. - Referring to Figure 4, there is shown a typical example of an "object" as that term is used in the object oriented programming world. An object is an entity which has both properties and associated operations which can be invoked by a user to change the values of various properties of the object. In the simple example chosen, the object is an entity representing a class of objects in the form of bank accounts. The particular instance in this class is a bank account for Jessica Doe. The properties of each object in this class are the account number, the balance and the owner name. The operations that can be invoked are withdrawal, deposit and query. Each operation can be invoked by entering a command to identify the object and start the operation (typically the name of the operation) followed by the argument. The operation then uses the argument to change the properties of the object. For example, the command Doe.Deposit(100) would invoke the deposit operation and add 100 units to the balance property of the Doe bank account.
- Typically, an object is represented in memory by a record containing the values for each of the properties and a link or pointer to a library of programs which carry out the operations associated with that object. This structure is shown in Figure 5. In Figure 5, two
data records library 50 of programs which carry out the operations associated with this class of objects. - Referring to Figure 6, there is shown a diagram of the hierarchy of the parts of a typical program according to the teachings of the invention. A
Frame Object 52 "contains" all the other Active Objects that will be manipulated by the system. The Frame Object contains menus, dialog boxes and exactly one Active Document. The menus are comprised of amenu system 54 and a plurality of menu objects shown generally at 56. Themenu system 54 handles user inputs from whatever input device is being used for selection of commands, i.e., menu options. The dialog boxes are implemented by adialog manager 58 and a series of dialog objects shown generally at 60. Thedialog manager 58 handles user input associated with user selection of desired values for editing properties of Active Object instances which have been created on a Sheet using a tool. It is also used to specify commands which are specific to certain types of Active Objects. Generally, the menu options shown at 12 in Figure 1 are generic operations which can be applied to any Active Object. However, certain Active Objects have associated properties and operations which are specific to that class of Active Object alone. These specific properties and operations are embodied in the instances of dialog objects shown at 60 in Figure 6. For each class of Active Object which has specific properties and operations, there is one or more dialog object(s) which can be used in a user dialog to set specific properties of an instance of that class of Active Object and to invoke operations which are specific to that class of Active Object. A graph class of Active Object is an example of a type of Active Object which has more than one dialog box. There is one dialog box to set the properties of the x-axis and one dialog box to set the properties of the Y-axis. Some of these dialog boxes "pop-up" supplementary dialog boxes. - An
Active Document object 62 "contains" a plurality of other objects. They are: a plurality of Sheet Objects which have been composed by the user using the tools described above and shown generally at 64; a plurality of Active Objects the instances of which are created using the tools described above and shown generally at 66; and group objects shown generally at 68. Group objects are essentially "containers" for other objects and can contain a plurality of Active Objects such as are shown generally at 70 instances of which are created using the tools, and one or more other group objects shown generally at 72 each of which may contain a plurality of Active Objects such as shown at 74 or other group objects such as are shown at 76. - Some of the properties of each Sheet Object are: whether a grid used for alignment of various Active Objects thereon is or is not displayed; grid size; background fill pattern, e.g., solid blue, dollar signs, etc.; a list of contained objects; scripts associated with the Sheet that handle alerts for any objects on the Sheet; whether the grid is being used; edit mode status, i.e., whether the user will be allowed to edit (unlocked) or not be allowed to edit (locked) the Active Document; etc. Some of the operations/commands associated with each Sheet Object are: toggle grid setting; change grid size; change background fill pattern; align an Active Object to the grid; change the edit mode status; etc.
- The
Active Document object 62 has various properties including: the current Sheet to display; the list of Sheets in the Active Document; the file name under which the Active Document is stored; the number of Sheets; etc. Some of the associated operations include: open an Active Document file; add a Sheet or Sheets from another Active Document to this Active Document; close an Active Document file with save or do not save options; go to next Sheet; go to previous Sheet; etc. - The properties and operations associated with each Active Object on a Sheet are as defined above in the descriptions of Active Objects created with the tools.
- The pop-up or pull-down menus under the main menu options of the menu bar are menu objects as are the main menu options of
menu bar 12 in Figure 1. - The
dialog manager 58 insures that the proper dialog object is selected to make the proper dialog box appear when a tool is invoked which requires a dialog to set the attributes of an instance of an Active Object being placed on a Sheet by a user. The dialog objects are the objects which actually embody the dialog boxes. The dialog objects contain text attributes that define the user's options and associated operations or commands which the user can invoke, e.g., graphically by clicking on an icon representing that operation, to change the properties or attributes of the Active Object to which the dialog box is associated. - The Active Objects such as those shown at 66 consist of labels, quotes, tickers, buttons, graphs etc. Label objects are "active" even though they are text because they can, for example, be changed as part of a script of commands which are executed as a result of an alarm condition.
- All the objects on the right side of the line are stored in memory using the same structure as any Active Object with properties and associated operations. Some properties or operations may be nullities however so that the same structure can be used for all types of objects to the right of
line 78. - A
tools manager 79 manages a plurality of tools objects shown generally at 80. Thetools manager 79 handles the user input events which are associated with selection of the class of the next type of Active Object to be created. It is also used to edit the existing Active Objects. The tools objects have associated Display Objects which invoke the display/windows system through theapplications interface 82 to render the icons which represent each tool. In the preferred embodiment, the Xwindow system is used to render the computer display of the computer having the program described herein in excecution thereon. Each tool object has operations associated therewith which implement the operations defined above in the descriptions of the tools. The XWindow system is available commercially from the XWindow consortium of universities headed by MIT. It is also available through most workstation vendors such as Sun Microsystems. In other embodiments other window systems such as Microsoft Windows 3.0 or the Macintosh toolbox in the Macintosh operating system may also be used, or a screen rendering system can be programmed for custom screen rendering. - A
global event dispatcher 84 receives event information such as real time data updates from subscriptions and user input events and dispatches the data to the appropriate object or manager or other portion of the system to cause appropriate processing. - A
script processor 86 interprets the commands of scripts entered by a user defining the desired processing to be performed in the case where an Event Triggering that script has occurred. Such an event could be the activation of a button or a real time data update which exceeds an alarm limit programmed by the user. Basically, the script processor handles requests to process scripts generated by the instances of the Active Objects programmed onto the various Sheets by the user. - Program systems according to the teachings of the invention operate in an "environment" comprised of various other support processes (programs in execution on the host computer). The environment for a system according to the teachings of the invention is shown below the
line 88. A highend network interface 90 receives requests for data from the system and communicates on the network (not shown) to obtain the requested data. In the preferred embodiment, the network interface is the TIB® network communication software commercially available from Teknekron Software Systems in Palo Alto, California, but other network communication software may also be used. For example, the IBM Datatrade® system, DEC's DECTrade® system or other high level network interfaces developed in the future may be used. The TIB® software automatically maps subscription requests on particular subjects, e.g., IBM equity prices, into the appropriate network addresses for the appropriate service and server that provides this information and selects and carries out the appropriate service discipline and network protocols to communicate with the selected server over the particular network LAN/WAN system to which the host running the system according to the invention is connected. - An
operating system 92 is also part of the environment and carries out host traffic direction and computer resource management duties necessary to support the system according to the teachings of the invention. - A file application programmers interface and
file management process 94 is also part of the environment and typically runs on a file server, although in some embodiments, it may be part of the operating system. - Finally, the environment includes the display/window systems application programmer's interface for screen rendering. The preferred embodiment of a system according to the teachings of the invention utilizes the commercially available XWindow screen rendering system. This system can receive commands to draw various objects such as line, point, box or other primitives and text, font and color codes etc. from an application program and then render the screen accordingly. Any known screen rendering system can be used in other embodiments, or the screen rendering function can be programmed as part of the program system according to the teachings of the invention.
- Referring to Figure 7, there is shown a diagram of the parts of an Active Object. An instance of an
Active Object 100 contains adata object 102, aStyle Map 104, aDisplay Object 106, one or more Event Triggers shown generally at 108 and one or more Event Scripts of commands to be performed sequentially if an Event Trigger condition occurs. These Event Scripts are shown generally at 110. TheActive Object 100 includes a local event dispatcher which dispatches events, e.g., user commands, to the various Active Object components for processing. For example, data updates from a network or database are dispatched to theData Object 102, and "display frame" or display related events are dispatched to theDisplay Object 106. Events handled by the local dispatcher can be internally generated, such as a "change notification" event from the Data Object, which is dispatched to the Display Object so that the displayed representation can be updated. - The Data Object contains the internal representation of the data being manipulated by the Active Object, i.e., a full listing of all the data which is available about a particular subject, only some of which does the user desire to view. For example, typically a quote object will have a Data Object with a large number of fields of data about a particular company and the trading activity in that company's stock.
- The
Style Map 104 contains a human readable specification defined by the user via selections from a dialog box which popped up when the instance of the quote Active Object was created which specify which of the data fields in the Data Object to display in a display frame or box shown on the display to represent the Active Object and where to display the selected fields in the display frame. The Style Map also contains data which specifies certain display characteristics such as what color to display the object when the price is going up and what color when the price is going down. The Style Map is simply a specification. It does not do any of the actual work of rendering the Active Object instance or screening and selecting data from the Data Object to be displayed.
TheActive Object 100 tells theDisplay Object 106 what Style Map to use. Then a style processor (not shown) in 25 the Display Object does the work of extracting the proper data from the Data Object and sending the proper commands to the screen rendering system to display the desired data in the user selected format and style. TheDisplay Object 106 encapsulates the data and operations required to display the data object in the "style" requested by the user. That is, the Display Object contains the internal representation of the actual data to be displayed for this Active Object in the location on the current Sheet specified by the user and a style processor. This internal representation is sent to the screen rendering system by the style processor to actually draw the display seen by the user. The style processor is actually implemented in a library and theDisplay Object 106 contains a pointer to this library and receives a pointer to thestyle map 104 such that the Data Object can be processed by the style processor library programs in 5 accordance with the style map. - The Event Trigger is a specification of conditions under which the user wishes to do extra processing on the Active Object. For example, the user can set alarm limits such as a certain price or trading volume for a particular quote Active Object, and when a real time data update indicates that the limit has been exceeded, an alarm condition exists to transfer the Active Object from the normal update state to the alert state. The Event Script of commands to execute upon occurrence of the specified alarm condition is specified in the Event Script specifications shown generally at 110. The things that can be scripted to happen upon occurrence of an alarm condition are limited only by the imagination of the user. Minimally, the script may specify an audible beep and/or a change in color of an Active Object. More exotic scripts may issue commands on the network to start another process running to dial a beeper, issue a sell order, issue a buy order, etc. Other scripts may publish some or all the data on one or more sheets of an active document on the network, etc. The commands in the scripting language generally include all the commands understood by the script processor as well as commands defined by the user and can, in some embodiments, include commands to the operating system, the high level network interface or other processes running on the network. Generally the commands understood by the script processor will include the name of the object, the desired operation and an argument, i.e., what value to set etc.
- The
Active Object 100 also has associated operations such as "move yourself", "change the data using the real time network data update or a database update"; etc. Most operations are done by the local dispatcher. For example, data update events cause the local dispatcher to send the data to theData Object 102. Programs according to the teachings of the invention are written for "event driven" processing style. An "event" as that term is used here can mean a user caused event such as an input from the keyboard, pointing device or other input device or it could be generated by the program itself, the network interface, or any other process in the environment or elsewhere on the network. The event dispatchers in the system match each event with some operation to call. The Active Objects have their own event dispatchers and there is a global event dispatcher which deals with input events from the network, the input devices, the operating system or a database which is used to store pricing information so that when a subscription is entered, the user may get the most recent data immediately and does not have to wait for the next update. - Referring to Figure 8, there is shown a flow chart of the processing performed by the style processor for each Active Object upon the occurrence of a data update event. A data update event, represented at 112 causes the style processor in the
Display Object 106 instep 114 to extract the values from the user specified fields fromData Object 102. The extracted values are then stored instep 116 in; the Display Object in accordance with the specifications set by the user in theStyle Map 104. The value of the data fields are then compared to any event trigger specifications set by the user and stored in theEvent Trigger specification 108. Step 118 represents the process of making this comparison and computing any special effects specified in the Style Map such as color changes, blinking etc. Step 118 may result in an update to theDisplay Object 106 if any special effects are triggered. Step 120 represents the process of notifying the parent Active Object to send the appropriate commands to the screen rendering system to render theDisplay Object 106 in the preferred embodiment. In other embodiments, the style processor itself can send the commands to the screen rendering system. - Referring to Figure 9, there is shown a diagram of the event architecture of a program according to the teachings of the invention. At the left are shown symbols for some of the input event generators. User events can be generated using a
voice processor 124, akeyboard 126, amouse 128, or atouchscreen 130 or any other user manipulated device. Other input events can originate from thenetwork 32, a file/database 132 or from theoperating system 134. The file/database stores real time data as it comes in from the network so that users requesting a price etc. can immediately have access to the latest information and need not wait for the next update of the requested information. An event originating from the network or the database is usually the data returned after a request generated by the creation of an Active Object such as a quote, ticker, graph etc. - A
global dispatcher 136 receives the event and determines which object in the system it pertains to. The dispatcher then makes a call to the appropriate operation of the appropriate object to process the event as symbolized by the lines ofevent flow 138. - After the environment is initialized, the
global dispatcher 136 has control of the system. It then waits for an event and processes each event appropriately. For example, a mouse event in the form of a click on a frame object icon such as a window meaning move this window to the top of the stack will be dispatched to theframe object 52 by calling the appropriate operation to move this window to the top of the stack. A mouse click on a menu bar option as shown at 12 in Figure 1 would be dispatched to themenu manager 54 as a call to the operation to display the appropriate pop-up menu for the suboptions of the selected menu option. - Typically, the
global dispatcher 136 will dispatch an event to thedialogue manager 58 when the user takes an input action to create an Active Object which requires a dialogue box. A typical sequence would be for the user to click the mouse on a tool to create an instance of an object. This event would be dispatched to thetools manager 78 which would select the appropriate one of the tool objects 80. The user would then move the mouse to where the instance of this class of object is to be displayed. This event would be dispatched to the appropriate tool object which would then create an instance of that type of Active Object at the desired location. A display object representing that object is created and commands are sent to the rendering system to draw the display object. The user then clicks the mouse on this displayed Active Object and the appropriate one of thedialogue boxes 60 pops up. The user may then select the various options in the dialogue box to invoke operations to set up the properties of the Active Object represented by one of the Active Object boxes at 66. After the user is done specifying the Active Object desired, the dialogue box performs an update operation when the save button is "pushed" to set the properties of the Active Object as specified by the user. - A network event is dispatched by the global dispatcher to a
network data dispatcher 150. This dispatcher examines the type of data it is and sends it to the appropriate Active Object. The network data dispatcher can "fan" the data out to more than one Active Object if more than one Active Object exists with an interest in this type of data. A file/database data dispatcher 152 does the same thing as the network data dispatcher except it does it for data events originating from the file/database 132 after read I/O operation. - Some events can originate within and are locally dispatched from the Active Objects themselves or from the menu objects. For example, the user may click on a font change option from one of the menu objects 56, and this event will be dispatched as an update to the style map of the currently selected Active Object. Likewise, a data update to an Active Object may cause the value of some variable to exceed the alarm limits for that variable set by the user. In such a case, the local dispatcher of the Active Object making the transition into the alert state will invoke a
script processor 154 and send the user specified script for the appropriate alarm event to the script processor. The script processor then processes the script to carry out the commands specified in the script in the order specified in the script. If one of the commands in the script is to change a color or a font, the script processor will call the style map of the Active Object specified in the script (it may be different than the Active Object which triggered the script processing) and update the style map of that Active Object. If the script calls for publishing some data, the style processor calls the highlevel network interface 90, invokes a publish function and sends the appropriate data to be published on the network. Likewise, if the script calls for sending data to a database 156, this also can be done. The script may also call for invoking some function of the operating system through an operating system call 158, and can invokeother applications 160 running in the same environment. Further, the script processor may also cause; the other application to perform some function and may even cause the other application to access the network through thenetwork interface 162 of the other application to either send or receive some data specified by the script. - Of course the Active Objects all may dispatch rendering commands to the display rendering software interface to render their respective display objects.
- The
script processor 154 may also be called by the menu objects 56 or thedialogue boxes 60. This allows the; user to directly cause scripts previously defined by that user or some other user to be run by selection of a menu or dialogue box option to that effect and designating the desired script to run. - The objects of the Active Document are arranged in a hierarchy, and escalation of events within the hierarchy is allowed. For example, the
line 164 represents the fact that the frame object manages the menu manager, and theline 166 represents the fact that the menu manager manages the menu objects. An example of an escalation of an event would be where the user selects the close option to close the active document. This event would first be escalated from the appropriate menu object to themenu manager 54 to make the menu disappear and then would be escalated to theframe object 52 because the menu manager does not have an operation associated with it to close an active document. Only the frame object has that capability. - Similar hierarchy exists for the frame object, dialogue manager and dialogue boxes. A similar hierarchy exists within the Active Objects themselves although this is not shown. The Active Objects are also managed by sheet objects which are not shown in Figure 9 but which can be seen in Figure 6. The sheet objects are managed by the frame object. An example of escalation of an event in this hierarchy is when the user invokes a "delete yourself" command to delete an Active Object. The will cause an event escalation from the selected Active Object to the corresponding sheet object on which the Active Object appeared to cause the sheet object to delete the Active Object from its list of current Active Objects.
- Simultaneous event processing is allowed. For example, if the user is dragging an Active Object to another location with the mouse, a series of mouse move events are occurring which are being dispatched to the
frame object 52 which contains the code for processing mouse moves. These events result in event dispatches to the selected Active Object to tell it to move itself. Simultaneously, a network update event can come in to cause a value in the Active Object to be changed and this may cause an alarm and the associated script processing. - In alternative embodiments, the tools may be represented as menu selections or simply be invoked by typing or speaking their names rather than through graphic selection of icons with a mouse, touchscreen, trackball or through keyboard navigation with the arrow or tab keys. In some embodiments, a map-like coordinate system could be used, and the user could select tools, menu options or Active Objects by speaking their coordinates. Their must be one input device however, although it may be connected to the host running the program according to the teachings of the invention through the network or through another application with an interprocess communication mechanism such as shared memory, Unix pipes, etc.
- In some embodiments, the program itself may specify the placement of Active Objects and automatically fit them together after the user specifies what he or she wants in the active document.
- Button objects provide great flexibility. A button object can be scripted to pop up on a user written help screen, make another Active Object appear or disappear, or do any other commands or sequence of commands within the scripting language.
- The
menu bar 12 in Figure 1 includes a hide/show toggle option wherein Active Objects can be hidden, i.e., not displayed, although an internal representation of the display object is maintained so that at any time, the object may be displayed once again. This is especially helpful for user defined help screens which the user does not want visible at all times. - MarketSheet™ is a Teknekron Software Systems application that allows traders, brokers, and others to customize the presentation and monitoring of market information. An "object oriented" approach provides a state of the art user interface and display environment; users and system administrators define customized market data information pages or "sheets." A sheet is an arbitrary arrangement of objects, each of which displays an item or group of related items in a pre-defined way. There are standard sheets which come with the product, shared sheets used throughout a department or entire firm, and specialized sheets used by an individual or small group. MarketSheet™ gives the user complete flexibility to organize, format, and display information as the user needs it.
- MarketSheet™ receives its market data from the Teknekron Information Bus™ (TIB™) component, a powerful suite of communication protocols that separate information sources, like
MarketFeed 2, Ticker III, or Telerate TDPF from information consumers, like MarketSheet™ or Teknekron's RealTime Spreadsheet. This means the user can add market data feeds without obsoleting your applications and the user can add applications without changing feeds. - The MarketSheet™ application is a member of the Teknekron Trader Workstation System family of applications. As such, it employs a number of concepts which are described in the Trader Workstation Introduction manual. Thus it is particularly important to read that manual first.
- The following sections are organized as follows: An introduction introduces the features and primary objects of MarketSheet™. Then a Tutorial explains how to use MarketSheet™, covering many of the basic operations. Finally, a Reference section describes the menus, objects, and scripts in detail. Most of this detail is not needed for a first reading but will be useful after becoming familiar with the program.
- This version of the MarketSheet™ program corresponds to Versions 2.1 and 2.2 of the product. These versions differ only in which feeds are supported. Version 2.1 does not support
MarketFeed 2 in order to load faster and operate with less memory. No differences are seen by the users. - Features of the MarketSheet™ application include:
- Display
The display consists of objects on sheets. The user has complete control over the appearance of each object. All objects have characteristics such as foreground color, background color, font, and border which can be changed to suit user requirements and preferences. - Menus
MarketSheet™ uses a pull-down menu system. The Menu Bar is always displayed across the top of the window, displaying the names of the available menus. Clicking on a menu title causes the menu to appear below the bar. Selections from these menus are the "commands" that drive MarketSheet™. - Dialog Boxes
Pop-up dialog boxes are used to input characteristics associated with each object or sheet, such as market symbol, exchange, graph axis limits, etc. Dialog boxes are also used to specify more detail in many of the commands. - Layout There are a number of helpful facilities for arranging items on a sheet, such as user-specifiable grids for alignment, and commands to bring overlapped objects to the front or to the back. Objects can be aligned to the grid either on creation or at any later time. The grid can be adjusted through the sheet edit dialog box, and the grid size is maintained separately for each sheet. Layout commands are consistent among the different tools.
- Scripts
The user can define a sequence of actions to be carried out when a button is pressed or a price update occurs. These actions are expressed in a macro language called MarketScript. This facility greatly increase the flexibility and generality of the program. - Alerts
The system monitors for alerts (such as upper and lower limits) in each quote or dynamic graph. The alerts can execute scripts in order to change the appearance of monitor items on the screen. The scripts can even run other programs, such as a program to play a sound file for audio alerts, or to log the alert in a file. - Display Styles
Each Quote and Ticker object uses a display style to format its output. These display styles indicate which fields to show (symbol, price, bid, ask, etc.), how wide to make each field, and what colors to use. T h e flexibility of the style facility allows formats t o resemble the Quotron screen displays, or theEquity 2 terminal. The user cannot edit the styles, but a number of standard formats are provided, and the MarketSheet™ Administrator's Manual describes how to edit the styles and add new ones. - Files
The user can create multiple MarketSheet™ files that can be saved and reopened, much like the files in the RealTime Spreadsheet. Each file can contain many sheets. - The application displays "sheets" or market information. Users can create any number of sheets, which are then organized into an index for each access. Each sheet displays "objects" created by tools in the "toolbox." Available types of objects include:
- Label
Labels provide status text to enhance or annotate the display, such as "Market Summary" placed at the top of a sheet. - Quote
Quotes display securities prices and other TIB subjects in numeric format, with prices changing in real-time. Data can be displayed from any elementized feed (such as MarketFeed 2), from shredded page-based services (such as Telerate or Reuters), or from any TIB subject published on the network (such as a calculation published from the RealTime spreadsheet or a C program). - Dynamic Graph
Dynamic graphs chart securities prices and other TIB subjects in real-time. Multiple subjects can be included in a graph and simple arithmetic operations can be performed on the axes, such as spreads. Graphs can also be merged, meaning that two prices can be shown against one time axis. - Ticker
Tickers display a list of securities prices and other TIB subjects that scroll as the subjects change in real-time. The user can specify the securities and exchanges to be included in the ticker and set volume thresholds. - Page Fragments
Page Fragments are "cut-and-paste" sections from page-based data sources (such as Telerate TDPF or Reuters RDCDF) and displayed as objects in MarketSheet™. The fragments update in real-time. - Buttons
Buttons are triggers for scripts which are carried out when clicked. These scripts are expressed in the MarketScript™ language. In most cases, these actions are similar to those inaccessible through the menus, but these triggers can be placed on the sheets themselves. For instance, the user can create a button which will bring up a particular sheet when clicked on. This allows the creation of "hypertext links" between related information, such as a security and its options pricing. Available tools include: - Grid
When this tool is active, all creation, movement, and resizing of objects will be adjusted to match the current sheet grid settings. - Selection
This tool is used to select one or more objects for editing, or to move or resize the objects. - Duplicate
This tool is used to make copies of an existing object. The copies are arranged in a grid. This tool is very useful for creating monitor lists or grids. - Getting Started With MarketSheet ™
- This section discussed MarketSheet™ informally, introducing concepts in the sequence the user might encounter when experimenting with the program on your own workstation. The Reference section is more structured and covers many of the same topics in more detail.
- The MarketSheet™ display shows a rectangular region, called a Sheet, in the application window, on which any number of objects may be placed.
- Figure 1 shows a sample MarketSheet™ display. At the top left of the screen is the Title Bar. Below it is a line containing the Sheet Name indicator, the Index Position indicator and the Menu Bar. The Sheet Name indicator is used to show the name of the Sheet currently being displayed. It can also be used for quick access to sheet attributes. Double-clicking on the Sheet Name indicator opens the Sheet Editor dialog box.
- Besides the Name, the attributes of a sheet are the background color, the grid size, how the sheet should be changed when the application is resized, and whether the grid should be shown. These characteristics can be modified by the user.
- Next to the Sheet Name indicator is the Index Position indicator. This indicates how many sheets are in the current file and which sheet number is showing. It can also be sued for quick access to index information. A double click on the Index Position brings up the Index dialog box, which displays a list of the sheets in your MarketSheet™ file.
- To the right of the Index Position indicator is the Menu Bar shown in Figure 11. The menus pull-down by pressing and holding down on the menu choice using the left Mouse button. The menus are the main way of carrying out commands in the system. Commands provided in the menus support changing and editing the contents of the sheets.
- Pressing the left button while you're pointing to a menu title causes the title to be highlighted and the menu to appear. While holding the button down, drag the pointer down through the entries of the menu. As the user drags through a menu, each usable command is highlighted in turn. If the user changes your mind about choosing a command, move the pointer off the menu and release the mouse button. Nothing is chosen unless the user releases the mouse button while one of the commands is highlighted.
- Some menu commands will be shown in gray rather than black. These commands are not available right now. For instance, if there is only one sheet, the command to move to the next sheet is not available. Some menu commands are shown with three dots after their name. These are commands which will bring up a dialog box for further specification of information. For instance, the Create command under the sheet menu brings up a dialog box so that the user can enter the name of the sheet to be created.
- Many menu items have a keyboard shortcut which is a way of selecting them without using the mouse. The more commonly used commands have a diamond and a letter to their right. This indicates that the command can also be selected by holding down the diamond key (to the left and right of the space bar), and pressing the specified letter. Note that the title of the menu containing the command will flash when the command is selected, but the menu will not be shown.
- The sheet in Figure 10 contains the following objects: At the top is a label which displays the text "Market Summary." Below it is a short quote showing the last trade in XYZ. Below that are a graph (not shown in full detail) and a fragment of the Reuters WRLD page. Near the bottom of the sheet are a button and a ticker.
- Dialog boxes are used in several places where information must be specified about an object or an operation. For instance, double-clicking on an object brings up a dialog box in which its characteristics are shown. A typical dialog box contains the following kinds of items:
- labels and grouping boxes
- text entry areas
- buttons
- lists
- In the example of Figure 12, "Name" is a label, and to its right is a text entry area. To change or enter information in a data entry field, click the left mouse button within the field. A small typing cursor appears at the point of text insertion. Use the Back Space key to delete old text. Type in the next text. The user can also select the text to be replaced by dragging through the characters with the mouse. The characters dragged through will be highlighted, i.e., shown in white on black. The next character typed will replace the selected text.
- To select an option via a selection button, click the left mouse button within the square box next to the name of the option. Some options are "toggles" which turn on and off individually each time the user clicks them. Others are "radio buttons," a list of alternatives of which only one will be active at any time.
- To use a list, clock with the mouse on an entry of the list. These are typically used for lists of color names or sheet names. The Scroll Bar to the right of the list indicates what portion of the list is visible, if not all the entries are showing. Click on the up or down arrows of the scroll bar to see more items. The center part of the scroll bar will indicate what portion of the full list is being shown. Clicking and. dragging the mouse on it will enable quick scrolling to the beginning or end of the list.
- One item on the dialog box has the Input Focus at any time. This concept is similar to how the Control Panel selects which application window has the input focus. The focus is indicated by drawing a black rectangle around the item. For instance, when a dialog box first appears, the item in the upper left will have the focus. To shift the focus, use the arrow keys to move it left, right,up, or down. In addition, the Tab key can be used to move to the next item, the Shift-Tab key can be used to move to the previous item, and the Keypad Home key can be used to move to the item in the upper left. When a button is traversed to, it may be "clicked on" by typing the space bar.
- When a text entry field is traversed to, its entire contents are highlighted so that the user can easily enter another string. In order to simply edit the existing text, click in the text to specify the insertion point. Alternately, the following keyboard equivalents are available for setting and moving the insertion point through keyboard commands:
- Control-F moves the insertion point forward
- Control-B moves the insertion point backward
- Control-A moves the insertion point to the beginning
- Control-E moves the insertion point to the end
- To conclude a dialog box operation, click the left mouse button on an action button. These are command names surrounded by a rounded border and, on a color monitor, shaded in color. Most dialog boxes have "OK" or "Cancel" buttons to accept or reject the dialog box action and exit the dialog box. Dialog boxes may also be exited by pressing the Return key which is equivalent to OK, or by pressing the Escape key which is equivalent to Cancel.
- A MarketSheet™ file is organized into a list of sheets, or pages, of which only one sheet is shown at a time. Hence, the most common operations are to change which sheet is showing. Operations to show the First, Previous, Next, and Last sheets are provided in the Sheet menu as shown in Figure 13, below. These will navigate through the ordered set of sheets in the system.
- An alternative way of navigating to other sheets is to use the Page UP and Page Down keys. On the Sun keyboard, these are R9 and R1, corresponding to the placement of the Page Up and Page Down keys on the keypad of an IBM PC.
- Yet another way to change sheets is to display the Index dialog box, using the Index operation on the Sheet menu. This is shown in Figure 14, below. The dialog box contains a list which holds the names of all of the sheets.
- To display a sheet, select it and then click on OK, or as a shortcut, double click on its Index entry. The scroll bars may be used if there are more sheets than will fit on the display. The buttons to the left of the list are used to change the ordering of the sheet in the list of sheets.
- Besides moving around to the different sheets, the user can also create, delete, rename, and change the order of the sheets. The Sheet Create menu command is used to add a blank sheet. A dialog box will appear in which the sheet name may be entered.
- The name of the new sheet defaults to "No Name," and the new sheet will be placed after the current sheet in the index. Note that it is allowable for more than one sheet to have the same name.
- . To change sheet characteristics such as the name, the background color, or the grid sizes (to be explained below), use the Sheet Edit operation or double-click on the Sheet Name indicator. Complete the dialog entry by clicking on the OK button.
- The Sheet Delete menu command is used to delete the current sheet. A dialog box will appear, indicating the name of the current sheet and requiring that the user confirm the deletion. Note that when there is only one sheet, it may not be deleted.
- The Sheet Index menu command is used to change the current sheet, as seen previously, and it can also be used to change the order of the sheets. Bring up the dialog box and then click on a sheet name which is not the top one. Clicking on the button marked "Top" will then move that sheet to the top of the list. Click on "OK," and the selected sheet will be moved to the first position. There are also buttons to move a selected sheet forward one position, backward one position, or to the end, and to create, delete, and rename sheets while the index dialog is active.
- The Toolbox is a vertically arranged set of icons or buttons along the left side of the display sheet as shown in Figure 1. It is initially not shown. Using the Show Toolbox command in the Edit menu will cause it to appear on the left side of the Display.
- The Toolbox contains an icon to indicate whether the Grid tool is active, then a gap, then an icon to represent the Selection tool (or arrow), then an icon to represent the DuPlication tool, and then an icon for each of the available object types. Only one of the tools can be active at any time. It is shown in reverse video. The Grid tool is a toggle, either on or off.
- The Toolbox is used to select the next object to be created. After picking a tool (such as a Quote), click and drag to draw a rectangle on the current sheet. The selected type of object will be created, and the Toolbox will reselect the Selection or tool.
- If the Grid tool icon is lit, the corners of the drawn rectangle will automatically be adjusted to the grid sizing for the sheet, whether or not the grid is actually being shown. This is a useful page layout feature when creating an array or similar items on a sheet.
- Editing operations provided by the menu system will operate on Selected Object(s) on the current sheet. Selected objects are indicated by a "picture frame corners" around the object, as shown in Figure 16. To select an object, single click on the object with the mouse. A way to select more than one object at a time is to draw a large rectangle (using the Select tool) around the desired objects, as shown in Figure 17.
- Holding down the Shift key acts as an "extend selection" feature similar to many programs for the Apple Macintosh, allowing the user to select and highlight more than one object, by clicking on each one of them. If the user clicks on a selected object, it is unselected.
- If the user draws the selection rectangle with the Shift key held down, any objects in the selection rectangle will be toggled, reversing the selection state of all affected objects. The user can unselect all objects by clicking the left mouse button on an empty area of the sheet.
- Another way to select objects is to select all of them, by using the Select All command in the Edit menu.
- The keyboard traversal facility allows the user to change which object is receiving keyboard input, much like the Control Panel function keys are used to change which application receives the keyboard input. This is also the same facility which is used for navigation in dialog boxes. Not all objects can accept the keyboard traversal; currently only the Quote, Page Fragment, and Button objects do.
- The object which has the traversal focus will be shown with highlighting market along the sides, not the corners. This is shown in Figure 18. Note that selection and traversal are two distinct operations and are indicated by two distinct highlights. When an object is both selected and traversed to, the highlights will merge to form a complete border.
- Use the arrow keys to navigate in direction such as up, down, left and right. The Tab key will move to the next item, and the Shift-Tab will move to the previous item. The tabbing sequence is the same as the stacking order, which defaults to the order in which the items were made. This can be altered using editing operations described below.
- When there are more than one selected object, one is marked as the Traversal object, meaning that keyboard input will be sent to it. This facility is mostly used for quick editing of the symbols in Quote objects, or the current page shown in a Page Fragment, which are explained in more detail below.
- The Duplicate tool may be used to make copies of objects on a sheet, which will be arranged into a grid of copies having the same size as the original.
- To use the Duplicate tool, first create an object, and set up its characteristics, such as size, colors, font, and other attributes. Place the object in the upper left of the region to be filled with copies. Then click on the Duplicate tool icon in the toolbox. Now click with the left button on the object to be duplicated, and drag right and/or down to define the region to be filled. As the mouse is dragged, the outlines of the copies to be created will be shown. When the region is complete, release the mouse, and the copies will be made. The Selection tool will be made active again so that the user can operate on the copies.
- Note that the Duplicate tool cannot be used to make copies of Graph objects, due to their composite structure.
- Once an object is selected, the user can perform editing operations using commands from the Edit Menu.
- Cut (Delete) the object
- Front brings the object to the front of the overlay list
- Back sends the object to the back of the overlap list
- Since objects can overlap each other, the user may want to bring one object to the foreground, or push one object to the background.
- Objects are normally shown, but the user can temporarily hide them, using the Edit Menu.
- . Hide the object
- . Show the object
These operations are often used to create pop-up objects on the sheet which are not visible until the user shows them. In most cases, button scripts are used to automatically pop up and down the hidden objects, in order to display help or additional information. This is explained further in the Buttons section.
To make page layout easier, the user can fit objects to the Grid or overlap objects as shown in Figure 19. To see the grid, use the Sheet Edit command to bring up the Sheet Editor Dialog Box. Change the Grid Size by single-clicking anywhere in the Grid Size box. Once the user has created the desired grid size, click on the Draw Gridlines button and close the Dialog Box. The Grid lines will now be drawn on the sheet.
Aligning objects will automatically resize their borders to the size of one grid box, or multiples of the grid box size, if the object is large. When the user has selected the objects to be aligned, choose - . Align
to resize to the grid. Selected objects will align to the grid. Other objects will not move.
In order to refer to specific objects or collections of objects in the MarketScript™ language used by the scripts, objects can be given names. Note that the name of a label, for instance, is different from the text shown by the label. Choose - . Name...
to display or change the name. A dialog box will appear, indicating the name of the first selected object. The name can also be changed through this dialog box. The name change will apply to all of the selected objects. - Some editing operations do not require the use of the Edit Menu. The user can move or resize an object using the mouse to specify what the user wants to do.
- Objects can be Moved by Selecting them, pressing down and holding the left mouse button, and then dragging the objects to a new location on the sheet.
- To Resize an object, press and hold the left mouse button on any one of the corners of the Selected object(s). Some degree of precision is required, since the mouse cursor must be within 2 pixels of the corner.
- Note that while moving or resizing, the mouse cursor will change into an arrow indicating the movement or direction of resizing.
- Besides editing a selected object or group of objects, the user can also change their display characteristics. These display characteristics are accessed from the Menu Bar, and include:
- Mode : changes the highlighting mode for page fragment objects. This is described in more detail below.
- Font : changes the font size and style.
- Pen : changes the color for the text and border.
- Border : changes the width for the border of the object.
- Fill : changes the color which fills the background of the object.
- Note that the user cannot change the border of Button objects, as their border is drawn internally to provide different shapes.
- To edit the detailed characteristics of an object, such as to change a label's text or a quote's subscription information, double click on the object. A dialog box will appear showing that the object's attributes. The dialog boxes are different for the different types of objects, but all have OK, Cancel, and Revert buttons.
- For a label, for instance, there is a text entry area for the label's text, and a set of radio buttons to specify the alignment mode of the text.
- The specific attributes of the different classes are -described more fully in the Reference section of this manual.
- The script facility in MarketSheet™ is primarily for advanced users, so only a brief introduction will be given here. Scripts may be used to go to the next page, to a specific page, or to alter the appearance or layout of objects. They are composed of one or more actions, which are entered as a sentence. For instance, one script would be "Governments find sheet", which would find the sheet named Governments and show it on the screen. This would be faster than bringing up the index dialog box, searching through the list, and selecting the entry for Governments. Thus, scripts can be thought of as a macro facility for commonly performed functions. Scripts can chain together several operations, such as "next sheet next sheet", which would go to the next sheet, and then the sheet after that. The section on scripts in the Reference part of this manual describes the available operations.
- The dialog box for a Quote object allows the user to set upper and lower limits for a specified field. When its limits are reached, a Quote object is shown in reverse colors (i.e., its pen and fill colors are reversed).
- When a Quote reaches a limit value, it will run one or more scripts, which the user can enter. There are four scripts associated with each quote, which are run at the start of an alert, the end of an alert, during a normal update, and during an alert update. This is explained in more detail in the section on Quotes in the Reference Part.
- For a Graph, alerts are triggered when the plot line of the instrument moves outside the channel created by an upper or lower trend line.
- Only one set of sheets (one file) is active in MarketSheet™® at any time. File menu operations New, Open Add, Close, and Save are used to create a new sheet set, open (read) an existing one, add another file's sheets to the current file, close the current one, and save the current one. Version shows the Version Number for Market Sheet. Note that while a file is open, the New and Open operations are disabled, and while no file is open, the Save and Close operations are disabled.
- The Open and Add operations will bring up a dialog box which lists the files already saved in this account. To select one of these names, simply click on it, or type a new name into the text edit box and MarketSheet® will search the site-wide accounts as well.
- Note that the current file name is shown in the application window title bar and will also appear on the icon window title.
- The file name that the user types will automatically have the suffix ".ms" added to it. This avoids the possibility that the file will overwrite one of the system files on the disk, which will have a different suffix.
- There are two ways to obtain on-screen help with MarketSheet™. The user can select Help from the Trader Workstation Teknekron Menu and then select MarketSheet™ from the list of help subjects. Or, the user can click on the Help gadget in the upper right corner of the MarketSheet™ window frame. In either case, a MarketSheet™ Help Menu will appear listing subjects for which help is available. Some of these subjects invoke subsidiary help menus. Once the user selects an item for which help text is available a help window appears on the screen, overlapping other windows. It displays a page of text on the chosen subject. Click the Close gadget in the upper right corner of the help window to erase the window and return the display to its state when the user requested help.
- Figure 20 shows the basic MarketSheet® display and the menus that the user can select from the main menu bar.
- Menu items shown in bold type are active in the current product release. The notation "--" appears on the screen as shown in the figure and serves as a logical separator between related groups of menu items. Menus which contain the notation "..." as an item are lists of fonts or colors. What appears on your screen will be a longer, somewhat different list.
- Menu items that consist of a command name followed by "..." display a dialog box when selected.
- Use the File Menu to create new collections of sheets ("files"), to select files, and to save changes the user has made to files. File Menu commands are:
- New
The File New command creates a new file. Once the user has made a new file, the New and Open commands are disabled until the user closes the file. - Open
The File Open command displays a dialog box in which the user enters the name of a previously created file with which the user wishes to work. The dialog box will contain a list of files which are already saved under your account. When the user accepts the dialog box, the file the user named will replace the currently active file. Once the user has opened a new file, the New and Open commands are disabled until the user closes the file. - Add
The File Add command copies the sheets from a file and adds them to the currently displayed file. The additions are temporary until the user saves the current file. Add displays a dialog box into which the user types the name of the source file. The dialog box will contain a list of files which are already saved under your account. Dialog box command Add executes the operation. Cancel exits the dialog box without performing an operation. - Close
The File Close command removes all sheets from the application, terminating access to the current file. Once the user has closed the file, the Close, Save, and Save As commands are disabled until the user opens a file or create a new file. - Save
The File Save commands saves the current file. Changes the user has made becomes permanent. The name of the file does not change. Note that if the current file has not been changed, this item is disabled. - Save As
The File Save As command saves the current file. It displays a dialog box into which the user enters the name of the file. When the user creates a new file the user must save it with Save As in order to assign it an initial name. Later the user can save it again with Save, preserving its name. To create a new file that is similar to an old one, Open the old file, make your changes, and then use Save As to save the new version with a new name. - Version
The File Version command displays the current software version number in a dialog box. This information is needed when reporting a problem with the software. Click on OK to remove the dialog box. - Use the Edit Menu to manipulate objects on the current sheet. Edit Menu operations are:
- Undo (not implemented in the current release)
- Cut
The Edit Cut command deletes all currently selected objects from the sheet. - Copy
(not implemented in the current release) - Paste
(not implemented in the current release) - Selects all the objects on the current sheet.
- Front
The Edit Front command moves all selected objects to the top of the overlap stack so they become fully visible. Objects that overlap the selected objects will move to the back. - Back
The Edit Back command moves all selected objects to the bottom of the overlap stack so they do not obscure any other objects. Objects that overlap the selected objects will move to the front. - Hide
The Edit Hide command makes all selected objects invisible on the screen. This command is often combined with the Edit Show command to make objects pop up and down on the sheet. - Show
The Edit Show command makes all selected objects visible on the sheet. This command is often combined with the Edit Hide command to make objects pop up and down on the sheet. To select a hidden object for use in this command, use the Select All command, or use the mouse to drag a selection rectangle around the space where the object should be. - Align
The Edit Align command adjusts the positions of all selected objects to align with the current grid. - Merge
The Edit Merge command merges graphs. Select the price axes of two graphs and then execute the Merge command. The first graph disappears and its price axis is added to the second selected graph, creating a multiple axis graph. - Name...
The Edit Name... command is used to display or change the names of the selected objects. This allows the objects to be tagged so that they can be referenced in button scripts. A dialog box will appear, showing the name of the first selected object, and if a new name is entered, all selected objects will be renamed. Another use of the Name command is to assign a name to a ticker so that its selection list can be copied when defining other tickers. - Show [Hide] Tools
The Edit Show Tools command causes the toolbox to appear on the left side of the display area. Use the toolbox to create objects and to control the grid. When the toolbox is displayed, this command becomes Hide Tools. Hide Tools turn off display of the toolbox. - Use the Sheet Menu to create, delete, and modify sheets and to navigate among existing sheets. Note that it is allowable for more than one sheet to have the same name. This allows the "find sheet" scripting operation to navigate through a series of sheets.
- First
The Sheet First command transfer to the first sheet in the list of sheets in the current file. - Prev
The Sheet Prev (Previous) command transfers to the previous sheet in the list of sheets in the current file. - Next
The Sheet Next command transfers to the next sheet in an the list of sheets in the current file. - Last
The Sheet Last command transfers to the last page in an the list of sheets in the current file. - Index
The Sheet Index command brings up the Index dialog box. This can be used to review the names of the sheets, to select a different sheet, or to change the order of sheets in the file. A short-cut for bringing up the Index dialog box is to doubleclick on the index position indicator. - Create
The Sheet Create command brings up a dialog box which allows the user to create a new sheet containing no objects and having the name "Untitled". Change the name with the Sheet Edit command or double click on the Sheet Name indicator. - Delete
The Sheet Delete command brings up a dialog box which allow the user to delete the sheet that is currently displayed. The user must confirm the deletion as a safeguard. - Edit
The Sheet Edit command displays a dialog box that lets the user enter a sheet name and background color, turn display of grid lines on and off, and adjust the grid size. A short-cut for bringing up the Sheet Edit dialog box is to double-click on the sheet name. - Use the Mode Menu to change the highlighting mode in Page Fragment objects. Each page fragment implements the basic highlighting facilities used in Telerate displays to indicate which characters on the source page have changed. The available modes are:
- None
No highlighting of changes is performed. - Mode J - Numeric Highlighting
The numeric characters which have changed in the most recent update within the region shown by this fragment are shown in reverse colors. - Mode R - Line Highlighting
The line containing the most recent change within the region shown by this fragment is shown in reverse colors. - Mode H - Accumulated Numeric Highlighting
The numeric characters which have changed since the last mode change or highlight clear are shown in reverse colors. - Mode F - Accumulated Line Highlighting
The lines which have changed since the most recent mode change or highlighting clear are shown in reverse colors. - Mode Single - used for single fields
The numeric characters which have changed in the most recent update anywhere on the source page are shown in reverse colors. - In general, use the Modes J through F when showing a large region of the source page. The highlighting will therefore apply to just this region, and will not be affected by updates outside this region. Use the Single Mode when showing a page broken up into a number of small page fragments, such as one for each price. This way the highlighting will be based on the most recent update anywhere on the source page (if the user had selected mode J for the small fragment, the highlights would remain until there was another update in that same small region).
- Note that the highlighting is cleared for the selected objects whenever the mode menu is used. For instance, if Mode H is in effect and a number of highlights have accumulated, select Mode H again to clear the highlights and preserve the mode.
- Clearing of highlights can also be accomplished through a script, see the Scripts section for more detail.
- Use the Font Menu to change the font used in selected objects. The default font is a small fixed-width font. The elements of the font menu are defined by your system administrator, and may be changed when other fonts become available. Not all fonts are provided on all X Window System implementations. Therefore, the program determines which of the requested fonts are not available, and indicates those in gray (disabled) items. The current font is indicated by a black dot next to its name.
- Note that if the selected object was made on another system which had a different set of fonts in the font menu, there may be no current font indicated on the menu.
- Use the Pen Menu to specify the foregoing color of selected items. The default color is black. This is the color of the text or lines in the object. The current foreground color is indicated by a black dot next to its name.
- Use the Border Menu to specify the size of the border around selected items. The default is one pixel. Wider borders waste some screen space but they are more attractive and easier to manipulate with the mouse. The current border size is indicated by a black dot next to its name. The lower portion of this menu specifies the border color of the object. The current border color is indicated with a black dot next to its name.
- Note that the border color and width of buttons cannot be changed.
- Use the Fill Menu to specify the background color of selected items. The default color is white. The current background color is indicated by a black dot next to its name.
- Fonts are divided into two types: fixed and variable. Fixed width fonts have all characters on the same size, while variable width fonts are spaced proportionally. Using variable width fonts on Quotes, Tickers, or Page Fragments will have some unusual effects, because each of those objects are organized around a row-column grid, or matrix, or characters.
- The character grid layout facility must allocate space for a grid of characters big enough to hold the biggest character in the font, such as the letter 'W'. Thus it will often make itself wider than it appears to need to be. Likewise, if the width of one of those types of objects is reduced, the character grid layout facility will compute how many columns of the biggest character will fit, and show only that number of character. This can often be deceptive.
- It is preferable to use only fixed-width fonts on these types of objects. Not only will this avoid the above effect, but multi-line page fragments and quotes will continue to have their character columns lined up, as on the source page. Since fonts vary from system to system, contact the System Administrator for information on which fonts are variable-width.
- There are two stages. The first stage builds the Widget get, called Strata, which is used by the application. This stage relies only on availability of the standard X11R3 distribution of the X Window System API library and the X Window System X Toolkit API library, both of which are distributed by the MIT X Consortium, and the TIB API libraries.
- The second stage is to build MarketSheet™ itself, which uses the Strata widget get library, the TIB API libraries, and the X Window System libraries.
- The following files are used to build the Strata library:
- Axis.c
- Axis.h
- AxisP.h
- Basic.h
- BasicP.h
- Box.c
- Box.h
- BoxP.h
- Button.c
- Button.h
- ButtonP.h
- CharGrid.c
- CharGrid.h
- CharGridP.h
- Converters.c
- Converters.h
- DBoard.c
- DBoard.h
- DBoardP.h
- Dialog.c
- Dialog.h
- DialogP.h
- Gadget.c
- Gadget.h
- GadgetP.h
- GraphData.c
- GraphData.h
- GraphDataP.h
- GraphMgr.c
- GraphMgr.h
- GraphMgrP.h
- Graphview.c
- Graphview.h
- GraphviewP.h
- Highlight.c
- Label.c
- Label.h
- LabelP.h
- List.c
- List.h
- ListP.h
- Manager.c
- Menu.c
- Menu.h
- MenuBar.c
- MenuBar.h
- MenuBarP.h
- MenuP.h
- Primitive.c
- Reader.c
- Reader.h
- Selection.c
- TextEdit.c
- TextEdit.h
- TextEditP.h
- Traversal.c
- Writer.c
- Writer.h
-
- The following files are used to build the MarketSheet™ application:
- Box.c
- Box.h
- BoxP.h
- Button.c
- Button.h
- ButtonP.h
- CharGrid.c
- CharGrid.h
- CharGridP.h
- DSAxis.c
- DSAxig.h
- DSAxisP.h
- DSGraphData.c
- DSGraphData.h
- DSGraphDataP.h
- DsGraphview.c
- DsGraphview.h
- DSGraphViewP.h
- Fragment.c
- Fragment.h
- FragmentP.h
- Manager.c
- PlaneMgr.c
- PlaneMgr.h
- PlaneMgrP.h
- Publisher. c
- Publisher.h
- PublisherP.h
- Quote.c
- Quote.h
- QuoteP.h
- Reader.c
- Subscription.c
- Subscription.h
- SubscriptionP.h
- TBAxis.c
- TBAxis.h
- TBAxisP.h
- TBGraphData.c
- TBGraphData.h
- TBGraphDataP.h
- TBGraphview.c
- TBGraphview.h
- TBGraphViewP.h
- Table.c
- Table.h
- TableP.h
- Ticker.c
- Ticker.h
- TickerP.h
- TimeGrid.c
- TimeGrid.h
- TimeGridP.h
- bits.arrow
- bits.button
- bits.clone
- bits.dsgraph
- bits.fragment
- bits.global
- bits.grid
- bits.label
- bits.publisher
- bits.quote
- bits.table
- bits.tbgraph
- bits.ticker
- bricks.bits
- button.c
- dsgraph.c
- files.c
- fragment.c
- global.c
- items.c
- label.c
- menus.c
- mondrian.bits
- meney.bits
- ms.h
- ms23.c
- msDefaults.cf
- msEmpty.cf
- msNTib.cf
- page.h
- pagehandler.c
- pagemap.c
- pagemap.h
- publisher.c
- quote.c
- script.c
- sheets.c
- stylemap.c
- stylemap.h
- table.c
- tbqraph.c
- tib.c
- tib.h
- ticker.c
- time.c
-
Claims (35)
- An apparatus for transforming a blank display (82) of a computer (40) into an active document (62) having one or more pages of user defined display, referred to herein as an active document (62) showing at least the changing values of data the value of which may change over time, said display of said active document changing as the values of said data selected for display on said active document change, said apparatus having a computer (40) for storing and executing one or more programs (52) , and having a display (82), and having one or more input devices (126, 128) providing input signals from a user including requests and commands, said computer (40) coupled to at least one source (34) of changeable data via a data path (32) coupling said computer (40) to said at least one source of changeable data,
characterized by:a communication program (90) in execution on said computer (40) for carrying out subject based addressing for receiving subscription requests specifying a subject on which data is desired and for mapping the subject of each said subscription request to the identity and/or location of one or more sources of data on that subject, and for automatically establishing at least one subscription communication path via said data path (32) to at least one of said sources of data on each said subject such that the current value of said data on each said subject for which there is an active subscription and all updates thereto will be obtained and made available for display;a dispatcher program (136) in execution on said computer (40) and coupled to said communication program and to said input devices for receiving requests from a user via one or more of said input devices to display on said display (82) one or more items of said changeable data arriving from said source of changeable data, said requests for data specified only by subject, and for generating and sending to said communication program a subscription request for each said subject thereby causing retrieval by said communication program on a subscription basis of only said requested items of changeable data and all updates thereto via said data path, and for making said retrieved data and all changes thereto available for display; anda document composition program (52) in execution on said computer (40) and coupled at least to said dispatcher program (136) and to said computer display (82) for accepting composition commands entered by a user via said dispatcher program (136), said composition commands defining the desired content and appearance on said display (82) of said active document (62) and for receiving from said dispatcher program (136) said changeable data retrieved by said communication program and displaying said changeable data on said display (82) at the location and in the manner specified by said user through said composition commands such that the displayed values virtually instantaneously reflect changes in the value of said changeable data as said values change over time. - An apparatus for creating a displayed image on a display (82) in the form of a custom active document (62) showing changes in one or more items of requested data which change over time, said active document (62) useful in visualizing events in a system comprising said one or more items of requested, changeable data output by one or more sources of data, said apparatus operating in a computing environment including said one or more sources of changeable data (34, 36), a computer (40) having said display (82) and one or more input devices and an operating system program which controls operation of said computer, said computer (40) being coupled to said sources of changeable data (34, 36) by a data path (32) and communication software in execution on said computer (40) which also controls operation of said computer,
said apparatus characterized by:said communication software (90) controlling operation of said computer (40, 34) so as to receive requests for said one or more items of data and so as to obtain and deliver said one or more items of requested data generated by said sources of changeable data using a subscription paradigm wherein, for any item of said changeable data for which a subscription has been requested, said communication software controls said computer (40, 34) so as to automatically obtain data from said one or more sources of changeable data which includes the requested data and deliver only the current value(s) of said one or more requested item(s) of said changeable data and all updates thereto until the subscription is cancelled;one or more document composition programs (52) in execution on said computer (40) for providing tool icons (78, 80), layout tools or function options in menus (54, 56) displayed on said display (82) which can be invoked by a user so as to issue composition commands used to compose from a blank computer display (82) an active document (62), said active document (62) including one or more items of said changeable data, said active document (62) comprising a document having one or more pages (64) where each page (64) has a user defined composition, format and layout and has displayed thereon one or more user defined display objects some or all of which may display the changing value of said one or more items of said changeable data displayed at user defined locations thereon and displayed in a user defined format and with a user defined style and with optional user defined conditions which may be triggered by attainment of user defined values of the changeable data associated with said display object, the occurrence of said user defined conditions causing user defined events to occur, said document composition program controlling said computer (40) so as to be coupled to said communication software, and controlling said computer (40) so as to convert any composition command calling for display of the value of an item of changeable data to a user requests for a subscription to the specified one or more items of said requested data and all updates thereto as said updates are published by said one or more sources of changeable data and for automatically requesting said communication software to create a communication channel across said data path (32) and obtain data from one or more sources of changeable data which includes said specified items of changeable data and updates thereto thereby causing said communication program to automatically deliver to said document composition program only the requested items of real time data and updates thereto, and said document composition program for controlling said computer (40) to receive said one or more items of said changeable data and updates thereto from said communication program, and for displaying on said computer display (82) said one or more items of requested data and all updates thereto in the manner defined by said user using said composition commands until said subscription is cancelled, said document composition program including input means coupled to said one or more input devices and said communication software for receiving input events comprising user composition commands and values of selected items of said real time data for which subscriptions exist and dispatching these events to said document composition program for use in updating said displayed image of said document. - The apparatus of claim 2 wherein said document composition program(s) (52) includes means (136, 52, 82) for displaying changes in changeable data selected for display in said active document (62) simultaneously while said tool icons or function options in menus are being used to compose and alter the image of said dynamically changeable display image, said process of using said tool icon (78, 80) or function options in menus occurring at any time without interrupting the flow of updates for any said changeable data currently displayed on said document, and wherein said document composition program(s) (52) includes first means (54, 78) for dispaying on said computer display (82) a tool icon (80) or function option in a menu (56) which may be invoked by a user such that one or more areas of said displayed image of said active document (62) may be programmed to show the most current value of one or more user defined items of changeable data which have values which change over time as well as showing the the changing value(s) over time of said one or more user designated items of changeable data.
- The apparatus of claim 2 wherein said one or more document composition programs (52) includes second means for displaying a layout tool which may be invoked by a user such that one or more areas of said display image of said active document (62) may be programmed to show only the most current value of one or more user defined items of changeable data.
- The apparatus of claim 2 wherein said one or more document composition programs (52) includes third means (54, 56, 78, 80) for displaying a layout tool which may be invoked by a user such that one or more areas of said active document (62) being composed on said computer display (82) may be programmed to display the dynamically changeable value or values of changeable data contained in one or more user designated portions of one or more user designated pages of data from a user designated, page-oriented financial information service.
- The apparatus of claim 2 wherein said one or more document composition programs (52) includes fourth means (54, 56, 78, 80) for displaying a layout tool which may be invoked by a user whereby a plurality of pages of said active document (62) may be composed by said user on a computer display, each page (64) having a user defined layout comprising any number of items of user defined text displayed at user defined locations and displayed in user defined style on each page, and the value or values of any number of user specified items of changeable data displayed in user designated locations and displayed in user defined style thereon.
- The apparatus of claim 2 wherein said one or more document composition programs (52) includes :alarm limit setting means (108) for displaying a tool which may be invoked by a user so as to establish one or more alarm limits which are associated with one or more items of said changeable data, and wherein said changeable data includes updated values which arrive from time to time, each said alarm limit being compared with any incoming updated value of a corresponding item of changeable data, and said alarm limit setting means (108) also for setting an alert status when any one of said alarm limits is exceeded; andscript means (110) coupled to said alarm limit setting means (108) for, upon detection of said alert status for any particular alarm limit, causing one or more user defined sequences of events to occur.
- The apparatus of claim 2 wherein said one or more document composition programs (52) further comprises fifth means (78) for displaying a tool icon (80) or function option in a menu (56) which may be invoked by a user to locate at one or more user defined locations on said user defined active document (62) one or more quote active objects (66), each said quote active object for receiving and displaying the current price for a user designated financial issue at said designated location of said active document.
- The apparatus of claim 2 wherein said one or more document composition programs (52) further comprises:sixth means (78, 54) for displaying a layout tool icon (80) or function option in a menu (56) which may be invoked by the user to program one or more button active objects (66) at user definable locations on said active document, andfurther comprising seventh means (154) coupled to one or more of said button active objects (66) for causing to occur a specific user defined sequence of events associated with each button active object when the corresponding button active object is selected.
- The apparatus of claim 2 wherein said one or more document composition programs (52) includes means (78) for creating an active object (66) for each said user designated item of changeable data displayed within said active document (62), each said active object (66) having an associated list of properties and an associated list of operations which can be invoked by a user via said one or more input devices to change the values of various properties of said active object.
- The apparatus of claim 10 wherein said computer (40) in said environment has a memory and wherein each said active object (66) is represented in said memory by a data record (42, 44) containing the values for each said property in said list of properties and a pointer (46, 48) to a library (50) of programs for execution on said computer (40) and which carry out the operations associated with said active object when invoked.
- The apparatus of claim 11 wherein each said active object comprises:a data object record (102) in a memory of said computer (40) for storing the internal computer representation of a set of data items pertinent to a particular item displayed on said document;a style map record (104) in said memory for storing style data specifying particular ones of the data items stored in said data object which are displayed and where these data items are displayed and the format of the display;a display object means (106) for storing a representation of the data from said data object record specified by said style map record and for sending said extracted data and one or more appropriate rendering commands based upon said style data to said screen rendering means such that said display (82) is rendered with said data stored by said display object in accordance with said style data;means for storing user defined event trigger condition data (108) specifying the conditions for data stored in said data object record under which said user desires further action to occur; and means coupled to said means for storing event trigger condition data (110), for storing one or more scripts of actions programmed by said user and associated with one or more events, said actions of each script to be carried out by said computer (40) in a sequence programmed by said user if a condition specified in the corresponding event trigger occurs.
- The apparatus of claim 12 further comprising means (100) for receiving data updates (102) for a corresponding item of changeable data, and for updating the corresponding changeable data with the updated value and storing the updated value in said display object means in accordance with said style data stored in said style map record (104), and for comparing any updated values for said changeable data to any event trigger condition data stored in said means for storing event trigger condition data (108), and for displaying any special effects on said display according to said style data if any event trigger condition has been satisfied by an update to a corresponding item of changeable data.
- The apparatus of claim 7 wherein said script means (110) comprises means for recognizing and carrying out in any user designated sequence commands for at least some of the following functions:selection of active objects (66);editing selected active objects (66);moving and resizing of selected active objects (66);moving between pages of said dynamically changeable displayed image of said active document;editing a selected page (64) of said dynamically changeable displayed image of said active document;causing audible signals, or for causing a command of another program such as an operating system program to be executed or for pausing a user designated amount of time; andcontrolling the display of the computing environment such as by displaying or not displaying the available tool icons (80) for creating and editing said pages of said active document (62) or displaying or not displaying alignment aids for layout of said pages of said active document (62) such as grid lines.
- The apparatus of claim 2 further comprising means (54,78) for displaying a tool icon (80) or function option in a menu (56) which may be invoked by a user to display on said active document (62) table tool objects displaying useful reference information such as the names of commonly used pages of page oriented services or securities.
- The apparatus of claim 14 wherein said script means (110) further comprises means (54,78) for displaying a tool icon (80) or function option in a menu (56) whereby a user may enter new commands which are available for execution during a user defined script of actions.
- The apparatus of claim 2 wherein said one or more document composition programs (52) includes means (54) for displaying a menu of universal commands which can be invoked by a user to edit or manipulate any pages or any active objects (66) displayed on any page (64) of said dynamically changeable displayed image of said document, and for displaying a pop-up menu of commands associated with any command selected by a user from said menu of universal commands.
- The apparatus of claim 2 further comprising means (54,78) for displaying a tool icon (80) or function option in a menu (56) which can be invoked by a user to control said computer (40) so as to do text layout such that one or more areas on said active document, the positions of which may be selected by said user, may have displayed therein text information supplied by said user through one or more of said input devices.
- The apparatus of Claim 1 wherein said document composition program (52) includes means for storing said active document (62) as one or more sheet objects (64) comprised of one or more active objects (66) and group objects (68) in said computer, and upon receiving a command to redisplay said active document (62) from said user via said one or more input devices, for displaying the most current value of each item of changeable data previously specified by said user when said active document (62) was composed immediately upon redisplaying said active document (62).
- The apparatus of claim 3 wherein said first means (54, 78) comprises means (54,78) for displaying a tool icon (80) or function on a menu (56) which may be invoked by a user to control said computer (40) so as to display the most current value of said changeable data and a user defined number of prior values of said changeable data versus time as a graph (22).
- The apparatus of claim 7 wherein said script means (110) includes means for selectively changing the format of said displayed image of said document when an alarm limit is exceeded.
- The apparatus of claim 1 wherein said document composition program (52) includes frame and editing environment means for storing active document definition data in the form of one or more sheet objects (64), each sheet object defining the content, layout and format of a page of said active document (62), each sheet object comprised of one or more active objects (66) which store the actual values of said changeable data subscribed to by said user and including the user specification of which fields from items of said changeable data are to be displayed as part of said active document and also storing data defining how and where said fields are to be displayed, and for providing a facility whereby said active document (62) definition may be recalled and displayed with the current values of the changeable data specified in said active document (62) definition being automatically obtained by said communication program by renewal of all subscription requests and renewal of all subscriptions on subjects previously specified by the user and recorded in said active document (62) definition.
- The apparatus of claim 1 wherein said document composition program (52) includes frame and editing environment means for creating, in response to said composition commands issued by a user, instances of different classes of active objects (64, 66, 68) including sheet objects, active objects and group objects which display on said display either changeable data generated by said source of changeable data or fixed, alphanumeric data entered by the user via said one or more of said input devices (126, 128, 130), each said active object for displaying data in accordance with an associated style map which defines the portion of said data to be displayed and defining where and how said data is to be displayed, each said active object having an associated data object storing the current value of one or more data fields which together comprise all the possible data fields of a data record which are available for display, said data record being or containing data on the subject of the subscription which resulted in retrieval of said data record and creation of said active object, said style map including a human readable specification of which data fields from said data record are to be displayed as part of said active document, said style map also storing data defining said user's choices regarding selected display characteristics to be used in displaying said data, each said active object also having the following associated objects stored in said memory of said computer (40):a display object which encapsulates the executable instructions for said computer (40) required to display the contents of the data object in the style specified by the user in said style map,an event trigger stored storing user supplied data specifying alarm limits or other conditions against which changing values of a user specified field of said data record are to be compared, for which the user desires additional processing by said computer (40) to occur if the value of the user specified field achieves a user specified relationship to said alarm limit or other condition, the achievement of said user specified relationship hereafter being referred to as an event trigger, andan event script associated with each event trigger, each said event script comprising a sequence of one or more commands to be executed by said computer (40) upon the occurrence of an event trigger.
- The apparatus of claim 20 wherein said one or more document composition programs (52) further comprises alarm limit setting means (108) coupled to said first means for displaying a tool which may be invoked by a user to display on any said graph up to two active trend line alarm limits, typically upper and lower limits against which the most current value of said changeable data depicted on each said user defined graph may be compared, and for comparing each new updated value received for an item of changeable data to the corresponding trend line alarm limits for the corresponding graph, and if an alarm limit established by an active trend line is equalled or exceeded, for generating an alert signal.
- The apparatus of claim 20 wherein said first means (54, 78) includes means for scaling each axis of said graph separately.
- The apparatus of claim 20 wherein said first means (54, 78) includes means for displaying the numeric values on each axis of said graph for any particular point on the graph representing the value of a selected item of changeable data at a particular time for any particular point on said graph which has been selected.
- The apparatus of claim 20 wherein said first means (54, 78) includes means for causing automatic rescaling of the time axis for any graph wherein one of the axes has been user defined to show time.
- The apparatus of claim 20 wherein said first means (54, 78) includes means (78, 54) for displaying a tool icon (80) or function option in a menu (56) whereby a user may graphically designate a trend line by defining any two points on the desired trend line.
- The apparatus of claim 20 wherein said first means (54, 78) includes means (78, 54) for displaying a tool icon (80) or function option in a menu (56) which may be invoked to allow a user to enlarge the displayed view of any portion designated by a user of any said graph.
- The apparatus of claim 20 wherein said first means (54, 78) includes means (78, 54) for displaying a tool icon (80) or function option in a menu (5.6) which may be invoked to allow a user to display as a graph at least two items of said changeable data and for displaying the values of said two items of changeable data against the same two axes.
- The apparatus of claim 1-9 or 12-14 or 25-30 further comprising one or more other computers (36) coupled to said data path (32), and publishing means in execution on said one or more other computers (36) for publishing said changeable data organized in a page format, said document composition program further comprising a page fragment tool means for displaying on said computer display (82) a tool or icon (56, 80) which can be invoked by said user such that said user can cause to be displayed only a selectable portion of a particular page of said page format data by designating any portion of any page of said changeable page format data.
- The apparatus of claim 24 wherein said one or more document composition programs (52) further comprises script means (110) for coupling a script of user defined commands to any said alarm limit such that when said alarm limit is equalled or exceeded by the value of changeable data being displayed as a graph, said user defined sequence of commands is automatically executed by said computer.
- An apparatus for transforming a blank image on a computer display (82) into an image of a dynamically changeable active document (62) having one or more pages (64), the content, composition and style of each page (64) being user selectable in real time, said active document (62) for display of one or more items of data the value(s) of which change over time and which are generated by a collection of sources that output data items the value(s) of which change over time, said apparatus including a computer (40) having a display (82) and one or more input devices (126, 128) and coupled to said collection of sources, said computer including a communication program capable of accessing said data sources and retrieving the current values of at least said selected data items and receiving updates to the values of said data items, characterized by:
a program (52) in execution on said computer (40) means for receiving composition commands from a user regarding the desired content, composition and layout of each page (64) in the display of said document defining the items of data to be displayed, and for automatically converting those composition commands into subscription requests for the value of any data item specified in said composition commands and all updates thereto and passing said subscription requests to said communication program, and for receiving any said requested data item and any updates thereto and displaying the value of said received data item on said computer display (82) in the location and format specified by the user through said composition commands, and for continuing to update the displayed value of each item of displayed data until a command is received from said user cancelling the subscription to that particular item of data, and wherein said program (52) includes means for creating an active object (100) data record in a memory of said computer (40) for every item of changeable data for which a subscription has been requested, said active object data record including a data object (102) which stores the current value of said item of changeable data to be displayed on said active document (62) and which receives updates thereto, a style map object (104) which contains data defined by the user which defines which fields of the data stored in said data object are to be displayed if more fields than the desired field to which the user has entered a subscription are stored in said data object, where on said active document to display the selected fields changeable data stored in said data object, and including data defining the display characteristics for displaying the selected fields of data stored in said data object, said active object also including a display object (106), one or more event triggers (108) and one or more event scripts (110), said display object for extracting the proper data from the data object and issuing proper command which cause said computer (40) to display the data in accordance with the information stored in said style map object, and wherein each said event trigger contains data programmed by a user which specifies trigger conditions such as the value of a specified field of data stored in said data object rising above or falling below a user defined level, the occurrence of a trigger condition causing said computer (40) to perform a user specified sequence of events defined by data stored in an event script which is linked to said event trigger. - The apparatus of claim 33 wherein said program (52) for controlling execution by computer (40) includes means (54,78) for displaying a tool icon (80) or function option in a menu (56) which may be invoked by a user to control said computer (40) so as to display any user selected item of changeable data as a graph showing at least the current value of said item of changeable data plotted against any other variable such as time.
- A process for displaying changeable data on the display of a computer, characterized by comprising the steps of:receiving one or more composition commands issued by a composition software program controlling a computer, said composition command defining a user defined active document (62) for display on said computer display, said active document (62) displaying changeable data selected by a user through said composition commands in a layout, format and style specified by said user via said composition commands, and storing the definition of said active document (62) as data;converting one or more of said composition commands into subscription requests requesting that the current value of changeable data specified in said composition command be transmitted to said computer (40) controlled by said composition software program as well as all updates thereto as soon each updates to the specified item of changeable data is available;processing each said subscription request using a computer (40) controlled by a communication program by locating a suitable source for said changeable data specified in said subscription request and filtering data published by said source such that only data on the subject specified in said subscription request is selected from data published by said source along with updates thereto and transferring said data to said computer (40) controlled by said composition software program which then displays said data and updates thereto on a computer display in the manner specified in the definition of said active document (62).
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US636044 | 1990-12-28 | ||
US07/636,044 US5339392A (en) | 1989-07-27 | 1990-12-28 | Apparatus and method for creation of a user definable video displayed document showing changes in real time data |
PCT/US1991/009811 WO1992012488A1 (en) | 1990-12-28 | 1991-12-20 | Apparatus and method for creation of a user definable video displayed document showing changes in real time data |
Publications (3)
Publication Number | Publication Date |
---|---|
EP0564548A1 EP0564548A1 (en) | 1993-10-13 |
EP0564548A4 EP0564548A4 (en) | 1993-12-29 |
EP0564548B1 true EP0564548B1 (en) | 1997-09-17 |
Family
ID=24550170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP92902761A Expired - Lifetime EP0564548B1 (en) | 1990-12-28 | 1991-12-20 | Apparatus and method for creation of a user definable video displayed document showing changes in real time data |
Country Status (10)
Country | Link |
---|---|
US (1) | US5339392A (en) |
EP (1) | EP0564548B1 (en) |
JP (1) | JP2927548B2 (en) |
KR (1) | KR100235471B1 (en) |
AT (1) | ATE158428T1 (en) |
AU (1) | AU660004B2 (en) |
CA (1) | CA2099020C (en) |
DE (1) | DE69127703T2 (en) |
MX (1) | MX9102839A (en) |
WO (1) | WO1992012488A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007022103A3 (en) * | 2005-08-12 | 2007-05-03 | Microsoft Corp | Copying and updating files |
WO2008092361A1 (en) * | 2007-01-29 | 2008-08-07 | Huawei Technologies Co., Ltd. | An alert means and alert method |
Families Citing this family (641)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2054026A1 (en) * | 1990-10-31 | 1992-05-01 | William Monroe Turpin | Goal oriented electronic form system |
US5442742A (en) * | 1990-12-21 | 1995-08-15 | Apple Computer, Inc. | Method and apparatus for the manipulation of text on a computer display screen |
CA2059615A1 (en) * | 1991-01-23 | 1992-07-24 | Edward J. Neubauer | Method of selecting and representing data |
US5590325A (en) * | 1991-06-11 | 1996-12-31 | Logical Information Machines, Inc. | System for forming queries to a commodities trading database using analog indicators |
US5414838A (en) * | 1991-06-11 | 1995-05-09 | Logical Information Machine | System for extracting historical market information with condition and attributed windows |
FR2679350B1 (en) * | 1991-07-16 | 1995-06-23 | Cit Alcatel | SOFTWARE STRUCTURE FOR A DATA PROCESSING SYSTEM, ESPECIALLY FOR A TELECOMMUNICATIONS SYSTEM. |
AU664055B2 (en) * | 1991-11-25 | 1995-11-02 | Sony (Australia) Pty Limited | Operator initiated display window recall |
US5710899A (en) * | 1991-12-06 | 1998-01-20 | Lucent Technologies Inc. | Interactive selectors for selecting subsets of a set of values |
US5644692A (en) * | 1991-12-06 | 1997-07-01 | Lucent Technologies Inc. | Information display apparatus and methods |
US10361802B1 (en) | 1999-02-01 | 2019-07-23 | Blanding Hovenweep, Llc | Adaptive pattern recognition based control system and method |
US8352400B2 (en) | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
US5471575A (en) * | 1992-01-03 | 1995-11-28 | Home Equity Software, Inc. | Interactive parameter driven iterative financial spreadsheet analysis with context and layout sensitive help screen |
US5519606A (en) * | 1992-01-21 | 1996-05-21 | Starfish Software, Inc. | System and methods for appointment reconciliation |
US6985883B1 (en) * | 1992-02-03 | 2006-01-10 | Ebs Dealing Resources, Inc. | Credit management for electronic brokerage system |
JPH07111675B2 (en) * | 1992-02-28 | 1995-11-29 | インターナショナル・ビジネス・マシーンズ・コーポレイション | Window display device and method |
US7299240B1 (en) * | 1992-04-10 | 2007-11-20 | Intellisync Corporation | Method for translating computer data from one record structure to another |
US5392390A (en) * | 1992-04-10 | 1995-02-21 | Intellilink Corp. | Method for mapping, translating, and dynamically reconciling data between disparate computer platforms |
US5604898A (en) * | 1992-05-07 | 1997-02-18 | Nec Corporation | Database enquiry system |
JPH0667951A (en) * | 1992-05-20 | 1994-03-11 | Nec Corp | Database management system |
JP3248981B2 (en) * | 1992-06-02 | 2002-01-21 | 松下電器産業株式会社 | calculator |
US5623690A (en) * | 1992-06-03 | 1997-04-22 | Digital Equipment Corporation | Audio/video storage and retrieval for multimedia workstations by interleaving audio and video data in data file |
US5896532A (en) * | 1992-06-15 | 1999-04-20 | Lucent Technologies Inc. | Objects with run-time classes and methods of making them |
US5506983A (en) * | 1992-07-06 | 1996-04-09 | Microsoft Corporation | Method and system for transactioning of modifications to a tree structured file |
CA2103857C (en) * | 1992-08-11 | 2002-12-17 | Kurt E. Sunderman | Schedule adherence system |
US5586235A (en) * | 1992-09-25 | 1996-12-17 | Kauffman; Ivan J. | Interactive multimedia system and method |
JPH06236383A (en) * | 1993-02-10 | 1994-08-23 | Hitachi Ltd | Position optimizing method and system |
US5596700A (en) * | 1993-02-17 | 1997-01-21 | International Business Machines Corporation | System for annotating software windows |
JP3480958B2 (en) * | 1993-02-19 | 2003-12-22 | 富士通株式会社 | Character file access method |
JP3167484B2 (en) * | 1993-03-01 | 2001-05-21 | 富士通株式会社 | Sender system, receiver system and data transfer processing system |
US5696915A (en) * | 1993-03-03 | 1997-12-09 | Apple Computer, Inc. | Method and apparatus for linking routines for different contexts |
US5621878A (en) * | 1993-03-03 | 1997-04-15 | Apple Computer, Inc. | Method and apparatus or manipulating data from a suspended application program on a computer-controlled display system |
US5754178A (en) * | 1993-03-03 | 1998-05-19 | Apple Computer, Inc. | Method and apparatus for improved feedback during manipulation of data on a computer controlled display system |
US5598524A (en) * | 1993-03-03 | 1997-01-28 | Apple Computer, Inc. | Method and apparatus for improved manipulation of data between an application program and the files system on a computer-controlled display system |
US5530865A (en) * | 1993-03-03 | 1996-06-25 | Apple Computer, Inc. | Method and apparatus for improved application program switching on a computer-controlled display system |
US6212577B1 (en) | 1993-03-03 | 2001-04-03 | Apple Computer, Inc. | Method and apparatus for improved interaction with an application program according to data types and actions performed by the application program |
US5430872A (en) * | 1993-03-12 | 1995-07-04 | Asymetrix Corporation | Verifying multimedia linking for a multimedia presentation |
AU6390994A (en) * | 1993-04-05 | 1994-10-24 | Taligent, Inc. | Font selection system |
JP4017659B2 (en) * | 1993-04-05 | 2007-12-05 | オブジェクト テクノロジー ライセンシング コーポレイション | Text input font system |
US5969705A (en) * | 1993-06-28 | 1999-10-19 | Apple Computer, Inc. | Message protocol for controlling a user interface from an inactive application program |
KR0132749B1 (en) * | 1993-08-05 | 1998-04-24 | 가나이 쯔또무 | Icon menu display apparatus and icon menu display method |
US6279029B1 (en) * | 1993-10-12 | 2001-08-21 | Intel Corporation | Server/client architecture and method for multicasting on a computer network |
US5557724A (en) * | 1993-10-12 | 1996-09-17 | Intel Corporation | User interface, method, and apparatus selecting and playing channels having video, audio, and/or text streams |
US6606101B1 (en) * | 1993-10-25 | 2003-08-12 | Microsoft Corporation | Information pointers |
US5615326A (en) * | 1993-12-30 | 1997-03-25 | Taligent, Inc. | Object-oriented viewing framework having view grouping |
US5491783A (en) * | 1993-12-30 | 1996-02-13 | International Business Machines Corporation | Method and apparatus for facilitating integrated icon-based operations in a data processing system |
US5832219A (en) * | 1994-02-08 | 1998-11-03 | Object Technology Licensing Corp. | Distributed object networking service |
US5990888A (en) * | 1994-03-22 | 1999-11-23 | International Business Machines Corporation | Method and system for manipulating graphical objects |
CA2119921C (en) * | 1994-03-23 | 2009-09-29 | Sydney H. Belzberg | Computerized stock exchange trading system |
US5913032A (en) * | 1994-04-04 | 1999-06-15 | Inprise Corporation | System and methods for automatically distributing a particular shared data object through electronic mail |
US5799151A (en) * | 1994-04-04 | 1998-08-25 | Hoffer; Steven M. | Interactive electronic trade network and user interface |
JP3777196B2 (en) * | 1994-05-10 | 2006-05-24 | 富士通株式会社 | Communication control device for client / server system |
WO1995031771A1 (en) * | 1994-05-13 | 1995-11-23 | Apple Computer, Inc. | Support for custom user-interaction elements in a graphical, event-driven computer system |
US5680617A (en) * | 1994-05-16 | 1997-10-21 | Apple Computer, Inc. | Computer-human interface which provides for user customization of object behavior |
AU2551895A (en) * | 1994-05-16 | 1995-12-05 | Apple Computer, Inc. | Dialog item interface definition object |
US5479344A (en) * | 1994-05-26 | 1995-12-26 | Impact Technologies Group, Inc. | Insurance computation display |
US5694546A (en) | 1994-05-31 | 1997-12-02 | Reisman; Richard R. | System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list |
US5712987A (en) * | 1994-06-03 | 1998-01-27 | Ncr Corporation | Interface and associated bank customer database |
US5721831A (en) * | 1994-06-03 | 1998-02-24 | Ncr Corporation | Method and apparatus for recording results of marketing activity in a database of a bank, and for searching the recorded results |
US5581684A (en) * | 1994-08-01 | 1996-12-03 | Ddtec Sa | Application-external help system for a windowing user interface |
US5781915A (en) * | 1994-08-05 | 1998-07-14 | Canon Kabushiki Kaisha | Document processing apparatus that determines whether a document has been confirmed by another user |
US5592604A (en) * | 1994-08-31 | 1997-01-07 | International Business Machines Corporation | Method and system for indicating boundaries of connected data subsets |
US5659676A (en) * | 1994-09-20 | 1997-08-19 | International Business Machines Corporation | Systems and methods for creating and refreshing compound documents |
US5805886A (en) * | 1994-09-26 | 1998-09-08 | Intel Corporation | Method for notifying client applications of events in a shared application in a computer system |
US5619639A (en) * | 1994-10-04 | 1997-04-08 | Mast; Michael B. | Method and apparatus for associating an image display area with an application display area |
US5689651A (en) * | 1994-10-13 | 1997-11-18 | Lozman; Fane | System for processing and displaying financial information |
US5717989A (en) * | 1994-10-13 | 1998-02-10 | Full Service Trade System Ltd. | Full service trade system |
US5838906A (en) | 1994-10-17 | 1998-11-17 | The Regents Of The University Of California | Distributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document |
JP3014284B2 (en) * | 1994-10-25 | 2000-02-28 | インターナショナル・ビジネス・マシーンズ・コーポレイション | Dialog box display method and system |
US5579472A (en) * | 1994-11-09 | 1996-11-26 | Novalink Technologies, Inc. | Group-oriented communications user interface |
US8588729B2 (en) | 1994-11-21 | 2013-11-19 | Bgc Partners, Inc. | Method for retrieving data stored in a database |
US6876309B1 (en) | 1994-11-21 | 2005-04-05 | Espeed, Inc. | Bond trading system |
US6963859B2 (en) * | 1994-11-23 | 2005-11-08 | Contentguard Holdings, Inc. | Content rendering repository |
US5671342A (en) * | 1994-11-30 | 1997-09-23 | Intel Corporation | Method and apparatus for displaying information relating to a story and a story indicator in a computer system |
FR2727540B1 (en) * | 1994-11-30 | 1997-01-03 | Bull Sa | LOAD DISTRIBUTION ASSISTANCE TOOL FOR A DISTRIBUTED APPLICATION |
NZ513722A (en) * | 1994-12-02 | 2001-09-28 | British Telecomm | Communications terminal |
US5799157A (en) * | 1994-12-13 | 1998-08-25 | Elcom Systems, Inc. | System and method for creating interactive electronic systems to present information and execute transactions |
EP0806017A4 (en) * | 1994-12-13 | 2000-08-30 | Fs Holdings Inc | A system for receiving, processing, creating, storing and disseminating investment information |
JP3078215B2 (en) * | 1995-01-06 | 2000-08-21 | ミツビシ・エレクトリック・インフォメイション・テクノロジー・センター・アメリカ・インコーポレイテッド | Display device |
US5684990A (en) * | 1995-01-11 | 1997-11-04 | Puma Technology, Inc. | Synchronization of disparate databases |
US5694608A (en) * | 1995-01-27 | 1997-12-02 | Borland International, Inc. | Non-modal database system wth methods for incremental maintenance of live reports |
US5893125A (en) * | 1995-01-27 | 1999-04-06 | Borland International, Inc. | Non-modal database system with methods for incremental maintenance |
GB9502819D0 (en) * | 1995-02-14 | 1995-04-05 | At & T Global Inf Solution | Control systems |
EP0727728A1 (en) * | 1995-02-15 | 1996-08-21 | International Business Machines Corporation | Computer system power management |
US5758351A (en) * | 1995-03-01 | 1998-05-26 | Sterling Software, Inc. | System and method for the creation and use of surrogate information system objects |
US5649182A (en) * | 1995-03-17 | 1997-07-15 | Reitz; Carl A. | Apparatus and method for organizing timeline data |
GB2300991B (en) * | 1995-05-15 | 1997-11-05 | Andrew Macgregor Ritchie | Serving signals to browsing clients |
US5761684A (en) * | 1995-05-30 | 1998-06-02 | International Business Machines Corporation | Method and reusable object for scheduling script execution in a compound document |
US5943655A (en) * | 1995-06-06 | 1999-08-24 | Cummins-Allison Corp. | Cash settlement machine |
US6199082B1 (en) * | 1995-07-17 | 2001-03-06 | Microsoft Corporation | Method for delivering separate design and content in a multimedia publishing system |
US5860073A (en) * | 1995-07-17 | 1999-01-12 | Microsoft Corporation | Style sheets for publishing system |
US5721851A (en) * | 1995-07-31 | 1998-02-24 | International Business Machines Corporation | Transient link indicators in image maps |
JPH0962560A (en) * | 1995-08-30 | 1997-03-07 | Fuji Xerox Co Ltd | Database device |
US7130823B1 (en) | 1995-09-14 | 2006-10-31 | Citibank Aktiengesellschaft | Computer system for data management and method for operation of the system |
US5909539A (en) * | 1995-09-20 | 1999-06-01 | Casio Computer Co., Ltd. | Image generating system and method |
US5784562A (en) * | 1995-10-10 | 1998-07-21 | U S West Advanced Technologies, Inc. | System for using a dialog session context to process electronic forms data on the world wide web |
WO1997014108A1 (en) * | 1995-10-11 | 1997-04-17 | Block Financial Corporation | Financial information access system |
US5884323A (en) * | 1995-10-13 | 1999-03-16 | 3Com Corporation | Extendible method and apparatus for synchronizing files on two different computer systems |
US5873069A (en) * | 1995-10-13 | 1999-02-16 | American Tv & Appliance Of Madison, Inc. | System and method for automatic updating and display of retail prices |
US5727202A (en) | 1995-10-18 | 1998-03-10 | Palm Computing, Inc. | Method and apparatus for synchronizing information on two different computer systems |
JP2988394B2 (en) * | 1995-10-19 | 1999-12-13 | 日本電気株式会社 | Device and method for processing data base for variable length object and storage medium for storing data base processing program |
US5855014A (en) * | 1995-11-03 | 1998-12-29 | Application Partners, Inc. | Getfield function for a relational workgroup platform using keyword and workflow databases |
US5923846A (en) * | 1995-11-06 | 1999-07-13 | Microsoft Corporation | Method of uploading a message containing a file reference to a server and downloading a file from the server using the file reference |
US5911141A (en) * | 1995-11-07 | 1999-06-08 | International Business Machines Corporation | On-line hierarchical form records identification |
US5737555A (en) * | 1995-11-13 | 1998-04-07 | International Business Machines Corporation | Method for rapid repositioning of a display pointer in a preferred order |
US5778367A (en) * | 1995-12-14 | 1998-07-07 | Network Engineering Software, Inc. | Automated on-line information service and directory, particularly for the world wide web |
US5706442A (en) * | 1995-12-20 | 1998-01-06 | Block Financial Corporation | System for on-line financial services using distributed objects |
US5745115A (en) * | 1996-01-16 | 1998-04-28 | International Business Machines Corporation | Graphical user interface having a shared menu bar for opened applications |
US7082398B1 (en) * | 1996-01-16 | 2006-07-25 | The Nasdaq Stock Market, Inc. | Media wall for displaying financial information |
US5873084A (en) * | 1996-01-18 | 1999-02-16 | Sun Microsystems, Inc. | Database network connectivity product |
US5870605A (en) * | 1996-01-18 | 1999-02-09 | Sun Microsystems, Inc. | Middleware for enterprise information distribution |
US5823879A (en) | 1996-01-19 | 1998-10-20 | Sheldon F. Goldberg | Network gaming system |
US6264560B1 (en) | 1996-01-19 | 2001-07-24 | Sheldon F. Goldberg | Method and system for playing games on a network |
US9530150B2 (en) | 1996-01-19 | 2016-12-27 | Adcension, Llc | Compensation model for network services |
US7035914B1 (en) | 1996-01-26 | 2006-04-25 | Simpleair Holdings, Inc. | System and method for transmission of data |
US5838315A (en) * | 1996-02-01 | 1998-11-17 | Apple Computer, Inc. | Support for custom user-interaction elements in a graphical, event-driven computer system |
US6189030B1 (en) | 1996-02-21 | 2001-02-13 | Infoseek Corporation | Method and apparatus for redirection of server external hyper-link references |
US20040019610A1 (en) * | 1996-02-27 | 2004-01-29 | Burns Kevin S. | Portal information delivery system for personal computers and SOHO computer systems |
US5761507A (en) * | 1996-03-05 | 1998-06-02 | International Business Machines Corporation | Client/server architecture supporting concurrent servers within a server with a transaction manager providing server/connection decoupling |
EP0886964B2 (en) * | 1996-03-15 | 2011-01-05 | E Guide, Inc. | Method for displaying television programs and related text |
US5983237A (en) * | 1996-03-29 | 1999-11-09 | Virage, Inc. | Visual dictionary |
US6366930B1 (en) | 1996-04-12 | 2002-04-02 | Computer Associates Think, Inc. | Intelligent data inventory & asset management systems method and apparatus |
TW343317B (en) | 1996-05-01 | 1998-10-21 | Casio Computer Co Ltd | Document output apparatus |
US5819231A (en) * | 1996-05-01 | 1998-10-06 | Electronic Data Systems Corporation | Compensation planning tool and method |
US5870088A (en) * | 1996-05-09 | 1999-02-09 | National Instruments Corporation | System and method for editing a control via direct graphical user interaction |
US6515682B1 (en) * | 1996-05-09 | 2003-02-04 | National Instruments Corporation | System and method for editing a control utilizing a preview window to view changes made to the control |
US6542166B1 (en) * | 1996-05-09 | 2003-04-01 | National Instruments Corporation | System and method for editing a control |
CA2254944A1 (en) * | 1996-05-23 | 1997-11-27 | Citibank, N.A. | Global financial services integration system and process |
US5946696A (en) * | 1996-05-31 | 1999-08-31 | Microsoft Corporation | Object property lists |
US5918021A (en) | 1996-06-03 | 1999-06-29 | Intel Corporation | System and method for dynamic distribution of data packets through multiple channels |
US5802518A (en) * | 1996-06-04 | 1998-09-01 | Multex Systems, Inc. | Information delivery system and method |
US5881227A (en) * | 1996-06-17 | 1999-03-09 | International Business Machines Corporation | Use of daemons in a partitioned massively parallel processing system environment |
US5963950A (en) * | 1996-06-26 | 1999-10-05 | Sun Microsystems, Inc. | Method and system for facilitating access to selectable elements on a graphical user interface |
US5761678A (en) * | 1996-06-26 | 1998-06-02 | International Business Machines Corporation | Creation of clone storage area with identification of base storage area and deferred cloning of metadata |
US6100885A (en) * | 1996-07-06 | 2000-08-08 | International Business Machines Corporation | Supporting modification of properties via a computer system's user interface |
GB2315139A (en) * | 1996-07-06 | 1998-01-21 | Ibm | Selecting operations in an object-oriented user interface |
US5956728A (en) * | 1996-07-17 | 1999-09-21 | Next Software, Inc. | Object graph editing context and methods of use |
US6272332B1 (en) * | 1996-07-19 | 2001-08-07 | Pioneer Electronic Corporation | Information presentation system and portable telephone apparatus with information displaying function |
JP3378148B2 (en) * | 1996-07-24 | 2003-02-17 | 三菱電機株式会社 | Remote monitoring device |
US5987480A (en) * | 1996-07-25 | 1999-11-16 | Donohue; Michael | Method and system for delivering documents customized for a particular user over the internet using imbedded dynamic content |
FR2752468B1 (en) * | 1996-08-15 | 2006-08-04 | Schlumberger Services Petrol | INTEGRATED DATA COMMUNICATION AND DATA ACCESS SYSTEM INCLUDING THE APPLICATION DATA INTERFACE |
US5878430A (en) * | 1996-09-20 | 1999-03-02 | Allen-Bradley Company, Llc | Object attribute handler |
US5890175A (en) * | 1996-09-25 | 1999-03-30 | Wong; Garland | Dynamic generation and display of catalogs |
US6195647B1 (en) * | 1996-09-26 | 2001-02-27 | The Nasdaq Stock Market, Inc. | On-line transaction processing system for security trading |
US5892909A (en) * | 1996-09-27 | 1999-04-06 | Diffusion, Inc. | Intranet-based system with methods for co-active delivery of information to multiple users |
US6662205B1 (en) * | 1996-10-01 | 2003-12-09 | International Business Machines Corporation | Scaleable and extensible system management architecture with dataless endpoints |
JP3788832B2 (en) * | 1996-10-04 | 2006-06-21 | 株式会社東芝 | Compound computer system |
US5895472A (en) * | 1996-11-12 | 1999-04-20 | International Business Machines Corporation | Change and accounting log for object-oriented systems |
US6405218B1 (en) | 1996-11-13 | 2002-06-11 | Pumatech, Inc. | Synchronizing databases |
US6141664A (en) | 1996-11-13 | 2000-10-31 | Puma Technology, Inc. | Synchronization of databases with date range |
US7302446B1 (en) | 1996-11-13 | 2007-11-27 | Intellisync Corporation | Synchronizing databases |
US6330568B1 (en) | 1996-11-13 | 2001-12-11 | Pumatech, Inc. | Synchronization of databases |
US7013315B1 (en) | 1996-11-13 | 2006-03-14 | Intellisync Corporation | Synchronization of databases with record sanitizing and intelligent comparison |
US5943676A (en) | 1996-11-13 | 1999-08-24 | Puma Technology, Inc. | Synchronization of recurring records in incompatible databases |
US6044381A (en) * | 1997-09-11 | 2000-03-28 | Puma Technology, Inc. | Using distributed history files in synchronizing databases |
US6212529B1 (en) | 1996-11-13 | 2001-04-03 | Puma Technology, Inc. | Synchronization of databases using filters |
US5959621A (en) * | 1996-12-06 | 1999-09-28 | Microsoft Corporation | System and method for displaying data items in a ticker display pane on a client computer |
US6081818A (en) * | 1996-12-11 | 2000-06-27 | International Business Machines Corporation | Cut object dynamic display and method of displaying cut objects |
US6850907B2 (en) | 1996-12-13 | 2005-02-01 | Cantor Fitzgerald, L.P. | Automated price improvement protocol processor |
US5903562A (en) * | 1996-12-13 | 1999-05-11 | Hewlett-Packard Company | Multicasting employing publication title to create numeric destination address for computer network system frame |
US5905974A (en) * | 1996-12-13 | 1999-05-18 | Cantor Fitzgerald Securities | Automated auction protocol processor |
JPH10240818A (en) * | 1996-12-26 | 1998-09-11 | Canon Inc | Information processor and its method |
US6401112B1 (en) | 1997-01-29 | 2002-06-04 | Palm, Inc. | Method and apparatus for synchronizing an Email client on a portable computer system with an Email client on a desktop computer |
US7206815B1 (en) | 1997-01-29 | 2007-04-17 | Palmsource Inc. | Method and apparatus for synchronizing an email client on a portable computer system with an email client on a desktop computer |
US6006274A (en) * | 1997-01-30 | 1999-12-21 | 3Com Corporation | Method and apparatus using a pass through personal computer connected to both a local communication link and a computer network for indentifying and synchronizing a preferred computer with a portable computer |
CA2285253A1 (en) * | 1997-04-04 | 1998-10-15 | Imtech, Inc. | Media wall for displaying financial information |
AU749431B2 (en) * | 1997-04-09 | 2002-06-27 | Next Information Technology Co. Ltd. | Method for automatically formatting a document according to data object type |
US6434542B1 (en) * | 1997-04-17 | 2002-08-13 | Smithkline Beecham Corporation | Statistical deconvoluting of mixtures |
US7155701B1 (en) * | 1997-05-30 | 2006-12-26 | Oracle Corporation | System for dynamically constructing an executable computer program |
FR2765368A1 (en) * | 1997-06-30 | 1998-12-31 | Pitvox Sat | SYSTEM FOR TRACKING FINANCIAL PARAMETERS OF A STOCK MARKET |
US6347299B1 (en) * | 1997-07-31 | 2002-02-12 | Ncr Corporation | System for navigation and editing of electronic records through speech and audio |
US7080385B1 (en) * | 1997-08-18 | 2006-07-18 | Tibco Software Inc. | Certified message delivery and queuing in multipoint publish/subscribe communications |
US6070175A (en) * | 1997-08-26 | 2000-05-30 | The United States As Represented By The Director The National Security Agency | Method of file editing using framemaker enhanced by application programming interface clients |
US7222087B1 (en) | 1997-09-12 | 2007-05-22 | Amazon.Com, Inc. | Method and system for placing a purchase order via a communications network |
US5960411A (en) | 1997-09-12 | 1999-09-28 | Amazon.Com, Inc. | Method and system for placing a purchase order via a communications network |
NL1007124C2 (en) * | 1997-09-26 | 1999-03-29 | Sat Investment Consultancy B V | System to display changes in value of variables, e.g. share prices |
US6691118B1 (en) | 1997-10-31 | 2004-02-10 | Oracle International Corporation | Context management system for modular software architecture |
US6062862A (en) * | 1997-11-12 | 2000-05-16 | Koskinen; Robin S. | Financial services product training apparatus and method related thereto |
US6527556B1 (en) | 1997-11-12 | 2003-03-04 | Intellishare, Llc | Method and system for creating an integrated learning environment with a pattern-generator and course-outlining tool for content authoring, an interactive learning tool, and related administrative tools |
AU1586299A (en) * | 1997-11-14 | 1999-06-07 | Avesta Technologies, Inc. | System and method for displaying multiple sources of data in near real-time |
US6085199A (en) * | 1997-11-24 | 2000-07-04 | International Business Machines Corporation | Method for distributing a file in a plurality of different file formats |
US6205448B1 (en) * | 1998-01-30 | 2001-03-20 | 3Com Corporation | Method and apparatus of synchronizing two computer systems supporting multiple synchronization techniques |
US20020059294A1 (en) * | 1998-01-30 | 2002-05-16 | Sandro Bottarelli | Method and apparatus for elaborating and representing data analysis in a decision support system |
AU2830299A (en) * | 1998-01-30 | 1999-08-16 | Brainpower Sa | Method for elaborating and representing data analysis in a decision support system |
US6462758B1 (en) * | 1998-02-09 | 2002-10-08 | Reuters, Ltd. | Display method for time-ordered dynamic lists of data |
US6034686A (en) * | 1998-03-09 | 2000-03-07 | 3Com Corporation | Collapsing event display for small screen computer |
US6925477B1 (en) | 1998-03-31 | 2005-08-02 | Intellisync Corporation | Transferring records between two databases |
US20040049452A1 (en) * | 2002-09-09 | 2004-03-11 | First Data Corporation | Multiple credit line presentation instrument |
US7076465B1 (en) * | 1998-04-24 | 2006-07-11 | First Data Corporation | Methods for processing a group of accounts corresponding to different products |
US20030171992A1 (en) * | 1999-04-23 | 2003-09-11 | First Data Corporation | System and methods for redeeming rewards associated with accounts |
US7050996B1 (en) * | 1998-04-24 | 2006-05-23 | First Data Corporation | Method for linking accounts corresponding to different products together to create a group |
US20020198806A1 (en) * | 1998-04-24 | 2002-12-26 | First Data Corporation | Systems and methods for accessing and modifying usage parameters associated with a financial transaction account |
US7069243B2 (en) * | 1998-05-29 | 2006-06-27 | Dinwoodie David L | Interactive remote auction bidding system |
US6415269B1 (en) * | 1998-05-29 | 2002-07-02 | Bidcatcher, L.P. | Interactive remote auction bidding system |
US20070078978A1 (en) * | 1998-06-01 | 2007-04-05 | Sri International | Method and apparatus for updating information in a low-bandwidth client/server object-oriented system |
US6263360B1 (en) * | 1998-06-01 | 2001-07-17 | Sri International | System uses filter tree and feed handler for updating objects in a client from a server object list |
US6204855B1 (en) * | 1998-06-19 | 2001-03-20 | Intel Corporation | Computer system for interpolating a value for a pixel |
AU5335299A (en) * | 1998-08-03 | 2000-02-28 | Harvest Technology, Inc. | Dynamic flow-through context switching of investment data into multiple investment tools |
US6731309B1 (en) | 1998-08-28 | 2004-05-04 | Corel Corporation | Real time preview |
US6266682B1 (en) | 1998-08-31 | 2001-07-24 | Xerox Corporation | Tagging related files in a document management system |
US6562076B2 (en) * | 1998-08-31 | 2003-05-13 | Xerox Corporation | Extending application behavior through active properties attached to a document in a document management system |
US6338067B1 (en) * | 1998-09-01 | 2002-01-08 | Sector Data, Llc. | Product/service hierarchy database for market competition and investment analysis |
US6278449B1 (en) * | 1998-09-03 | 2001-08-21 | Sony Corporation | Apparatus and method for designating information to be retrieved over a computer network |
US6510426B1 (en) | 1998-09-30 | 2003-01-21 | International Business Machines Corporation | Method and apparatus for compacting a metadatas stream in a data processing system |
US6356355B1 (en) * | 1998-09-30 | 2002-03-12 | International Business Machines Corporation | Method and apparatus in a data processing system for generating metadata streams with per page data |
US6574239B1 (en) * | 1998-10-07 | 2003-06-03 | Eric Morgan Dowling | Virtual connection of a remote unit to a server |
EP0993145A1 (en) * | 1998-10-08 | 2000-04-12 | International Business Machines Corporation | System for broadcasting alarm messages to selected users of an IP network |
US7136919B1 (en) | 1998-10-08 | 2006-11-14 | International Business Machines Corporation | Method and system for broadcasting alarm messages to selected users of an IP network |
WO2000022551A1 (en) | 1998-10-13 | 2000-04-20 | Chris Cheah | Method and system for controlled distribution of information over a network |
US7003546B1 (en) | 1998-10-13 | 2006-02-21 | Chris Cheah | Method and system for controlled distribution of contact information over a network |
US6286007B1 (en) * | 1998-10-13 | 2001-09-04 | International Business Machines Corporation | Method and system for efficiently storing and viewing data in a database |
US6489954B1 (en) * | 1998-10-13 | 2002-12-03 | Prophet Financial Systems, Inc. | System and method for permitting a software routine having restricted local access to utilize remote resources to generate locally usable data structure |
US6310632B1 (en) | 1998-10-19 | 2001-10-30 | International Business Machines Corporation | System and method for a graphical user interface including buddy dialogs |
NZ512154A (en) * | 1998-11-02 | 2003-03-28 | Etour Inc | System and method for automated web site launching based on user-defined preferences |
US6253367B1 (en) * | 1998-11-18 | 2001-06-26 | Micrografx, Inc. | Method and system for transforming dynamic content for use on the internet |
US6295538B1 (en) | 1998-12-03 | 2001-09-25 | International Business Machines Corporation | Method and apparatus for creating metadata streams with embedded device information |
US6173268B1 (en) * | 1998-12-04 | 2001-01-09 | Ncr Corporation | Method of displaying temporary information by an electronic price label |
US7007003B1 (en) | 1998-12-04 | 2006-02-28 | Intellisync Corporation | Notification protocol for establishing synchronization mode for use in synchronizing databases |
US6931392B1 (en) * | 1998-12-07 | 2005-08-16 | Vitria Technology, Inc. | Real-time decision support system |
US7225229B1 (en) * | 1998-12-18 | 2007-05-29 | Tangis Corporation | Automated pushing of computer user's context data to clients |
US20030005428A1 (en) * | 2001-05-26 | 2003-01-02 | Roman Kendyl A. | Global media exchange |
US20080250458A1 (en) * | 1998-12-21 | 2008-10-09 | Roman Kendyl A | Media exchange for handheld wireless receivers and other media user devices |
US8068544B2 (en) | 1998-12-21 | 2011-11-29 | Zin Stai Pte. In, Llc | Compression with doppler enhancement |
US8416847B2 (en) * | 1998-12-21 | 2013-04-09 | Zin Stai Pte. In, Llc | Separate plane compression using plurality of compression methods including ZLN and ZLD methods |
US7671864B2 (en) * | 2000-01-14 | 2010-03-02 | Roman Kendyl A | Faster image processing |
US8170095B2 (en) * | 1998-12-21 | 2012-05-01 | Zin Stai Pte. In, Llc | Faster image processing |
US7233619B1 (en) * | 1998-12-21 | 2007-06-19 | Roman Kendyl A | Variable general purpose compression for video images (ZLN) |
US8290034B2 (en) * | 1998-12-21 | 2012-10-16 | Zin Stai Pte. In, Llc | Video transmission and display including bit-wise sub-sampling video compression |
JP2000207266A (en) * | 1999-01-13 | 2000-07-28 | Mitsubishi Electric Corp | Replica system and replica method |
US6442589B1 (en) | 1999-01-14 | 2002-08-27 | Fujitsu Limited | Method and system for sorting and forwarding electronic messages and other data |
US7966078B2 (en) | 1999-02-01 | 2011-06-21 | Steven Hoffberg | Network media appliance system and method |
FR2789201B1 (en) * | 1999-02-03 | 2001-11-16 | Banque Cortal | SYSTEM FOR EVALUATING THE PERFORMANCE OF AT LEAST ONE FINANCIAL INVESTMENT VALUE |
US6201884B1 (en) * | 1999-02-16 | 2001-03-13 | Schlumberger Technology Corporation | Apparatus and method for trend analysis in graphical information involving spatial data |
US6405204B1 (en) * | 1999-03-02 | 2002-06-11 | Sector Data, Llc | Alerts by sector/news alerts |
US6370282B1 (en) * | 1999-03-03 | 2002-04-09 | Flashpoint Technology, Inc. | Method and system for advanced text editing in a portable digital electronic device using a button interface |
GB2348351B (en) * | 1999-03-25 | 2003-08-20 | Independent Economic Analysis | Financial market data analysis systems |
US8479251B2 (en) | 1999-03-31 | 2013-07-02 | Microsoft Corporation | System and method for synchronizing streaming content with enhancing content using pre-announced triggers |
US6993504B1 (en) | 1999-04-09 | 2006-01-31 | Trading Technologies International, Inc. | User interface for semi-fungible trading |
US7212999B2 (en) * | 1999-04-09 | 2007-05-01 | Trading Technologies International, Inc. | User interface for an electronic trading system |
US8036941B2 (en) * | 2000-03-21 | 2011-10-11 | Bennett James D | Online purchasing system supporting lenders with affordability screening |
US7542922B2 (en) * | 2000-03-21 | 2009-06-02 | Bennett James D | Online purchasing system supporting sellers with affordability screening |
US7539628B2 (en) | 2000-03-21 | 2009-05-26 | Bennett James D | Online purchasing system supporting buyer affordability screening |
US20030212620A1 (en) * | 1999-04-23 | 2003-11-13 | First Data Corporation | Systems and methods for authorizing transactions |
WO2000065502A2 (en) * | 1999-04-23 | 2000-11-02 | First Data Resources Inc. | Methods for processing a group of accounts corresponding to different products |
US20070055628A1 (en) * | 1999-04-23 | 2007-03-08 | First Data Corporation | Authorizing transactions associated with accounts |
EP1049278A1 (en) * | 1999-04-30 | 2000-11-02 | Sony International (Europe) GmbH | Broadcast API - an application programming interface for accessing information services provided by a broadcast system |
US7392214B1 (en) * | 1999-04-30 | 2008-06-24 | Bgc Partners, Inc. | Systems and methods for trading |
US9262383B2 (en) | 1999-05-21 | 2016-02-16 | E-Numerate Solutions, Inc. | System, method, and computer program product for processing a markup document |
US9268748B2 (en) | 1999-05-21 | 2016-02-23 | E-Numerate Solutions, Inc. | System, method, and computer program product for outputting markup language documents |
US7421648B1 (en) | 1999-05-21 | 2008-09-02 | E-Numerate Solutions, Inc. | Reusable data markup language |
US6920608B1 (en) * | 1999-05-21 | 2005-07-19 | E Numerate Solutions, Inc. | Chart view for reusable data markup language |
US9262384B2 (en) | 1999-05-21 | 2016-02-16 | E-Numerate Solutions, Inc. | Markup language system, method, and computer program product |
US7249328B1 (en) * | 1999-05-21 | 2007-07-24 | E-Numerate Solutions, Inc. | Tree view for reusable data markup language |
US6590577B1 (en) | 1999-05-27 | 2003-07-08 | International Business Machines Corporation | System and method for controlling a dynamic display of data relationships between static charts |
US6417855B1 (en) | 1999-05-27 | 2002-07-09 | International Business Machines Corporation | System and method for utilizing thresholds during a dynamic display of data relationships between static charts |
US6360272B1 (en) * | 1999-05-28 | 2002-03-19 | Palm, Inc. | Method and apparatus for maintaining a unified view of multiple mailboxes |
US6438543B1 (en) * | 1999-06-17 | 2002-08-20 | International Business Machines Corporation | System and method for cross-document coreference |
US7082410B1 (en) * | 1999-07-02 | 2006-07-25 | The Nasdaq Stock Market, Inc. | Line handler |
US6415298B1 (en) * | 1999-07-15 | 2002-07-02 | American Management Systems, Inc. | Effective dated tree control in a component based-object oriented convergent customer care and billing system |
JP3347100B2 (en) * | 1999-07-30 | 2002-11-20 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Display information determination method and apparatus, storage medium storing software product for display information determination |
US6405192B1 (en) * | 1999-07-30 | 2002-06-11 | International Business Machines Corporation | Navigation assistant-method and apparatus for providing user configured complementary information for data browsing in a viewer context |
EP1198924A1 (en) * | 1999-08-02 | 2002-04-24 | Telewest Communications Plc. | Broadcast system and method |
US8464302B1 (en) | 1999-08-03 | 2013-06-11 | Videoshare, Llc | Method and system for sharing video with advertisements over a network |
US7882426B1 (en) * | 1999-08-09 | 2011-02-01 | Cognex Corporation | Conditional cell execution in electronic spreadsheets |
US7013428B1 (en) | 1999-09-03 | 2006-03-14 | Yakov Kamen | Use of templates for cost-effective secure linking of video stream objects |
US6229541B1 (en) * | 1999-09-03 | 2001-05-08 | Isurftv | Use of templates for cost-effective secure linking of video stream objects |
US6304854B1 (en) | 1999-09-09 | 2001-10-16 | Dunhill Holdings, Corp. | System and method for providing a comparable branded product based on a current branded product for non-comparison shopped products |
US7251629B1 (en) | 1999-10-14 | 2007-07-31 | Edge Capture, Llc | Automated trading system in an electronic trading exchange |
US6817289B1 (en) * | 1999-11-15 | 2004-11-16 | Gateway, Inc. | Method and apparatus for modifying and controlling print information |
WO2001039011A2 (en) * | 1999-11-24 | 2001-05-31 | Visual Data Corporation | Method for manipulating a live audio media stream |
US7934251B2 (en) * | 1999-12-02 | 2011-04-26 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
WO2001040894A2 (en) * | 1999-12-03 | 2001-06-07 | Farms.Com, Ltd | Computerized system and method for conducting an online virtual auction |
US6704883B1 (en) | 1999-12-22 | 2004-03-09 | Cisco Systems, Inc. | Event-enabled distributed testing system |
CA2293068C (en) | 1999-12-22 | 2008-01-15 | Ibm Canada Limited-Ibm Canada Limitee | System and method for managing messages and annotations presented in a user interface |
US7356498B2 (en) | 1999-12-30 | 2008-04-08 | Chicago Board Options Exchange, Incorporated | Automated trading exchange system having integrated quote risk monitoring and integrated quote modification services |
US9727916B1 (en) | 1999-12-30 | 2017-08-08 | Chicago Board Options Exchange, Incorporated | Automated trading exchange system having integrated quote risk monitoring and integrated quote modification services |
US6996612B1 (en) | 1999-12-30 | 2006-02-07 | Vignette Corporation | Method of providing information related to activity of a user and a data processing system program product |
SG97839A1 (en) * | 2000-01-28 | 2003-08-20 | Pi Eta Consulting Company Pte | Fully flexible financial instrument pricing system with intelligent user interfaces |
EP1122661A1 (en) * | 2000-01-31 | 2001-08-08 | Brainpower S.A. | Improvements relating to data distribution |
US7305617B2 (en) * | 2000-02-12 | 2007-12-04 | Adobe Systems Incorporated | Method for aligning text to baseline grids and to CJK character grids |
WO2001059576A1 (en) * | 2000-02-12 | 2001-08-16 | Adobe Systems Incorporated | Text grid creation tools |
US6886005B2 (en) * | 2000-02-17 | 2005-04-26 | E-Numerate Solutions, Inc. | RDL search engine |
US7447655B2 (en) * | 2000-03-02 | 2008-11-04 | Trading Technologies International, Inc. | System and method for automatic scalping of a tradeable object in an electronic trading environment |
US7389268B1 (en) * | 2000-03-02 | 2008-06-17 | Trading Technologies International, Inc. | Trading tools for electronic trading |
US7127424B2 (en) | 2000-03-02 | 2006-10-24 | Trading Technologies International, Inc. | Click based trading with intuitive grid display of market depth and price consolidation |
US6772132B1 (en) | 2000-03-02 | 2004-08-03 | Trading Technologies International, Inc. | Click based trading with intuitive grid display of market depth |
US6938011B1 (en) | 2000-03-02 | 2005-08-30 | Trading Technologies International, Inc. | Click based trading with market depth display |
WO2001067264A1 (en) * | 2000-03-08 | 2001-09-13 | Streamcenter, Inc. | Apparatus and method for predictable and differentiated delivery of multimedia streaming on the internet |
WO2001067772A2 (en) | 2000-03-09 | 2001-09-13 | Videoshare, Inc. | Sharing a streaming video |
BR0109145A (en) * | 2000-03-10 | 2003-04-22 | Siemens Dematic Electronics As | Electronic assembly engineering system that employs naming and manipulation functions for user-defined data structures in a data system using a transaction service. |
GB2360184B (en) * | 2000-03-11 | 2004-06-02 | Practical Software Ltd | Graphic displays |
US20020198996A1 (en) * | 2000-03-16 | 2002-12-26 | Padmanabhan Sreenivasan | Flexible failover policies in high availability computing systems |
US7333951B1 (en) * | 2000-03-20 | 2008-02-19 | Charles Schwab & Co. | Method and system for building and maintenance watch lists |
US8504438B2 (en) | 2000-03-21 | 2013-08-06 | James D. Bennett | Online purchasing system supporting lenders with affordability screening |
WO2001075714A1 (en) * | 2000-03-30 | 2001-10-11 | Sony Corporation | Donation processing system |
US6963855B1 (en) | 2000-04-10 | 2005-11-08 | Alexander Borzenko | Apparatus and method for automated display of market activity |
US7877766B1 (en) | 2000-05-04 | 2011-01-25 | Enreach Technology, Inc. | Method and system of providing a non-skippable sub-advertisement stream |
US7747486B1 (en) * | 2000-05-08 | 2010-06-29 | James Kemp Smith | Financial analysis system interface |
KR20010103277A (en) * | 2000-05-09 | 2001-11-23 | 김도영 | A variable real-time message transmission system |
US6327628B1 (en) * | 2000-05-19 | 2001-12-04 | Epicentric, Inc. | Portal server that provides a customizable user Interface for access to computer networks |
US7127422B1 (en) | 2000-05-19 | 2006-10-24 | Etp Holdings, Inc. | Latency monitor |
WO2001090925A2 (en) | 2000-05-25 | 2001-11-29 | Tradescape Technologies, L.L.C. | Solutions server |
US6865574B1 (en) * | 2000-06-02 | 2005-03-08 | Vignette Corporation | Method for client-side personalization |
US7251687B1 (en) | 2000-06-02 | 2007-07-31 | Vignette Corporation | Method for click-stream analysis using web directory reverse categorization |
US7860969B2 (en) * | 2000-06-02 | 2010-12-28 | Vignette Software Llc | Method for continuous, frame-specific click-stream recording |
US7155506B1 (en) | 2000-06-02 | 2006-12-26 | Vignette Corporation | Method for continous, frame-specific click-stream recording |
US7437325B2 (en) * | 2002-03-05 | 2008-10-14 | Pablo Llc | System and method for performing automatic spread trading |
US7475361B2 (en) * | 2000-06-19 | 2009-01-06 | Brother Kogyo Kabushiki Kaisha | Data processing device, data processing method, and storage medium |
KR20000059022A (en) * | 2000-07-10 | 2000-10-05 | 문병창 | Method and System of merchandise cashing and merchandise auction On Line agency |
KR20000059023A (en) * | 2000-07-10 | 2000-10-05 | 문병창 | Method and System of Meat an Index Number On Line Auction |
AU2001277868A1 (en) * | 2000-07-11 | 2002-01-21 | Juice Software, Inc. | A method and system for integrating network-based functionality into productivity applications and documents |
US7313588B1 (en) * | 2000-07-13 | 2007-12-25 | Biap Systems, Inc. | Locally executing software agent for retrieving remote content and method for creation and use of the agent |
US7925566B1 (en) * | 2000-07-17 | 2011-04-12 | Ubs Financial Services, Inc. | System and method for trading fixed income financial instruments |
US7177833B1 (en) | 2000-07-18 | 2007-02-13 | Edge Capture, Llc | Automated trading system in an electronic trading exchange |
US6532460B1 (en) | 2000-07-19 | 2003-03-11 | Irfan Amanat | Method and apparatus for automated cancellation of orders for securities |
US6766362B1 (en) * | 2000-07-28 | 2004-07-20 | Seiko Epson Corporation | Providing a network-based personalized newspaper with personalized content and layout |
US6934933B2 (en) * | 2000-08-14 | 2005-08-23 | Twin Communications Of America, Inc. | Portable operating environment for information devices |
US7278105B1 (en) | 2000-08-21 | 2007-10-02 | Vignette Corporation | Visualization and analysis of user clickpaths |
US7660869B1 (en) * | 2000-08-21 | 2010-02-09 | Vignette Software, LLC | Network real estate analysis |
US7130824B1 (en) | 2000-08-21 | 2006-10-31 | Etp Holdings, Inc. | Apparatus and method for load balancing among data communications ports in automated securities trading systems |
EP1191466A1 (en) * | 2000-08-21 | 2002-03-27 | ByteWorx GmbH | Configurable interactive chart application |
US7409366B1 (en) | 2000-08-22 | 2008-08-05 | Etp Holdings, Inc. | Apparatus and method for adding liquidity to an ECN and improving executions of orders for securities |
JP2002157238A (en) * | 2000-09-06 | 2002-05-31 | Seiko Epson Corp | Browsing information preparing system, digital contents preparing system, digital contents distributing system and digital contents preparing program |
WO2002021289A1 (en) * | 2000-09-08 | 2002-03-14 | Worldcom, Inc. | Method and apparatus for adaptive filter graphing in a communication system |
US7694218B2 (en) * | 2000-09-13 | 2010-04-06 | Canon Kabushiki Kaisha | Information processing apparatus, method therefor, and computer-readable memory |
US7970686B1 (en) | 2000-09-15 | 2011-06-28 | Citigroup Global Markets, Inc. | System and method of interfacing for client application programs to access a data management system |
SG10201403261YA (en) * | 2000-10-06 | 2014-08-28 | Trading Technologies Int Inc | Trading with display of market depth and price |
US20020042720A1 (en) * | 2000-10-09 | 2002-04-11 | Lawrence Taylor | System and method of displaying comparative advertising on the internet |
US7330830B1 (en) | 2000-10-25 | 2008-02-12 | Thomson Financial Inc. | Distributed commerce system |
US7287089B1 (en) | 2000-10-25 | 2007-10-23 | Thomson Financial Inc. | Electronic commerce infrastructure system |
US7305360B1 (en) | 2000-10-25 | 2007-12-04 | Thomson Financial Inc. | Electronic sales system |
US6738770B2 (en) | 2000-11-04 | 2004-05-18 | Deep Sky Software, Inc. | System and method for filtering and sorting data |
US7242669B2 (en) * | 2000-12-04 | 2007-07-10 | E*Trade Financial Corporation | Method and system for multi-path routing of electronic orders for securities |
SG114481A1 (en) * | 2000-12-06 | 2005-09-28 | Netrobust Pte Ltd | Real-time financial charting system |
US7287230B2 (en) * | 2000-12-13 | 2007-10-23 | National Instruments Corporation | Configuring a GUI element to subscribe to data |
US6971065B2 (en) * | 2000-12-13 | 2005-11-29 | National Instruments Corporation | Automatically configuring a graphical program to publish or subscribe to data |
US7134085B2 (en) * | 2000-12-13 | 2006-11-07 | National Instruments Corporation | System and method for automatically configuring program data exchange |
US6892377B1 (en) | 2000-12-21 | 2005-05-10 | Vignette Corporation | Method and system for platform-independent file system interaction |
US7194506B1 (en) | 2000-12-21 | 2007-03-20 | Vignette Corporation | Method and system for cache management of locale-sensitive content |
US6850941B1 (en) | 2000-12-21 | 2005-02-01 | Vignette Corporation | Method and system for native-byte form handling |
US7222296B2 (en) * | 2001-01-17 | 2007-05-22 | International Business Machines Corporation | Configurable display of web site content |
US9600842B2 (en) | 2001-01-24 | 2017-03-21 | E-Numerate Solutions, Inc. | RDX enhancement of system and method for implementing reusable data markup language (RDL) |
WO2002059815A1 (en) * | 2001-01-24 | 2002-08-01 | Compudigm International Limited | Trading data visualisation system and method |
US20020147673A1 (en) * | 2001-01-31 | 2002-10-10 | International Business Machines Corporation | Transaction status messaging |
US20020109723A1 (en) * | 2001-02-12 | 2002-08-15 | Hong Yang | Method and system for displaying text in a fixed-sized information box on a viewing screen |
US7904358B2 (en) * | 2001-02-28 | 2011-03-08 | Goldman Sachs & Co. | Computerized interface for monitoring financial information and executing financial transactions |
US20030115598A1 (en) * | 2001-03-23 | 2003-06-19 | Pantoja William E. | System and method for interactively producing a web-based multimedia presentation |
US20020165755A1 (en) * | 2001-03-29 | 2002-11-07 | Kitts Brendan J. | Method of predicting behavior of a customer at a future date and a data processing system readable medium |
US20020147847A1 (en) * | 2001-04-09 | 2002-10-10 | Sun Microsystems, Inc. | System and method for remotely collecting and displaying data |
US20080262955A1 (en) * | 2001-04-16 | 2008-10-23 | Erdmier Lisa M | Apparatus to Facilitate Multi-Dimensional Representation of Financial Data |
US20020194114A1 (en) * | 2001-04-16 | 2002-12-19 | Erdmier Lisa M. | Multi-dimensional representation of financial data |
US7359920B1 (en) | 2001-04-18 | 2008-04-15 | Intellisync Corporation | Communication protocol for synchronization of personal information management databases |
FR2824214B1 (en) * | 2001-04-26 | 2003-08-01 | Savoirweb | IMPROVED DATA MANAGEMENT SERVER BETWEEN A NETWORK AND USER TERMINALS, AND ASSOCIATED DATA PROCESSING DEVICE AND METHOD |
US7392217B2 (en) | 2001-05-09 | 2008-06-24 | Bgc Partners, Inc. | Systems and methods for controlling traders from manipulating electronic trading markets |
US20020186257A1 (en) * | 2001-06-08 | 2002-12-12 | Cadiz Jonathan J. | System and process for providing dynamic communication access and information awareness in an interactive peripheral display |
US7185290B2 (en) * | 2001-06-08 | 2007-02-27 | Microsoft Corporation | User interface for a system and process for providing dynamic communication access and information awareness in an interactive peripheral display |
US7243083B2 (en) | 2001-06-14 | 2007-07-10 | Trading Technologies International, Inc. | Electronic spread trading tool |
US7110525B1 (en) | 2001-06-25 | 2006-09-19 | Toby Heller | Agent training sensitive call routing system |
US7197474B1 (en) | 2001-07-12 | 2007-03-27 | Vignette Corporation | Method of modeling product demand subject to a large number of interactions |
US7664695B2 (en) * | 2001-07-24 | 2010-02-16 | Stephen Cutler | Securities market and market maker activity tracking system and method |
WO2003017175A1 (en) * | 2001-08-14 | 2003-02-27 | Bloomberg Lp | Distribution and mapping of financial records from data stream |
US8307045B1 (en) | 2001-08-22 | 2012-11-06 | Open Text S.A. | System and method for creating target-specific data conversion templates using a master style template |
US7650296B1 (en) | 2001-08-31 | 2010-01-19 | Siebel Systems, Inc. | Configurator using structure and rules to provide a user interface |
US7580871B2 (en) * | 2001-08-31 | 2009-08-25 | Siebel Systems, Inc. | Method to generate a customizable product configurator |
US7552136B2 (en) * | 2001-10-31 | 2009-06-23 | International Business Machines Corporation | Context management super tools and filter/sort model for aggregated display webpages |
US9189467B1 (en) * | 2001-11-07 | 2015-11-17 | Apple Inc. | Method and apparatus for annotating an electronic document |
US20030110106A1 (en) * | 2001-12-10 | 2003-06-12 | Sanjay Deshpande | System and method for enabling content providers in a financial services organization to self-publish content |
US20030112269A1 (en) * | 2001-12-17 | 2003-06-19 | International Business Machines Corporation | Configurable graphical element for monitoring dynamic properties of a resource coupled to a computing environment |
US7017151B1 (en) * | 2001-12-26 | 2006-03-21 | Bellsouth Intellectual Property Corp. | System and method for real-time applications modification |
WO2003065258A2 (en) * | 2002-01-29 | 2003-08-07 | Andrey Duka | Method of processing, displaying and trading financial instruments and an electronic trading system therefor |
JP3933955B2 (en) * | 2002-02-19 | 2007-06-20 | 株式会社日立製作所 | In-vehicle device |
US20040177004A1 (en) * | 2002-03-29 | 2004-09-09 | Mueller Raymond J. | Digital advertisement board in communication with point-of-sale terminals |
US7841514B2 (en) * | 2002-03-29 | 2010-11-30 | Walker Digital, Llc | Digital advertisement board in communication with point-of-sale terminals |
US7010759B2 (en) * | 2002-04-05 | 2006-03-07 | U-Tech Enviromental Manufacturing Supply, Inc. | Method for real time display of maintenance device location in an internal space |
AU2003228606C1 (en) * | 2002-04-19 | 2014-08-21 | Trading Technologies International, Inc. | Trading tools for electronic trading |
CA3156995A1 (en) * | 2002-04-19 | 2003-10-30 | Trading Technologies International, Inc. | Trading tools for electronic trading |
US20030204567A1 (en) * | 2002-04-26 | 2003-10-30 | International Business Machines Corporation | System and method for creating e-mail object attributes |
US20030214070A1 (en) * | 2002-05-08 | 2003-11-20 | General Electric Company | Multiwall polycarbonate sheet and method for its production |
KR20030087329A (en) * | 2002-05-08 | 2003-11-14 | 삼성전기주식회사 | Display method in detection system of magnetic permeability for coil |
US7640548B1 (en) | 2002-06-21 | 2009-12-29 | Siebel Systems, Inc. | Task based user interface |
US7685049B1 (en) * | 2002-06-26 | 2010-03-23 | Trading Technologies International Inc. | System and method for coalescing market data at a client device |
US20040019543A1 (en) * | 2002-07-25 | 2004-01-29 | First Data Corporation | Systems and methods for non-account based liability reporting |
US20040216036A1 (en) * | 2002-09-13 | 2004-10-28 | Yahoo! Inc. | Browser user interface |
US7739604B1 (en) | 2002-09-25 | 2010-06-15 | Apple Inc. | Method and apparatus for managing windows |
US7620584B2 (en) * | 2002-09-27 | 2009-11-17 | Jpmorgan Chase Bank, National Association | System and method for online trading using an electronic spreadsheet |
TWI300195B (en) * | 2002-10-04 | 2008-08-21 | Hon Hai Prec Ind Co Ltd | System and method for ayalyzing prices of materials |
US8566212B2 (en) | 2002-10-31 | 2013-10-22 | Bgc Partners, Inc. | Electronic systems and methods for providing a trading interface with advanced features |
EP1416363A3 (en) | 2002-10-31 | 2006-07-26 | eSpeed, Inc. | Keyboard for trading system |
US20040093390A1 (en) * | 2002-11-12 | 2004-05-13 | Matthias Oberdorfer | Connected memory management |
US7113190B2 (en) * | 2002-11-27 | 2006-09-26 | Espeed, Inc. | Systems and methods for providing an interactive graphical representation of a market for an electronic trading system |
US8380611B2 (en) | 2002-11-27 | 2013-02-19 | Bgc Partners, Inc. | Graphical order entry user interface for trading system |
KR100437125B1 (en) * | 2002-12-11 | 2004-06-22 | 주식회사 마켓포인트 | An investment information providing system of which working display may be set by a user, and a method thereof |
US7058657B1 (en) * | 2003-01-07 | 2006-06-06 | Perlegen Sciences, Inc. | Architecture for developing and reusing analytic and visualization components and methods of use thereof |
US9818136B1 (en) | 2003-02-05 | 2017-11-14 | Steven M. Hoffberg | System and method for determining contingent relevance |
EP1597651A4 (en) * | 2003-02-28 | 2006-11-15 | Trading Technologies Int Inc | A system and method for trading and displaying market information in an electronic trading environment |
US7272497B2 (en) * | 2003-03-24 | 2007-09-18 | Fuji Jukogyo Kabushiki Kaisha | Vehicle navigation system with multi-use display |
US7904370B2 (en) * | 2003-03-31 | 2011-03-08 | Trading Technologies International, Inc. | System and method for variably regulating order entry in an electronic trading system |
US7035170B2 (en) * | 2003-04-29 | 2006-04-25 | International Business Machines Corporation | Device for displaying variable data for small screens |
US20050080711A1 (en) * | 2003-06-12 | 2005-04-14 | Mah Leong Fai | Multiple page display |
US7587357B1 (en) | 2003-06-30 | 2009-09-08 | Trading Technologies International Inc. | Repositioning of market information on trading screens |
CN100351823C (en) * | 2003-07-18 | 2007-11-28 | 北京航空航天大学 | Method for implementing cooperative information bus |
US20050038867A1 (en) * | 2003-08-14 | 2005-02-17 | International Business Machines Corporation | Method, system and program product for integrating web services on a client |
US20050049814A1 (en) * | 2003-08-26 | 2005-03-03 | Ramchandani Mahesh A. | Binding a GUI element to a control in a test executive application |
US7788681B1 (en) | 2003-09-16 | 2010-08-31 | Vignette Software, LLC | System and method for incorporating web services in a web site |
US7949594B2 (en) * | 2003-09-26 | 2011-05-24 | First Data Corporation | Systems and methods for participant controlled communications regarding financial accounts |
US7493592B2 (en) | 2003-10-24 | 2009-02-17 | Microsoft Corporation | Programming interface for a computer platform |
US20050091424A1 (en) * | 2003-10-24 | 2005-04-28 | Snover Jeffrey P. | Mechanism for analyzing partially unresolved input |
US20050091148A1 (en) * | 2003-10-27 | 2005-04-28 | Anthony Rotondo | Method and apparatus for synthesizing metrics of stock or share market indices |
US7765143B1 (en) * | 2003-11-04 | 2010-07-27 | Trading Technologies International, Inc. | System and method for event driven virtual workspace |
US8015085B2 (en) | 2003-11-14 | 2011-09-06 | First Data Corporation | System for distributing funds |
US8131626B2 (en) | 2003-11-17 | 2012-03-06 | Bgc Partners, Inc. | Customizable trading display of market data |
US8131625B2 (en) * | 2003-11-17 | 2012-03-06 | Bgc Partners, Inc. | Customizable trading display of market data |
US7827099B1 (en) | 2003-11-25 | 2010-11-02 | Autoalert, Inc. | System and method for assessing and managing financial transactions |
US8788404B1 (en) * | 2003-12-11 | 2014-07-22 | Cornell Research Foundation, Inc. | Structured finance securities option pricing architecture and process |
US7827091B2 (en) * | 2004-02-20 | 2010-11-02 | Stephen Cutler | Securities market and market maker activity tracking system and method |
US20050187855A1 (en) * | 2004-02-20 | 2005-08-25 | Brennan David P. | Method for analyzing trade data |
US20050190708A1 (en) * | 2004-02-27 | 2005-09-01 | Farr Donald B. | Proxy guardian agent |
US10796364B2 (en) | 2004-04-15 | 2020-10-06 | Nyse Group, Inc. | Process for providing timely quality indication of market trades |
US20050278426A1 (en) * | 2004-06-15 | 2005-12-15 | First Data Corporation | Systems and methods for merging communications |
US8232962B2 (en) | 2004-06-21 | 2012-07-31 | Trading Technologies International, Inc. | System and method for display management based on user attention inputs |
US9077766B2 (en) * | 2004-07-09 | 2015-07-07 | Qualcomm Incorporated | System and method for combining memory resources for use on a personal network |
US20060056626A1 (en) * | 2004-09-16 | 2006-03-16 | International Business Machines Corporation | Method and system for selectively masking the display of data field values |
US8117102B1 (en) | 2004-09-27 | 2012-02-14 | Trading Technologies International, Inc. | System and method for assisted awareness |
US8823969B1 (en) * | 2004-10-18 | 2014-09-02 | Kla-Tencor Corporation | Image processing architecture |
US20060101139A1 (en) * | 2004-11-08 | 2006-05-11 | International Business Machines Corporation | Real-time alerts within a web browser |
US8402384B2 (en) | 2004-11-09 | 2013-03-19 | Research In Motion Limited | Dynamic bar oriented user interface |
US7818342B2 (en) * | 2004-11-12 | 2010-10-19 | Sap Ag | Tracking usage of data elements in electronic business communications |
US7711676B2 (en) * | 2004-11-12 | 2010-05-04 | Sap Aktiengesellschaft | Tracking usage of data elements in electronic business communications |
US8321465B2 (en) * | 2004-11-14 | 2012-11-27 | Bloomberg Finance L.P. | Systems and methods for data coding, transmission, storage and decoding |
US7865519B2 (en) * | 2004-11-17 | 2011-01-04 | Sap Aktiengesellschaft | Using a controlled vocabulary library to generate business data component names |
GB0426659D0 (en) * | 2004-12-06 | 2005-01-05 | Silver Fox Ltd | Improved method for copying and manipulating data |
US7783558B1 (en) * | 2004-12-28 | 2010-08-24 | Trading Technologies International, Inc. | System and method for providing market updates in an electronic trading environment |
US8255796B1 (en) * | 2005-01-09 | 2012-08-28 | Apple Inc. | Efficient creation of documents |
GB2425626A (en) | 2005-03-24 | 2006-11-01 | Espeed Inc | System for protecting against erroneous price entries in the electronic trading of financial and other instruments |
US20060253371A1 (en) * | 2005-05-06 | 2006-11-09 | David Rutt | On-screen price lock for electronic trading |
US10552908B2 (en) | 2005-07-21 | 2020-02-04 | Yellowjacket, Inc. | Virtual over-the-counter financial product exchange system |
US8230419B2 (en) | 2005-07-26 | 2012-07-24 | International Business Machines Corporation | Method, system and program product for capturing central processing unit (CPU) utilization for a process on a virtual machine |
FR2890197B1 (en) * | 2005-08-26 | 2007-11-16 | Negofi Sa | METHOD AND SYSTEM FOR SPATIAL MANAGEMENT OF A USER GRAPHIC INTERFACE |
US8225231B2 (en) | 2005-08-30 | 2012-07-17 | Microsoft Corporation | Aggregation of PC settings |
US20110145689A1 (en) * | 2005-09-09 | 2011-06-16 | Microsoft Corporation | Named object view over multiple files |
US20070061699A1 (en) | 2005-09-09 | 2007-03-15 | Microsoft Corporation | Named object view of electronic data report |
US7933632B2 (en) * | 2005-09-16 | 2011-04-26 | Microsoft Corporation | Tile space user interface for mobile devices |
EP1952330A1 (en) * | 2005-11-21 | 2008-08-06 | Saxo Bank A/S | A financial trading system |
US7624113B2 (en) * | 2005-11-23 | 2009-11-24 | Sap Ag | Data element naming system and method |
US7711631B2 (en) | 2005-12-29 | 2010-05-04 | Trading Technologies International, Inc. | System and method for a trading interface incorporating a chart |
US8229832B2 (en) | 2006-01-09 | 2012-07-24 | Bgc Partners, Inc. | Systems and methods for establishing first on the follow trading priority in electronic trading systems |
US8004527B2 (en) * | 2006-01-20 | 2011-08-23 | Newport Corporation | Self-centering zoom bar graph |
US7979460B2 (en) | 2006-02-15 | 2011-07-12 | Sony Computer Entainment America Inc. | Systems and methods for server management |
US7716238B2 (en) * | 2006-02-15 | 2010-05-11 | Sony Computer Entertainment America Inc. | Systems and methods for server management |
US8701023B1 (en) | 2006-02-16 | 2014-04-15 | Cypress Semiconductor Corporation | Global parameter management graphical user interface (GUI) for embedded application design |
US20080057481A1 (en) * | 2006-03-17 | 2008-03-06 | William Charles Schmitt | Common Format Learning Device |
US20070240232A1 (en) * | 2006-04-07 | 2007-10-11 | Pino Angelo J | Interactive Television System and Method |
US7447611B2 (en) * | 2006-05-09 | 2008-11-04 | Hsb Solomon Associates, Llc | Power generation performance analysis system and method |
US7672898B1 (en) | 2006-07-07 | 2010-03-02 | Trading Technologies International Inc. | Regulating order entry in an electronic trading environment to maintain an actual cost for a trading strategy |
US7725764B2 (en) * | 2006-08-04 | 2010-05-25 | Tsx Inc. | Failover system and method |
US20080126988A1 (en) * | 2006-11-24 | 2008-05-29 | Jayprakash Mudaliar | Application management tool |
US20080163091A1 (en) * | 2006-12-29 | 2008-07-03 | Sap Ag | Filtering Data |
JP4922769B2 (en) * | 2007-01-17 | 2012-04-25 | 株式会社リコー | Information processing apparatus, information processing method, and information processing program |
US20080178125A1 (en) * | 2007-01-23 | 2008-07-24 | Microsoft Corporation | Providing dynamic content in a user interface in an application |
US20080186315A1 (en) * | 2007-02-07 | 2008-08-07 | Nicolas Bissantz | Method and system for providing sound information to a user |
US20080243980A1 (en) * | 2007-03-30 | 2008-10-02 | Sap Ag | Coupling Simulations With Filtering |
US8276059B2 (en) * | 2007-03-30 | 2012-09-25 | Sap Ag | Displaying detailed information in the context of a condensed enumeration of information |
CA2628991C (en) * | 2007-04-13 | 2017-08-22 | X2O Media Inc. | A method for automating digital signage applications using intelligent self-configuring objects and smart templates |
FR2915292B1 (en) * | 2007-04-19 | 2009-07-03 | Airbus France Sas | METHOD AND SYSTEM FOR MODIFYING A CONTENT OF AN ALERT MESSAGE ON BOARD AN AIRCRAFT. |
US8516365B2 (en) * | 2007-06-15 | 2013-08-20 | Microsoft Corporation | Dynamically laying out images and associated text using pre-defined layouts |
US20090006241A1 (en) * | 2007-06-30 | 2009-01-01 | Xirong Zhao | System and Method for Displaying Multiple Charts of Related Stock Candidates and its Method |
US8468212B2 (en) * | 2007-08-08 | 2013-06-18 | Silicon Image, Inc. | Network repository for metadata |
US8219533B2 (en) | 2007-08-29 | 2012-07-10 | Enpulz Llc | Search engine feedback for developing reliable whois database reference for restricted search operation |
US8055671B2 (en) | 2007-08-29 | 2011-11-08 | Enpulz, Llc | Search engine using world map with whois database search restriction |
US9483405B2 (en) | 2007-09-20 | 2016-11-01 | Sony Interactive Entertainment Inc. | Simplified run-time program translation for emulating complex processor pipelines |
US20110004596A1 (en) * | 2007-10-19 | 2011-01-06 | Tyler Gildred | Hierarchical item identification system (hiis) |
US8719841B2 (en) * | 2007-11-16 | 2014-05-06 | Microsoft Corporation | Dispatch mechanism for coordinating application and communication medium state |
US9021503B2 (en) * | 2007-11-16 | 2015-04-28 | Microsoft Technology Licensing, Llc | Coordinating application state and communication medium state |
US8505030B2 (en) * | 2007-11-16 | 2013-08-06 | Microsoft Corporation | Coordinating resources using a volatile network intermediary |
US9159325B2 (en) * | 2007-12-31 | 2015-10-13 | Adobe Systems Incorporated | Pitch shifting frequencies |
US20090198573A1 (en) * | 2008-01-31 | 2009-08-06 | Iwin, Inc. | Advertisement Insertion System and Method |
JP5014187B2 (en) * | 2008-02-07 | 2012-08-29 | 株式会社リコー | Device driver and user interface layout customization method |
US20090254424A1 (en) * | 2008-04-02 | 2009-10-08 | Yahoo! Inc. | Enhanced online advertising experience |
US9053196B2 (en) * | 2008-05-09 | 2015-06-09 | Commerce Studios Llc, Inc. | Methods for interacting with and manipulating information and systems thereof |
US8229911B2 (en) | 2008-05-13 | 2012-07-24 | Enpulz, Llc | Network search engine utilizing client browser activity information |
US8180788B2 (en) | 2008-06-05 | 2012-05-15 | Enpulz, L.L.C. | Image search engine employing image correlation |
US8190623B2 (en) | 2008-06-05 | 2012-05-29 | Enpulz, L.L.C. | Image search engine using image analysis and categorization |
US8171041B2 (en) | 2008-05-15 | 2012-05-01 | Enpulz, L.L.C. | Support for international search terms |
US20090287471A1 (en) | 2008-05-16 | 2009-11-19 | Bennett James D | Support for international search terms - translate as you search |
US8250083B2 (en) | 2008-05-16 | 2012-08-21 | Enpulz, Llc | Support for international search terms—translate as you crawl |
CN101600029B (en) * | 2008-06-06 | 2013-05-08 | 博通集成电路(上海)有限公司 | System and method for reducing background noise |
US20090319923A1 (en) * | 2008-06-20 | 2009-12-24 | International Business Machines Corporation | Method for generating role-based user interfaces utilizing uml models |
US9208522B2 (en) * | 2008-06-23 | 2015-12-08 | Bank Of America Corporation | Systems and methods for cash positioning and reporting |
US20100057860A1 (en) * | 2008-08-29 | 2010-03-04 | Fry Donna M | Confirmation and acknowledgement of transmission reception |
US8676841B2 (en) | 2008-08-29 | 2014-03-18 | Oracle International Corporation | Detection of recurring non-occurrences of events using pattern matching |
US8429540B1 (en) | 2008-10-10 | 2013-04-23 | Adobe Systems Incorporated | End user created collaborative and non-collaborative workspace application container system and method |
US8411046B2 (en) | 2008-10-23 | 2013-04-02 | Microsoft Corporation | Column organization of content |
US8086275B2 (en) | 2008-10-23 | 2011-12-27 | Microsoft Corporation | Alternative inputs of a mobile communications device |
US8249388B2 (en) | 2008-11-24 | 2012-08-21 | Microsoft Corporation | Identifying portions of an image for cropping |
US8600857B2 (en) | 2009-01-21 | 2013-12-03 | Truaxis, Inc. | System and method for providing a savings opportunity in association with a financial account |
US10504126B2 (en) | 2009-01-21 | 2019-12-10 | Truaxis, Llc | System and method of obtaining merchant sales information for marketing or sales teams |
US10594870B2 (en) | 2009-01-21 | 2020-03-17 | Truaxis, Llc | System and method for matching a savings opportunity using census data |
US20110251891A1 (en) * | 2009-01-21 | 2011-10-13 | Billshrink, Inc. | System and method for an executable script related to providing a savings opportunity interface |
US20110258028A1 (en) * | 2009-01-21 | 2011-10-20 | Billshrink, Inc. | System and method for providing a geographic map of alternative savings opportunities in association with a financial transaction data |
US8566197B2 (en) | 2009-01-21 | 2013-10-22 | Truaxis, Inc. | System and method for providing socially enabled rewards through a user financial instrument |
US9111212B2 (en) | 2011-08-19 | 2015-08-18 | Hartford Steam Boiler Inspection And Insurance Company | Dynamic outlier bias reduction system and method |
WO2010107107A1 (en) * | 2009-03-17 | 2010-09-23 | 日本電気株式会社 | Event processing system, event processing method, rule distributor, and program storage medium |
JP5327314B2 (en) * | 2009-03-17 | 2013-10-30 | 日本電気株式会社 | Event processing system, event processing method, local system, dispatcher, and program storage medium |
US8238876B2 (en) | 2009-03-30 | 2012-08-07 | Microsoft Corporation | Notifications |
US8175653B2 (en) | 2009-03-30 | 2012-05-08 | Microsoft Corporation | Chromeless user interface |
US8744945B2 (en) | 2009-05-19 | 2014-06-03 | Trading Technologies International, Inc. | System and method for displaying trade information for electronic trading exchange |
US8836648B2 (en) | 2009-05-27 | 2014-09-16 | Microsoft Corporation | Touch pull-in gesture |
US8301706B2 (en) | 2009-06-15 | 2012-10-30 | Microsoft Corporation | Routing of pooled messages via an intermediary |
KR101078941B1 (en) * | 2009-07-28 | 2011-11-01 | (주)한국거래소 | The device which graphic handles of the stock/futures trades status |
US8407597B1 (en) * | 2009-10-16 | 2013-03-26 | Juniper Networks, Inc. | Event-based user interface customization |
US9285799B2 (en) * | 2009-11-23 | 2016-03-15 | Fisher-Rosemount Systems, Inc. | Methods and apparatus to dynamically display data associated with a process control system |
US9305057B2 (en) | 2009-12-28 | 2016-04-05 | Oracle International Corporation | Extensible indexing framework using data cartridges |
US9430494B2 (en) | 2009-12-28 | 2016-08-30 | Oracle International Corporation | Spatial data cartridge for event processing systems |
US8589815B2 (en) | 2010-03-10 | 2013-11-19 | Microsoft Corporation | Control of timing for animations in dynamic icons |
US20110221764A1 (en) * | 2010-03-12 | 2011-09-15 | Microsoft Corporation | Laying out and cropping images in pre-defined layouts |
US8549538B2 (en) * | 2010-03-18 | 2013-10-01 | Microsoft Corporation | Coordinating communication medium state for subtasks |
US9122764B2 (en) * | 2010-03-24 | 2015-09-01 | Fisher-Rosemount Systems, Inc. | Methods and apparatus to access process data stored on a server |
US20110239109A1 (en) * | 2010-03-24 | 2011-09-29 | Mark Nixon | Methods and apparatus to display process data |
US8250234B2 (en) | 2010-04-26 | 2012-08-21 | Microsoft Corporation | Hierarchically disassembling messages |
US8433759B2 (en) | 2010-05-24 | 2013-04-30 | Sony Computer Entertainment America Llc | Direction-conscious information sharing |
US8510206B2 (en) | 2010-07-26 | 2013-08-13 | Trading Technologies International, Inc. | Consolidated price level expansion |
US8717181B2 (en) | 2010-07-29 | 2014-05-06 | Hill-Rom Services, Inc. | Bed exit alert silence with automatic re-enable |
US20120047223A1 (en) * | 2010-08-20 | 2012-02-23 | Nokia Corporation | Method and apparatus for distributed storage |
US9207666B2 (en) | 2010-08-31 | 2015-12-08 | Fisher-Rosemount Systems, Inc. | Methods and apparatus to display localized process control objects |
US8713049B2 (en) | 2010-09-17 | 2014-04-29 | Oracle International Corporation | Support for a parameterized query/view in complex event processing |
US9747270B2 (en) | 2011-01-07 | 2017-08-29 | Microsoft Technology Licensing, Llc | Natural input for spreadsheet actions |
US9189280B2 (en) | 2010-11-18 | 2015-11-17 | Oracle International Corporation | Tracking large numbers of moving objects in an event processing system |
US20120159383A1 (en) | 2010-12-20 | 2012-06-21 | Microsoft Corporation | Customization of an immersive environment |
US20120159395A1 (en) | 2010-12-20 | 2012-06-21 | Microsoft Corporation | Application-launching interface for multiple modes |
US9679404B2 (en) | 2010-12-23 | 2017-06-13 | Microsoft Technology Licensing, Llc | Techniques for dynamic layout of presentation tiles on a grid |
US9436685B2 (en) | 2010-12-23 | 2016-09-06 | Microsoft Technology Licensing, Llc | Techniques for electronic aggregation of information |
US8689123B2 (en) | 2010-12-23 | 2014-04-01 | Microsoft Corporation | Application reporting in an application-selectable user interface |
US8612874B2 (en) | 2010-12-23 | 2013-12-17 | Microsoft Corporation | Presenting an application change through a tile |
US9423951B2 (en) | 2010-12-31 | 2016-08-23 | Microsoft Technology Licensing, Llc | Content-based snap point |
US20120191724A1 (en) * | 2011-01-26 | 2012-07-26 | Tucek Joseph A | Storage of data objects based on a time of creation |
US8424025B2 (en) * | 2011-02-22 | 2013-04-16 | Microsoft Corporation | Interface for displaying content supporting hardware acceleration |
CN102651690B (en) | 2011-02-28 | 2015-11-25 | 国际商业机器公司 | To the method and apparatus that shared drive controls |
US9383917B2 (en) | 2011-03-28 | 2016-07-05 | Microsoft Technology Licensing, Llc | Predictive tiling |
US9715485B2 (en) | 2011-03-28 | 2017-07-25 | Microsoft Technology Licensing, Llc | Techniques for electronic aggregation of information |
US9069439B2 (en) | 2011-04-11 | 2015-06-30 | Microsoft Technology Licensing, Llc | Graphical user interface with customized navigation |
US9360991B2 (en) | 2011-04-11 | 2016-06-07 | Microsoft Technology Licensing, Llc | Three-dimensional icons for organizing, invoking, and using applications |
US8886976B2 (en) | 2011-04-11 | 2014-11-11 | Microsoft Corporation | Management of background tasks |
US8910081B2 (en) | 2011-04-11 | 2014-12-09 | Microsoft Corporation | Push notifications for updating multiple dynamic icon panels |
US8990416B2 (en) | 2011-05-06 | 2015-03-24 | Oracle International Corporation | Support for a new insert stream (ISTREAM) operation in complex event processing (CEP) |
US8893033B2 (en) | 2011-05-27 | 2014-11-18 | Microsoft Corporation | Application notifications |
US9658766B2 (en) | 2011-05-27 | 2017-05-23 | Microsoft Technology Licensing, Llc | Edge gesture |
US9158445B2 (en) | 2011-05-27 | 2015-10-13 | Microsoft Technology Licensing, Llc | Managing an immersive interface in a multi-application immersive environment |
US9104307B2 (en) | 2011-05-27 | 2015-08-11 | Microsoft Technology Licensing, Llc | Multi-application environment |
US9104440B2 (en) | 2011-05-27 | 2015-08-11 | Microsoft Technology Licensing, Llc | Multi-application environment |
US20120304132A1 (en) | 2011-05-27 | 2012-11-29 | Chaitanya Dev Sareen | Switching back to a previously-interacted-with application |
US9292358B2 (en) | 2011-06-13 | 2016-03-22 | Microsoft Technology Licensing, Llc | Remotely retrieving information from consumer devices |
US9329975B2 (en) | 2011-07-07 | 2016-05-03 | Oracle International Corporation | Continuous query language (CQL) debugger in complex event processing (CEP) |
US8687023B2 (en) | 2011-08-02 | 2014-04-01 | Microsoft Corporation | Cross-slide gesture to select and rearrange |
US10557840B2 (en) | 2011-08-19 | 2020-02-11 | Hartford Steam Boiler Inspection And Insurance Company | System and method for performing industrial processes across facilities |
US9069725B2 (en) | 2011-08-19 | 2015-06-30 | Hartford Steam Boiler Inspection & Insurance Company | Dynamic outlier bias reduction system and method |
US20130053996A1 (en) * | 2011-08-30 | 2013-02-28 | Chung-Yuan Wu | Method of programming recipe through gui and media recording the same |
US20130057587A1 (en) | 2011-09-01 | 2013-03-07 | Microsoft Corporation | Arranging tiles |
US8280802B1 (en) * | 2011-09-02 | 2012-10-02 | Cervo Frank J | System and method for decisions in trading financial instruments |
US9557909B2 (en) | 2011-09-09 | 2017-01-31 | Microsoft Technology Licensing, Llc | Semantic zoom linguistic helpers |
US10353566B2 (en) | 2011-09-09 | 2019-07-16 | Microsoft Technology Licensing, Llc | Semantic zoom animations |
US8922575B2 (en) | 2011-09-09 | 2014-12-30 | Microsoft Corporation | Tile cache |
US8933952B2 (en) | 2011-09-10 | 2015-01-13 | Microsoft Corporation | Pre-rendering new content for an application-selectable user interface |
US9146670B2 (en) | 2011-09-10 | 2015-09-29 | Microsoft Technology Licensing, Llc | Progressively indicating new content in an application-selectable user interface |
US9244802B2 (en) | 2011-09-10 | 2016-01-26 | Microsoft Technology Licensing, Llc | Resource user interface |
US9342322B2 (en) | 2011-09-12 | 2016-05-17 | Microsoft Technology Licensing, Llc | System and method for layering using tile-based renderers |
US10733151B2 (en) | 2011-10-27 | 2020-08-04 | Microsoft Technology Licensing, Llc | Techniques to share media files |
US9547665B2 (en) | 2011-10-27 | 2017-01-17 | Microsoft Technology Licensing, Llc | Techniques to determine network storage for sharing media files |
US9053083B2 (en) | 2011-11-04 | 2015-06-09 | Microsoft Technology Licensing, Llc | Interaction between web gadgets and spreadsheets |
US9053079B2 (en) | 2011-12-12 | 2015-06-09 | Microsoft Technology Licensing, Llc | Techniques to manage collaborative documents |
US9223472B2 (en) | 2011-12-22 | 2015-12-29 | Microsoft Technology Licensing, Llc | Closing applications |
US9286390B2 (en) | 2011-12-30 | 2016-03-15 | Microsoft Technology Licensing, Llc | Presentation of rich search results in delineated areas |
US9171099B2 (en) | 2012-01-26 | 2015-10-27 | Microsoft Technology Licensing, Llc | System and method for providing calculation web services for online documents |
US9128605B2 (en) | 2012-02-16 | 2015-09-08 | Microsoft Technology Licensing, Llc | Thumbnail-image selection of applications |
US9310888B2 (en) | 2012-03-16 | 2016-04-12 | Microsoft Technology Licensing, Llc | Multimodal layout and rendering |
US8775385B2 (en) | 2012-05-24 | 2014-07-08 | Microsoft Corporation | Techniques to modify file descriptors for content files |
US9069781B2 (en) | 2012-05-24 | 2015-06-30 | Microsoft Technology Licensing, Llc | Techniques to automatically manage file descriptors |
US9047300B2 (en) | 2012-05-24 | 2015-06-02 | Microsoft Technology Licensing, Llc | Techniques to manage universal file descriptor models for content files |
US20140059498A1 (en) * | 2012-08-27 | 2014-02-27 | Microsoft Corporation | User interface display of anchor tiles for related entities |
KR102286388B1 (en) * | 2012-09-12 | 2021-08-04 | 아이이엑스 그룹, 인크. | Transmission latency leveling apparatuses, methods and systems |
US9563663B2 (en) | 2012-09-28 | 2017-02-07 | Oracle International Corporation | Fast path evaluation of Boolean predicates |
US9262479B2 (en) | 2012-09-28 | 2016-02-16 | Oracle International Corporation | Join operations for continuous queries over archived views |
US8868048B2 (en) | 2012-10-16 | 2014-10-21 | Bank Of America Corporation | Apparatus and method for managing electronic transactions |
US9082150B2 (en) | 2012-10-16 | 2015-07-14 | Bank Of America Corporation | Apparatus and method for management of electronic notices |
US10956422B2 (en) | 2012-12-05 | 2021-03-23 | Oracle International Corporation | Integrating event processing with map-reduce |
US11138525B2 (en) | 2012-12-10 | 2021-10-05 | Trading Technologies International, Inc. | Distribution of market data based on price level transitions |
US10467691B2 (en) | 2012-12-31 | 2019-11-05 | Trading Technologies International, Inc. | User definable prioritization of market information |
US10298444B2 (en) | 2013-01-15 | 2019-05-21 | Oracle International Corporation | Variable duration windows on continuous data streams |
US12062075B1 (en) | 2013-02-08 | 2024-08-13 | Autoalert, Llc | Communication generation for target leads |
US9390135B2 (en) | 2013-02-19 | 2016-07-12 | Oracle International Corporation | Executing continuous event processing (CEP) queries in parallel |
US9047249B2 (en) | 2013-02-19 | 2015-06-02 | Oracle International Corporation | Handling faults in a continuous event processing (CEP) system |
US9450952B2 (en) | 2013-05-29 | 2016-09-20 | Microsoft Technology Licensing, Llc | Live tiles without application-code execution |
US20140304133A1 (en) * | 2013-04-04 | 2014-10-09 | Td Ameritrade Ip Company, Ip | Ticker tiles |
US9317182B2 (en) * | 2013-04-11 | 2016-04-19 | Apple Inc. | Pop-up menu interface |
US8880994B1 (en) * | 2013-04-19 | 2014-11-04 | E-Z Brief Llc | System and method for annotating and manipulating electronic documents |
CN103247002A (en) * | 2013-05-15 | 2013-08-14 | 江苏奇异点网络有限公司 | Cellphone software for stocks investing |
US9418113B2 (en) | 2013-05-30 | 2016-08-16 | Oracle International Corporation | Value based windows on relations in continuous data streams |
US10664652B2 (en) | 2013-06-15 | 2020-05-26 | Microsoft Technology Licensing, Llc | Seamless grid and canvas integration in a spreadsheet application |
US10664548B2 (en) | 2013-07-12 | 2020-05-26 | Trading Technologies International, Inc. | Tailored messaging |
US9934279B2 (en) | 2013-12-05 | 2018-04-03 | Oracle International Corporation | Pattern matching across multiple input data streams |
US10460387B2 (en) | 2013-12-18 | 2019-10-29 | Trading Technologies International, Inc. | Dynamic information configuration and display |
CN105359094A (en) | 2014-04-04 | 2016-02-24 | 微软技术许可有限责任公司 | Expandable Application Representation |
KR20160143784A (en) | 2014-04-10 | 2016-12-14 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | Slider cover for computing device |
WO2015154273A1 (en) | 2014-04-10 | 2015-10-15 | Microsoft Technology Licensing, Llc | Collapsible shell cover for computing device |
US10409891B2 (en) | 2014-04-11 | 2019-09-10 | Hartford Steam Boiler Inspection And Insurance Company | Future reliability prediction based on system operational and performance data modelling |
SG11201608606WA (en) | 2014-04-16 | 2016-11-29 | Iex Group Inc | Systems and methods for providing up-to-date information for transactions |
US9244978B2 (en) | 2014-06-11 | 2016-01-26 | Oracle International Corporation | Custom partitioning of a data stream |
US9712645B2 (en) | 2014-06-26 | 2017-07-18 | Oracle International Corporation | Embedded event processing |
US9299246B2 (en) | 2014-07-19 | 2016-03-29 | Oracle International Corporation | Reporting results of processing of continuous event streams |
US10254942B2 (en) | 2014-07-31 | 2019-04-09 | Microsoft Technology Licensing, Llc | Adaptive sizing and positioning of application windows |
US10678412B2 (en) | 2014-07-31 | 2020-06-09 | Microsoft Technology Licensing, Llc | Dynamic joint dividers for application windows |
US10592080B2 (en) | 2014-07-31 | 2020-03-17 | Microsoft Technology Licensing, Llc | Assisted presentation of application windows |
US10642365B2 (en) | 2014-09-09 | 2020-05-05 | Microsoft Technology Licensing, Llc | Parametric inertia and APIs |
US10120907B2 (en) | 2014-09-24 | 2018-11-06 | Oracle International Corporation | Scaling event processing using distributed flows and map-reduce operations |
US9886486B2 (en) | 2014-09-24 | 2018-02-06 | Oracle International Corporation | Enriching events with dynamically typed big data for event processing |
CN106662891B (en) | 2014-10-30 | 2019-10-11 | 微软技术许可有限责任公司 | Multi-configuration input equipment |
US11315181B2 (en) | 2014-12-31 | 2022-04-26 | Chicago Mercantile Exchange Inc. | Compression of price data |
US10021152B2 (en) * | 2015-02-05 | 2018-07-10 | At&T Intellectual Property I, L.P. | Sharing location information for locations accessed during a conference |
WO2017018901A1 (en) | 2015-07-24 | 2017-02-02 | Oracle International Corporation | Visually exploring and analyzing event streams |
US10915952B2 (en) | 2015-12-18 | 2021-02-09 | Trading Technologies International, Inc. | Manipulating trading tools |
US10235780B2 (en) * | 2015-12-18 | 2019-03-19 | Dropbox, Inc. | Integrated data exploration, modeling and visualization |
US10635828B2 (en) | 2016-09-23 | 2020-04-28 | Microsoft Technology Licensing, Llc | Tokenized links with granular permissions |
US10885562B2 (en) | 2016-10-18 | 2021-01-05 | Autoalert, Llc | Visual discovery tool for automotive manufacturers with network encryption, data conditioning, and prediction engine |
US11853529B2 (en) * | 2016-11-07 | 2023-12-26 | Tableau Software, Inc. | User interface to prepare and curate data for subsequent analysis |
US11250343B2 (en) | 2017-06-08 | 2022-02-15 | Sap Se | Machine learning anomaly detection |
US10929421B2 (en) | 2017-06-08 | 2021-02-23 | Sap Se | Suggestion of views based on correlation of data |
US10509612B2 (en) | 2017-08-10 | 2019-12-17 | Td Ameritrade Ip Company, Inc. | Three-dimensional information system |
JP6766779B2 (en) * | 2017-08-25 | 2020-10-14 | オムロン株式会社 | User interface development support device, user interface development support method, and user interface development support program |
WO2019068215A1 (en) * | 2017-10-03 | 2019-04-11 | Intel Corporation | Techniques for visual inspection of rendered graphs for identification and analysis of selected plots |
CN108009923A (en) * | 2018-01-19 | 2018-05-08 | 深圳市富途网络科技有限公司 | A kind of prompt operation card methods of exhibiting of software for speculation on stocks stock detailed quotation page |
US11636292B2 (en) | 2018-09-28 | 2023-04-25 | Hartford Steam Boiler Inspection And Insurance Company | Dynamic outlier bias reduction system and method |
US10691304B1 (en) | 2018-10-22 | 2020-06-23 | Tableau Software, Inc. | Data preparation user interface with conglomerate heterogeneous process flow elements |
US11250032B1 (en) | 2018-10-22 | 2022-02-15 | Tableau Software, Inc. | Data preparation user interface with conditional remapping of data values |
US11288602B2 (en) | 2019-09-18 | 2022-03-29 | Hartford Steam Boiler Inspection And Insurance Company | Computer-based systems, computing components and computing objects configured to implement dynamic outlier bias reduction in machine learning models |
US11328177B2 (en) | 2019-09-18 | 2022-05-10 | Hartford Steam Boiler Inspection And Insurance Company | Computer-based systems, computing components and computing objects configured to implement dynamic outlier bias reduction in machine learning models |
US11615348B2 (en) | 2019-09-18 | 2023-03-28 | Hartford Steam Boiler Inspection And Insurance Company | Computer-based systems, computing components and computing objects configured to implement dynamic outlier bias reduction in machine learning models |
US11532040B2 (en) | 2019-11-12 | 2022-12-20 | Bottomline Technologies Sarl | International cash management software using machine learning |
US11100097B1 (en) | 2019-11-12 | 2021-08-24 | Tableau Software, Inc. | Visually defining multi-row table calculations in a data preparation application |
US11526859B1 (en) | 2019-11-12 | 2022-12-13 | Bottomline Technologies, Sarl | Cash flow forecasting using a bottoms-up machine learning approach |
US11054962B1 (en) | 2019-12-16 | 2021-07-06 | Digits Financial, Inc. | System and method for displaying changes to a number of entries in a set of data between page views |
US11048378B1 (en) * | 2019-12-16 | 2021-06-29 | Digits Financial, Inc. | System and method for tracking changes between a current state and a last state seen by a user |
US11704671B2 (en) | 2020-04-02 | 2023-07-18 | Bottomline Technologies Limited | Financial messaging transformation-as-a-service |
US12032994B1 (en) | 2021-10-18 | 2024-07-09 | Tableau Software, LLC | Linking outputs for automatic execution of tasks |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3665893A (en) * | 1970-12-29 | 1972-05-30 | Babcock & Wilcox Co | Vapor generator tube arrangement |
JPS4990459A (en) * | 1972-12-28 | 1974-08-29 | ||
US4486853A (en) * | 1981-04-01 | 1984-12-04 | Telemet American, Inc. | Apparatus for receiving and displaying continuously updated data |
EP0121015B1 (en) * | 1983-03-31 | 1990-03-07 | International Business Machines Corporation | Presentation space management and viewporting on a multifunction virtual terminal |
US4943866A (en) * | 1983-12-02 | 1990-07-24 | Lex Computer And Management Corporation | Video composition method and apparatus employing smooth scrolling |
DE3521248C2 (en) * | 1984-06-29 | 1995-05-11 | Merrill Lynch & Co Inc | Financial information transmission, processing and display system |
US4868866A (en) * | 1984-12-28 | 1989-09-19 | Mcgraw-Hill Inc. | Broadcast data distribution system |
US4774664A (en) * | 1985-07-01 | 1988-09-27 | Chrysler First Information Technologies Inc. | Financial data processing system and method |
EP0232439B1 (en) * | 1986-02-01 | 1989-03-08 | Frisco-Findus Ag | Packing machine |
US4914568A (en) * | 1986-10-24 | 1990-04-03 | National Instruments, Inc. | Graphical system for modelling a process and associated method |
US4901221A (en) * | 1986-04-14 | 1990-02-13 | National Instruments, Inc. | Graphical system for modelling a process and associated method |
US4750135A (en) * | 1986-05-01 | 1988-06-07 | Reuters Limited | Method for dynamically creating a receiver definable local trading instrument displayable record from a remotely transmitted trading instrument common data stream |
US4845645A (en) * | 1987-08-28 | 1989-07-04 | The United States Of America As Represented By The Secretary Of The Air Force | Sequential rapid communication visual displays |
JPH01251225A (en) * | 1988-03-31 | 1989-10-06 | Toshiba Corp | Input/output control system |
US5058185A (en) * | 1988-06-27 | 1991-10-15 | International Business Machines Corporation | Object management and delivery system having multiple object-resolution capability |
US5126936A (en) * | 1989-09-01 | 1992-06-30 | Champion Securities | Goal-directed financial asset management system |
-
1990
- 1990-12-28 US US07/636,044 patent/US5339392A/en not_active Expired - Lifetime
-
1991
- 1991-12-20 DE DE69127703T patent/DE69127703T2/en not_active Expired - Lifetime
- 1991-12-20 AU AU91490/91A patent/AU660004B2/en not_active Ceased
- 1991-12-20 EP EP92902761A patent/EP0564548B1/en not_active Expired - Lifetime
- 1991-12-20 JP JP4502983A patent/JP2927548B2/en not_active Expired - Fee Related
- 1991-12-20 AT AT92902761T patent/ATE158428T1/en not_active IP Right Cessation
- 1991-12-20 KR KR1019930701857A patent/KR100235471B1/en not_active IP Right Cessation
- 1991-12-20 WO PCT/US1991/009811 patent/WO1992012488A1/en active IP Right Grant
- 1991-12-20 CA CA002099020A patent/CA2099020C/en not_active Expired - Lifetime
- 1991-12-27 MX MX9102839A patent/MX9102839A/en unknown
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007022103A3 (en) * | 2005-08-12 | 2007-05-03 | Microsoft Corp | Copying and updating files |
US7490300B2 (en) | 2005-08-12 | 2009-02-10 | Microsoft Corporation | Copying and updating files |
KR100922640B1 (en) | 2005-08-12 | 2009-10-19 | 마이크로소프트 코포레이션 | A computer-implemented method for copying and updating files |
CN101243430B (en) * | 2005-08-12 | 2010-09-29 | 微软公司 | Method for copying and updating files |
US8219525B2 (en) | 2005-08-12 | 2012-07-10 | Microsoft Corporation | Copying and updating files |
WO2008092361A1 (en) * | 2007-01-29 | 2008-08-07 | Huawei Technologies Co., Ltd. | An alert means and alert method |
CN101009004B (en) * | 2007-01-29 | 2012-03-21 | 华为技术有限公司 | Warming device and warming method |
Also Published As
Publication number | Publication date |
---|---|
WO1992012488A1 (en) | 1992-07-23 |
AU660004B2 (en) | 1995-06-08 |
CA2099020C (en) | 2000-03-28 |
DE69127703T2 (en) | 1998-04-30 |
JP2927548B2 (en) | 1999-07-28 |
JPH06504152A (en) | 1994-05-12 |
CA2099020A1 (en) | 1992-06-29 |
MX9102839A (en) | 1992-06-01 |
US5339392A (en) | 1994-08-16 |
KR930703648A (en) | 1993-11-30 |
DE69127703D1 (en) | 1997-10-23 |
KR100235471B1 (en) | 1999-12-15 |
ATE158428T1 (en) | 1997-10-15 |
EP0564548A1 (en) | 1993-10-13 |
AU9149091A (en) | 1992-08-17 |
EP0564548A4 (en) | 1993-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0564548B1 (en) | Apparatus and method for creation of a user definable video displayed document showing changes in real time data | |
US6507858B1 (en) | System and method for storing ordered sections having different file formats | |
US6069628A (en) | Method and means for navigating user interfaces which support a plurality of executing applications | |
JP2511638B2 (en) | Method and apparatus for causing source object to be operated by target object by direct drag and drop operation | |
US6147685A (en) | System and method for editing group information | |
US7800617B2 (en) | Compare mode for variable number of images | |
US7185290B2 (en) | User interface for a system and process for providing dynamic communication access and information awareness in an interactive peripheral display | |
US7725832B2 (en) | System and process for providing dynamic communication access and information awareness in an interactive peripheral display | |
US7600197B2 (en) | Graphical user interface having contextual menus | |
US5655094A (en) | Pop up scroll bar | |
US6262732B1 (en) | Method and apparatus for managing and navigating within stacks of document pages | |
US5638504A (en) | System and method of processing documents with document proxies | |
US5706449A (en) | Method and system for providing improved specification of multiple sort criteria in a graphical user interface | |
US6928623B1 (en) | Method and system for selecting a target window for automatic fill-in | |
JPH04267426A (en) | Position displaying method of a plurality of selected object | |
WO2001053936A2 (en) | Apparatus and method for starting application software on a computer | |
US7493568B2 (en) | System and method for browsing properties of an electronic document | |
US6918083B2 (en) | Tool for marking up electronic documents | |
US20020175940A1 (en) | Data cylinder for managing ad-hoc data sets | |
US6025828A (en) | Display system with nested objects | |
EP0475870A2 (en) | Method of selecting and operating on objects in an interactive window system | |
JPH09319544A (en) | Menu selection system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 19930504 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE CH DE DK ES FR GB GR IT LI LU MC NL SE |
|
A4 | Supplementary search report drawn up and despatched |
Effective date: 19931112 |
|
AK | Designated contracting states |
Kind code of ref document: A4 Designated state(s): AT BE CH DE DK ES FR GB GR IT LI LU MC NL SE |
|
17Q | First examination report despatched |
Effective date: 19950825 |
|
RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: BOWLES MARK Inventor name: SKEEN, MARION, DALE Inventor name: RISBERG, JEFFREY, SCOTT |
|
GRAG | Despatch of communication of intention to grant |
Free format text: ORIGINAL CODE: EPIDOS AGRA |
|
GRAH | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOS IGRA |
|
GRAH | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOS IGRA |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AT BE CH DE DK ES FR GB GR IT LI LU MC NL SE |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRE;WARNING: LAPSES OF ITALIAN PATENTS WITH EFFECTIVE DATE BEFORE 2007 MAY HAVE OCCURRED AT ANY TIME BEFORE 2007. THE CORRECT EFFECTIVE DATE MAY BE DIFFERENT FROM THE ONE RECORDED.SCRIBED TIME-LIMIT Effective date: 19970917 Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 19970917 Ref country code: ES Free format text: THE PATENT HAS BEEN ANNULLED BY A DECISION OF A NATIONAL AUTHORITY Effective date: 19970917 Ref country code: DK Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 19970917 Ref country code: BE Effective date: 19970917 |
|
REF | Corresponds to: |
Ref document number: 158428 Country of ref document: AT Date of ref document: 19971015 Kind code of ref document: T |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
REF | Corresponds to: |
Ref document number: 69127703 Country of ref document: DE Date of ref document: 19971023 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 19971220 |
|
ET | Fr: translation filed | ||
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MC Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 19980630 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed | ||
REG | Reference to a national code |
Ref country code: GB Ref legal event code: IF02 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PUE Owner name: REUTERS LIMITED Free format text: REUTERS AMERICA INC.#THE REUTERS BUILDING 3 TIME SQUARE#NEW YORK, NY 10036 (US) -TRANSFER TO- REUTERS LIMITED#THE REUTERS BUILDING 30 SOUTH COLONNADE CANARY WHARF#LONDON E14 5EP (GB) Ref country code: CH Ref legal event code: PUE Owner name: REUTERS AMERICA INC. Free format text: TIBCO FINANCE TECHNOLOGY INC.#530 LYTTON AVENUE SUITE 301#PALO ALTO, CA 94301 (US) -TRANSFER TO- REUTERS AMERICA INC.#THE REUTERS BUILDING 3 TIME SQUARE#NEW YORK, NY 10036 (US) Ref country code: CH Ref legal event code: PFA Owner name: TIBCO INC. Free format text: TEKNEKRON SOFTWARE SYSTEMS, INC.#530 LYTTON AVENUE, SUITE 301#PALO ALTO, CALIFORNIA 94301 (US) -TRANSFER TO- TIBCO INC.#530 LYTTON AVENUE SUITE 301#PALO ALTO, CA 94301 (US) Ref country code: CH Ref legal event code: PFA Owner name: TIBCO FINANCE TECHNOLOGY INC. Free format text: TIBCO INC.#530 LYTTON AVENUE SUITE 301#PALO ALTO, CA 94301 (US) -TRANSFER TO- TIBCO FINANCE TECHNOLOGY INC.#530 LYTTON AVENUE SUITE 301#PALO ALTO, CA 94301 (US) Ref country code: CH Ref legal event code: NV Representative=s name: MOINAS & SAVOYE SA |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: SE Payment date: 20091207 Year of fee payment: 19 Ref country code: CH Payment date: 20091215 Year of fee payment: 19 Ref country code: AT Payment date: 20091211 Year of fee payment: 19 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: NL Payment date: 20091204 Year of fee payment: 19 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20091216 Year of fee payment: 19 Ref country code: FR Payment date: 20091221 Year of fee payment: 19 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20091217 Year of fee payment: 19 |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: V1 Effective date: 20110701 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20101220 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: AT Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20101220 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: ST Effective date: 20110831 |
|
REG | Reference to a national code |
Ref country code: SE Ref legal event code: EUG |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20101221 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20101231 Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20101231 Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20110103 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R119 Ref document number: 69127703 Country of ref document: DE Effective date: 20110701 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20110701 Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20101220 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: NL Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20110701 |