WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Electronic system for accessing graphical and textual information    
United States Patent4805134   
Link to this pagehttp://www.wikipatents.com/4805134.html
Inventor(s)Calo; Seraphin B. (Peekskill, NY); Kannan; Krishnamurthi (Yorktown Heights, NY); Soo; Suk S. (Mount Kisco, NY); Burket; Thomas G. (Pleasantville, NY); Wiley, Jr.; John W. (Yorktown Heights, NY)
AbstractAn architecture for the implementation of an information utility for accessing information and executing transactions on an interactive basis between Videotex databases and individual end user terminals, some or all of which may be remotely located with respect to each other. The utility may be associated with a Videotex Application Network (VAN) and includes a combination of distributed, semiautonomous Operations Nodes (ONs), each characterized by (1) one or more affiliated users, (2) the inclusion of some form of database, and (3) one or more customized application programs, and each is also capable of "standalone" operation. Each database comprises pages of control information and displayable data. Each node comprises a directory of databases at other nodes.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 4805134
Electronic system for accessing graphical and textual information - US Patent 4805134 Drawing
Electronic system for accessing graphical and textual information
Inventor     Calo; Seraphin B. (Peekskill, NY); Kannan; Krishnamurthi (Yorktown Heights, NY); Soo; Suk S. (Mount Kisco, NY); Burket; Thomas G. (Pleasantville, NY); Wiley, Jr.; John W. (Yorktown Heights, NY)
Owner/Assignee     International Business Machines Corporation (Armonk, NY)
Patent assignment
All assignments
Publication Date     February 14, 1989
Application Number     06/817,389
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     January 9, 1986
US Classification     707/10 715/751
Int'l Classification     G06F 013/00
Examiner     Eng; David Y.
Assistant Examiner     Harrell; Robert B.
Attorney/Law Firm     Dowd; Thomas P. Schechter; Marc D. ,
Address
Parent Case    
Priority Data    
USPTO Field of Search     364/200 MS File 364/900 MS File 358/85 358/86 358/142 370/89 370/86 370/90 370/60 370/58 370/54 370/85 370/103 370/104 340/717 340/721 340/711 340/703 340/797 379/94 379/221 379/40 379/50 379/200 379/100 379/94 379/96
Patent Tags     electronic accessing graphical textual information
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
4691340
Maeda
379/93.25
Sep,1987

[0 after 0 votes]
4649533
Chorley
370/400
Mar,1987

[0 after 0 votes]
4555781
Baldry
370/260
Nov,1985

[0 after 0 votes]
4533948
McNamara
380/211
Aug,1985

[0 after 0 votes]
4479196
Ferrer
707/100
Oct,1984

[0 after 0 votes]
4379947
Warner
370/204
Apr,1983

[0 after 0 votes]
4337485
Chambers
348/467
Jun,1982

[0 after 0 votes]
4337483
Guillou
380/228
Jun,1982

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


Having thus described our invention, what we claim as new and desire to secure by Letters Patent is:

1. A system for enabling users thereof to electronically access a wide range of information, and including a capability for interuser messaging and executing of transactions, comprising:

a. terminal means for displaying graphical and textual information to a user;

b. a first operational node connected to said terminal means and comprising:

(1) first database means comprising page means for providing graphical and textual information, said page means comprising a plurality of pages, each page comprising a variable length electronic data structure comprising control information and displayable data, said control information comprising at least one exit path for directing the user from one page to another page; and

(2) first application program means for exchanging messages and executing transactions on behalf of said user; and

c. a second operational node comprising second database means and second application program means for respectively providing graphical and textual information, and exchanging messages and executing transaction on behalf of said user; and

d. means for enabling said terminal means to access said graphical and textual information from said first and second database means and to exchange messages and execute transactions with said second operational node, through said first node means.

2. A system as in claim 1 further comprising a third operational node connected to said first operational node and comprising third database means and third application program means for providing information about said first and second database means and said first and second application program means to said terminal means.

3. A system as in claim 1 wherein said enabling means comprises network means for operationally connecting said first and second operational nodes.

4. A system as in claim 3 further comprising third database means for supplying graphical and textual information and operational node means for connecting said third database means to said network means for accessing by said first and second operational nodes.

5. A system as in claim 3 further comprising a plurality of terminal means for displaying graphical and textual information and operational node means for connecting said plurality of terminal means to said network means.

6. A system as in claim 3 characterized in that the first and second operational nodes each comprise directory database means for providing a directory of available graphical and textual information on said network means and operational nodes.

7. A system as in claim 3 wherein said first operational node further comprises means for connecting another terminal means and another database means to said network means.

8. A system as in claim 3 further comprising operational node means for operationally connecting said network means to a database outside of said network means.

9. A system as in claim 3 further comprising operational node means for operationally connecting said network means to another network means.

10. A system as in claim 3 further comprising operational node means, comprising a plurality of application programs and connected to said network means, for exchanging messages with and executing transactions with said terminal means through said first operational node.

11. A system as in claim 3 wherein said first operational node further comprises means for identifying said user, said identifying means comprising a combination of an operational-node-unique identifier and a system access code, the combination of which is unique to said network means.

12. A system as in claim 3 wherein said first database means comprises means for identifying said first database, said identifying means comprising a combination of an operational-node -unique identifier and a database access code, the combination of which is unique to said network means.

13. A system as in claim 1 wherein said first database means comprises a database directory of said first operational node.

14. A system as in claim 1 wherein said first database means further comprises pageset means for organizing said page means in a scroll sequence.

15. A system as in claim 14 further comprising scroll means for accessing said page means in their sequence order within a pageset means for display on said terminal means.

16. A system as in claim 1 further comprising find means for accessing said page means directly from within said database means.

17. A system as in claim 1 further comprising mark means for marking said page means being displayed on said terminal means for later access.

18. A system as in claim 1 further comprising recall means for recalling said page means that was marked for later access.

19. A system as in claim 1 further comprising defining means for identifying said page means being displayed by a synonym for later access.

20. A system as in claim 1 wherein said first application program means comprises means for adding information to said page means after being selected for and prior to display.

21. A system as in claim 1 further comprising first check means for accessing said first database means and second check means for accessing said page means.

22. A system as in claim 1 wherein said first application program means comprises means for invoking and executing a program in response to a user selection through said terminal means.

23. A system as in claim 1 wherein said first application program means comprises means for exchanging information between said terminal means and an operational node.

24. A system as in claim 1 wherein said first operational node comprises host means for accessing data and distribution subsystem means for caching said data.

25. A system as in claim 24 wherein said host means comprises a receive port and a transmit port and further comprising means for handling all communications to said receive port from said distribution system means and means for handling all communications from said transmit port to said distribution system means.

26. A method for establishing a system for electronically accessing information, exchanging messages, and executing transactions through an end user terminal at an operational node, comprising the steps of:

a. providing a first database comprising a plurality of pages of graphical and textual information in the form of variable length electronic data structures, each page comprising control information and displayable data, said control information comprising at least one exit path for directing the user from one page to another page;

b. providing said terminal with a display for graphical and textual information;

c. constructing a first operational node connected to and including said first database and said terminal;

d. providing a second database for supplying graphical and textual information;

e. constructing a second operational node including said second database and connected to said first operational node for supplying graphical and textual information to said terminal through said first operational node; and

f. providing a first application program at said first operational node and a second application program at said second operational node for controlling transferring of information, exchanging of messages and executing of transactions between said terminal and said second operational node through said first operational node.

27. A method as in claim 26 further comprising the step of connecting a third operational node to said first operational node including a third database and a third application program for providing information about said first and second databases and said first and second application programs to said terminal.

28. A method as in claim 26 comprising the further step of operationally connecting said first and second operational nodes to a network of operational nodes.

29. A method as in claim 30 comprising the further step of providing a third database for supplying graphical and textual information and an operational node for connecting said third database to said network for accessing by said first and second operational nodes.

30. A method as in claim 28 comprising the further step of providing a plurality of terminals for displaying graphical and textual information and an operational node for connecting said plurality of terminals to said network.

31. A method as in claim 28 comprising the further step of providing each of the first and second operational nodes with a directory database of available graphical and textual information on said network and operational nodes.

32. A method as in claim 28 comprising the further step of connecting another terminal and another database to said network.

33. A method as in claim 28 comprising the further step of operationally connecting said network to a database outside of said network.

34. A method as in claim 28 comprising the further step of operationally connecting said network to another network.

35. A method as in claim 28 comprising the further step of providing an operational node comprising a plurality of application programs and connecting it to said network for exchanging messages with and executing transactions with said terminal through said first operational node.

36. A method as in claim 28 comprising the further step of providing said first operational node with means for identifying said user comprising a combination of an operational-node-unique identifier and a system access code, the combination of which is unique to said network.

37. A method as in claim 28 comprising the further step of providing said first database with means for identifying said first database comprising a combination of an operational-node -unique identifier and a database access code, the combination of which is unique to said network.

38. A method as in claim 28 comprising the further step of providing a database directory of said first operational node.

39. A method as in claim 26 comprising the said first database means further step of organizing said pages into a pageset in a scroll sequence.

40. A method as in claim 26 further comprising the step of accessing said pages in their sequence order within a pageset for display on said terminal.

41. A method as in claim 26 further comprising the step of accessing a page directly from within said first and second databases.

42. A method as in claim 26 further comprising the step of marking said page being displayed on a terminal for later access.

43. A method as in claim 26 further comprising the step of recalling a page that was marked for later access.

44. A method as in claim 26 further comprising the step of identifying a page being displayed by a synonym for later access.

45. A method as in claim 26 comprising the further step of adding information to a page after being selected for and prior to display.

46. A method as in claim 26 further comprising the steps of access checking said first database and access checking a page.

47. A method as in claim 26 comprising the further step of invoking and executing a program in response to a user selection through said terminal.

48. A method as in claim 26 comprising the further step of exchanging information between said terminal and an operational node using said first application program.

49. A method as in claim 28 comprising the further step of providing said first operational node with a host for accessing data and a distribution system for caching said data.

50. A method as in claim 49 comprising the further steps of providing said host with a receive port and a transmit port and handling all communication to said receive port from said distribution system and handling all communications from said transmit port to said distribution system
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

The present invention relates to electronic information and communication systems and more particularly to a combination of operational nodes incorporating databases and application programs for providing graphical and textual information (Videotex) and transactional capabilities to end-user terminals connected thereto.

A Videotex service is a medium for conveying information electronically in an effective, user friendly, and relatively inexpensive manner to a large user population. It combines color, graphics and text in a single display to provide an attractive presentation of information to experienced as well as novice users. It is assumed that as its popularity increases the majority of users, while not being trained in data processing, will be interested in using it for message exchange and transactional activities, in addition to using it to access a wide range of information bases. Experienced users will generally wish to obtain specific information in a quick and direct fashion while novice users will tend to browse through databases trying to determine the value of the information being offered.

First and second generation Videotex services have tended to be limited both in the range of information bases offered and in the ability of the system to cater to the capabilities of a wide range of end-users. On the other hand, Data Processing Networks, such as the IBM VNET and the XEROX ETHERNET, have been developed to improve and integrate communication between and among individual computer terminals and databases. However, these networks essentially are either in-house, local area systems wherein the majority of the operating devices, work stations and data bases are proximately disposed, such as within an office or a plant, or are non-interactive and provide for a file transfer mode of operation.

Other networks such as the IBM Information Network (IN) and IBM's PVM systems do provide on-line interactive sessions between centralized data processing machines and their users who may be located remotely. However, these networks do not offer the consistent and easy-to-use interfaces for which Videotex services are well known.

With the increasing growth in large, centralized special-purpose databases along with integrated individual compact work stations capable of handling information presentations in color, graphics, and text (Videotex), the desirability of developing an extended architecture to foster cooperation among a wide range of remotely located terminals and databases has become manifest.

SUMMARY OF THE INVENTION

The present invention involves an architecture for and the implementation of an information utility for accessing information and executing transactions on an interactive basis between Videotex databases and individual end user terminals, some or all of which may be remotely located with respect to each other. A Videotex Application Network (VAN) toward which the invention is directed includes a combination of distributed, semiautonomous Operations Nodes (ONs), each characterized by (1) one or more affiliated users, (2) the inclusion of some form of database, and (3) one or more customized application programs. Each node is also capable of "stand alone" operation, that is, it can service the needs of its user population and need not be connected to any other node.

A typical Operations Node with end-user terminals, which may be referred to as an Establishment Operations Node (EON), supports a unique user interface through which users get controlled and secure access to a wide variety of databases stored locally and/or remotely. Through this node, users may also interact with a large number of application programs distributed over the entire VAN which provide additional and specialized services to users of the node. The user interface, the mechanisms for secure access to information, and the application environment supported by the ON are important features of the invention.

Provision is made for Operations Nodes to be adapted to special functions within the network. For example, while a typical node may consist of a system with one or more databases and end user terminals (EON), another node may consist only of specialized databases (DON) maintained by information providers (IPs) without end users or application programs. Similarly, a third node may merely consist of a directory databasee with a number of unrelated end user terminals (TON). An operations node may be configured with a directory database and just a set of application programs providing services to users on the network (PON). A number of small inhouse users may cooperate to form a multiorganization node (MOON) and special nodes may be formed to handle access to other networks (NON) or to interface with third party databases (ION). Finally, an Operations Node may assume the role of a Systems Operations Node (SON) which maintains a global directory of databases and application programs available at various nodes and may act to supervise and coordinate the interactions and operations of all the nodes in the system. In all, the application architecture and specific implementation disclosed offer valuable capabilities and services to end users.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a Videotex Application Network (VAN) in which the present invention may be implemented and various configurations that an Operations Node may assume.

FIG. 2 shows the overall architecture of an Operations Node (ON) in accordance with the present invention.

FIG. 3 is an example of a hardware and software configuration for an ON host.

FIG. 4 shows the relationship of ON-specific software to other exemplary components that may exist on an ON host.

FIG. 5 illustrates the global data structure in an ON host.

FIG. 6 is an overview of a Transaction Application Subsystem (TAS).

FIG. 7 is an outline of a sample application program running under TAS.

FIG. 8 is an overview of the transaction data area maintained by an ON host

FIG. 9 details the logic involved in starting an application program on the host.

FIG. 10 is an example of the hardware involved in implementing the distribution subsystem.

FIG. 11 shows the software involved in executing the logic of the distribution subsystem.

FIG. 12 is an example of a typical end user terminal configuration that may be connected to an ON distribution subsystem.

FIG. 13 shows the software involved in executing the logic of the end user terminal.

FIG. 14 provides details of the Input/Output Control System on the end user terminal.

FIG. 15 shows how keystrokes input by end users are processed by the terminal software.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

A system generally embodying the main components of the present invention connected to a Videotex Application Network (VAN) is illustrated in FIG. 1. A fundamental component in the architecture is the Operations Node (ON), which is the unit through which all end-user terminals are connected to the system and wherein resides one or more databases with Videotex information available to other connected nodes. The nodes in their various forms, their interactions with end users and their services together make up an informaion utility or system.

First considering the system conceptually, all of the nodes, irrespective of their particular forms, are semiautonomous in that they are capable of many functions and operations on their own, that is, they may carry out in-house data processing and information exchange between their local databases and terminals without interacting with the system at large. The Operations Nodes are also distributed, that is, remotely located with respect to each other, and each may be connected to one or more other nodes in the system. The communications paths also support multiple concurrent "conversations" both from and to any particular Operations Node as well as between any pair of Operations Nodes. At the same time the paths are such that the addition or deletion of any one or more nodes causes a minimal amount of disruption to the network.

The VAN does not support a "single system image", so that each ON will recognize (hold a user profile for) only that set of users with which it expects to be dealing on a regular basis. Each such profile is identified by an ON-unique identifier. The identifier takes the form of an identification name, number, or symbol (the ON-ID), concatenated with a System Access Code (SAC ). The SAC/ON-ID combination is unique within the VAN. A user for whom there is an identifiable profile on an Operations Node is said to be affiliated with that ON. A user may be permitted to be affiliated with more than one ON. Profile records of a user at different ONs need not be identical; indeed, for various reasons of security and economy, a user may have different profiles at different ONs. However, a user can be serviced only at ONs with which he is affiliated. Servicing includes the process of logging on to the system, information retrieval, and the conduct of various transactional functions (e.g., data collection).

Information at an Operations Node is preferably organized in terms of pages. A page is a variable length data structure consisting of control information and displayable data. Displayable data in a page is normally encoded in accordance with the North American Presentation Level Protocol Syntax (NAPLPS), an industry standard, and preferably read out in color, graphics, and text form on a display device at the terminal of an end user.

Pages may be organized as scroll sequences for purposes of continuity of presentation, animation effects or for other reasons. Such sequences are known as pagesets. There is no conceptual limitation on the number of pages comprising a pageset. A group of pagesets that are related by some semantics may be recognized by the system as belonging to a database. Each such database is identified by a unique identifier in the form of an ON-ID concatenated with a Database Access Code (DAC).

Databases may be owned by Information Providers (IPs) who are responsible for their creation and maintenance.

An IP may be one person or may be an organization consisting of several people or entities, each with one or more assigned roles.

A VAN database is said to be local to an Operations Node if its pages are permanently stored at that ON and are maintained by privileged users (IPs) affiliated with that ON. Similarly, if the pages of a database are stored elsewhere in the VAN, such a database would be viewed as being remotely situated. In either case it is preferred that all VAN databases share a common welldefined structure, and the pages or pagesets of a particular database are always stored within and maintained by a single ON.

One or more exit paths may be defined for a page. These exit paths allow the user to navigate from the currently displayed page to another page. Two types of exit paths are defined. The first type, user-deined exit paths, are those that are derived by the system from the user's prior behavior. For instance, an exit path to the previous page displayed is known to the system because it keeps track of a limited history of page accesses by the user. Other such exit paths are described more fully below. The other types, Information Provider-defined exit paths, are embedded in the control area of a page and are invoked by certain functions also described below.

Users can request information from VAN databases and Third Party Databases (TPDs). Information on TPDs may be organized differently from VAN databases, but access mechanisms for the two types of databases are adapted to be very similar.

VAN databases, as mentioned, may be locally or remotely situated. However, because all such databases are structurally identical, accesses to non-local as well as local Videotex databases are carried out in such a way that the user is unaware of the locality of the databases. This is done by keeping implicit both the process of connecting to a remote ON for access to a non-local database, and the process of disconnecting from it when the user signals a context change.

VAN databases, whether local or remote, that are accessible from a given ON, have entries in the database directory of that ON. This directory enables the On to determine the location and type of the database in question. It is to be noted that not all VAN databases are necessarily accessible from every ON in the network. The accessibility of a VAN database from a given ON will typically be a matter of negotiation between the ON wishing access and the database-owning IP.

The procedures for handling accesses to TPDs, as mentioned, will be similar. An exit path from a local or remotely situated VAN database page will indicate that a page from a TPD is to be retrieved. Like VAN databases, TPDs are also represented by an entry in the ON's database directory. If the requested TPD is accessible from the ON with which the user is affiliated, then an entry will have been set up in the ON's directory. This entry enables the ON to make requests to the (external) system on which the TPD is resident. The TPD system, while maintaining its databases independent of the VAN, will recognize the page, pageset, and database semantics in order to carry out a meaningful access session with the VAN user. The particular manner in which communication between a TPD system and the VAN is conducted will vary and be within the purview of those skilled in the art and so will not be discussed here in detail.

END-USER FUNCTIONS

A comprehensive repertoire of functions is available to the end user to access information within the ON with which he is affiliated as well as on other ONs. These are discussed in this section in the context of using a computer keyboard at the end user terminal to call up and control function operation and display.

A scroll function allows the end user to access pages in their sequence order within a pageset. The user may scroll forward to access the next page in sequence or may scroll back to access the previous page. The point of reference in scrolling is always the currently displayed page. The exit paths associated with scrolling are always embedded in the control section of the currently displayed page's data structure.

A retrace function allows the end-user to trace back (in time sequence) to pages previously displayed. The exit path for the retrace function is derrived by the system based on past user actions.

A menu selection function allows the end user to make a selection of an integer within a given range such that each such selection causes the system to undertake a potentially different exit path. Each such exit path must be defined in the control section of the currently displayed page. The various types of exits for a selection are:

Null: This path indicates that the selection is currently inactive and is therefore not a valid exit path.

Direct Reference: In this case, the exit identifies uniquely a page within some database in some Operations Node within the VAN.

Description based search: This exit provides a program identifier that is invoked by the system. The program conducts a search of the current database according to some search criteria and produces one or more pages containing the results of that search. The criteria may be provided by the end-user in the form of responses to prompt strings specified in the exit path.

Program Trigger: This exit is a generalization of the description based search exit. Whereas the description based search exit provides for the activation of a special purpose program to search a VAN database, program triggers allow for the activation of any program. The logic of such programs may not be known to the system.

Command String: This exit allows for simulation of other types of exits from within a menu selection. For example, this exit may be used to simulate the scroll function described above.

It should be noted that not all pages may have menu selection exits defined in their control sections. A page that has menu selection defined for it is known as an index page.

A find function permits a page within a database to be accessed directly by a user. The find function requires the user to specify the database name, the pageset and page identifiers. A user session manager at each ON will maintain context (or present state) information for every active user. The database context of a user is the database to which the currently displayed page belongs.

Because the current database is always known to the system, a user need not specify the database name if he wishes to find a page within the current database. An IP intending to create a database for access by the VAN user community must specify a database name which is used by the session managing ON when accessing that database on behalf of a user. An IP may own more than one database within an ON.

A backup function is used to display the last index page prior to display of the currently displayed page. Successive backups works backwards through a (limited) sequence of previously seen indexes.

A next function is used to take the next exit path on the last index page displayed prior to the display of the currently displayed page. It is equivalent to a backup followed by an increment of the choice number, saving the intermediate display. Its prime use is for browsing through a list of items.

A mark function causes the system to "remember" the currently displayed page for later access via a recall function.

A recall function is used to display the page that was "marked". If several pages are marked before a recall is issued, the most recently marked page will be displayed. Context information is saved with the mark and restored with recall, so that if the end user has retrieved a page via menu choice, marked it, and later recalled it, the backup function would return to the menu from which the end user originally retrieved the page.

A define function allows the end user to define synonyms for the currently displayed page or to define string substitutions. Thus users may "name" often-displayed pages with identifiers that are most meaningful for them and have such pages accessed by name at a later time. String substitutions allow users to abbreviate frequently used command strings.

A tell function displays the definition of a specific synonym or all the synonyms.

A last command function causes the system to display the last command string that was entered by the user. Successive "last commands" work backwards through a sequence of previously entered commands, eventually returning to the newest command in a circular form. Last command has two corollary functions, as well. One moves through the list in the opposite direction and the second repeatedly retrieves the most recent command without moving through the list of saved command strings.

A home function causes a previously designated page to be displayed and restores the end-user to a known state.

A cancel function allows the user to terminate processing of the last function by the system.

A help function may be invoked by the user to display information about how to use the system or to provide information pertinent to the currently displayed page.

A reshow functin redisplays the current page.

A capture function saves the current page in a file local to the end-user terminal for offline review.

An unsolicited keyword search function allows the user to enter a term that represents a topic covered within the current database. The user is presented with a menu specifying the pagesets within the database that cover that topic. The user may then examine the "hits" if desired through simple menu selection or the other navigational functions. Keyword search lets the user break out of a menu hierarachy more directly to a topic of interest.

SYSTEM/USER INTERFACE

Screen Management

The display area on the end-user's terminal is controlled by the use of multiple overlaying windows. The use of such windows facilitates management of the contents of the screen without losing information that may be important to the user, and provides for adequate and timely interactions between the user and the system.

In the following discussion, several types of windows are described. These windows overlay the underlying page image when necessary and the overlayed area is always restored when the window is no longer needed.

A Command line window--appears, for example, at the bottom of the screen whenever the end user begins typing something during a display mode. (Dispaly modes will be described later in this section.) The command line window is preferably wide enough to accommodate a single line of text and function key definitions. The command window can be made to disappear (and have the underlying screen restored) by pressing a pre-designated key. This key can be used to toggle between the command window and the underlying screen. If the key is not used to toggle between the window and the screen, the window will appear when the user begins a command sequence and disappear when the command has been accepted for execution by the system. One of the customization options would be the placement of this command window, e.g., at the top of the screen or bottom of the screen, and another would be the specific toggle key.

A Prompt window--allows the system to prompt the end user with a short text string and obtain a response back. This is used in conjunction with program triggers that require one or more parameters from the user. The prompt window appears when a user makes a menu choice requiring a prompt and disappears after user input has been received.

An Action menu window--is a window of variable height (depending on the number of action items). The window appears on the screen when an action key is pressed and disappears when the user has selected a choice from the action menu. (The action key and its use are described below).

A Message window--allows the system to put up informational and/or error messages. Error messages usually appear in response to a command that could not be executed by the system for some reason (e.g., security violation, page not found, etc). The message window disappears when the user strikes a key to begin a new command string. The message window may also be used for display of one-line messages sent to one end user by another end user.

A Help text window--is used to show brief help information. The amount of information will not normally exceed a few lines. Its location is also subject to customization.

Modes of Interaction

There are two distinct modes of interaction which the user might be in at any time, a display mode and an action mode. Once the user has successfully logged on the system, he is deemed to be in the display mode.

In the dispay mode, the user can invoke all of the information access functions which include: SCROLLING; MARK/RECALL; MENU CHOICE SELECTIONS and accompanying prompts, if any,; BACKUP/NEXT; RETRACE; TELL/DEFINE; FIND; HOME; HELP; AND CANCEL. Any of these commands may be invoked via a function key/synonym combination on the terminal keyboard. Such function keys may be defined in one of three ways: (1) shorthand cursor control keys, such as those that move the cursor back to the beginning of the line; (2) shorthand keys for a text string; and (3) keys for direct mapping into a command. Cursor control functions never leave screen management and are thus not of particular interest here. Type (3) keys are routed immediately for processing as they already represent the encoding of a command. Their functions are not echoed to the screen since they have no text, nor are they saved in the list of recent commands.

Type (2) keys that map into text, further subdivide into two types--those that have termination characters and those that don't. The outputs evoked by those that do are taken up for execution immediately, while the outputs of those that don't are displayed on the command line as if they were just typed and the end-user may proceed to edit the line before pressing the <ENTER> key to initiate command processing. A key need not map into an entire command. It may simply be shorthand for a common text string, with the end user supplying the rest of the command. The <CANCEL> key has the effect of aborting the execution of the current command, if any. Function keys are defined by the user during a customization session, with a set of default definitions otherwise provided.

During display mode, only one command may be under execution for a given user; in addition, the system will accept one or more type-ahead characters for pending analysis. The user does not leave the display mode unless he explicitly requests the system to do so. Thus, he may view Videotex pages and transaction pages without leaving th