`United States Patent
`4,805,134
`Calo et al.
`Feb. 14, 1989
`Date of Patent:
`[45]
`
`Patent Number:
`
`[11]
`
`[54]
`
`[75]
`
`ELECTRONIC SYSTEM FOR ACCESSING
`GRAPHICAL AND TEXTUAL
`INFORMATION
`
`Inventors: Seraphin B. Calo, Peekskill;
`Krishnamurthi Kannan, Yorktown
`Heights; Suk S. Soo, Mount Kisco;
`Thomas G, Burket, Pleasantville;
`John W. Wiley, Jr., Yorktown
`Heights,all of N.Y.
`
`(73)
`
`Assignee:
`
`International Business Machines
`Corporation, Armonk, N.Y.
`
`(21)
`
`Appl. No.: 817,389
`
`[22]
`
`Filed:
`
`Jan. 9, 1986
`
`OTHER PUBLICATIONS
`
`Kumamotoetal. “Captain System.” Japan Telecommu-
`nication Review (Jul. 1980), pp. 215-222.
`Marti et al. “The Antiope Videotex System.” IEEE
`Transaction on Computer Electronics, vol. CE-25, No.
`3 (Jul. 1979), pp. 327-333.
`Robinson et al. “Touch-Tone Teletext a Combined
`Teletext-Viewdata System.” IEEE Transactions on
`Computer Electronics, vol, CE-25, No. 3 (Jul. 1979),
`pp. 298-303.
`J. P. Gray, “Network Services in Systems Network
`Architecture,” JEEE Transactions on Communications,
`vol. COM-25, No. 1, pp. 104-116, Jan. 1977.
`Primary Examiner—David Y. Eng
`Assistant Examiner—Robert B. Harrell
`Attorney, Agent, or Firm—Thomas P. Dowd; Marc D.
`Schechter
`
`ABSTRACT
`(57]
`Bat CUS isssticns tecnica GO6F 13/00
`[51]
`An architecture for the implementation of an informa-
`NI EU,|caaisoyeatenseyancecaseiesottsesarenvanasayetsvaas 364/900
`
`[52]
`tion utility for accessing information and executing
`[58]
`Field of Search ... 364/200 MS File, 900 MSFile;
`transactions On an interactive basis between Videotex
`358/85, 86, 142; 370/89, 86, 90, 60, 58, 54, 85,
`databases and individual end user terminals, someorall
`103, 104; 340/717, 721, 711, 703, 797; 379/94,
`of which may be remotely located with respect to each
`221, 40, 50, 200, 100, 94, 96
`other. The utility may be associated with a Videotex
`Application Network (VAN) and includes a combina-
`tion of distributed, semiautonomous Operations Nodes
`(ONs), each characterized by (1) one or moreaffiliated
`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 data-
`base comprises pages of control information and dis-
`playable data. Each node comprises a directory of data-
`bases at other nodes.
`
`[56]
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`6/1982 Guillow 00.0.2... cecsseeresenes 358/114
`4,337,483
`6/1982 Chambers ...
`--. 358/147
`4,337,485
`
`4/1983 Warmer o.u...cccescscseeseenceeeeee 179/11
`4,379,947
`4,479,196 10/1984 Ferrer et al. sites
`ie
`4,533,948
`8/1985 McNamara et al.
`
`4,555,731 11/1985 Baldry etal.
`
`4,649,533
`3/1987 Chorley et al..,
`4,691,340 9/1987 Maeda et al.
`
`50 Claims, 12 Drawing Sheets
`
`Dane a
`@
`€/0)
`(_) pimectory
`sanaes
`) DATABASE
`
`Pon|son} LEON |) oxramse
`SYSTEM
`PROGRAM
`ESTABLISHMENT
`CABLE TV OPERATIONS|OPERATIONS
`OPERATIONS
`1
`peeciony
`pall
`rnarins
`DATABASE
`WOOE
`NODE
`NODE
`
`
`
`mre LOTT
`
`C3
`
`DATABASE
`
`OPERATIONS
`NODE
`
`MUL
`ORGANIZAT
`
`NODE
`
`SsmT ose
`OPERATIONS.NODE
`C/)) €/)
`peo Gee
`
`DATABASE
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 1
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 1
`
`
`
`US. Patent
`
`Feb. 14, 1989
`
`Sheet 1 of 12
`
`7}/3
`
`ISVAV1VGeeNVASNOI1VUId0
`
`imaWNINSIL~—SNOILV43d0SNOILVU3d0|SNOILVYId0AL31aV9
`
`xsvavivasnoitva3d000N300N300NL_{
`ssvaviva\|]] snotivaadoJd]L70030¥JUNIOM1IN-insaSYIHLO&
`“£[Nod|ASVAvivdimNON©)
`
`cy|Non3svavivai|NOF-[Nos|[Nod
`
`
`eAmaIN3NHSITAY1S3NJISASNVY90Nd
`vemCroom]roomanaessNoIL¥8340
`
` /\,QDYim)!@@mite|JI4JSVEVLVOv3
`
`SINIAL67@ii)AYOLI3U(>
`()asvavivd(|
`(/ISvEV1VG
`
`_300N
`
`4,805,134
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 2
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 2
`
`
`
`
`
`US. Patent—Feb. 14, 1989 Sheet 2 of 12 4,805,134
`
`
`
`Database, Network
`and Transactional|4—————._ 20
`Machine (HOST)
`
`
`
`22 ——|
`COMMUNICATION CHANNEL
`Subsystem(s)
`
`Distribution
`
`+——_ 23 ——_>
`
`Terminal Population connected via dial-up or
`
`local area network
`
`Overall Architecture of a Videotex Operations Node.
`
`FIG. 2
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 3
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 3
`
`
`
`US. Patent
`
`Feb. 14, 1989
`
`Sheet 30f12
`
`4,805,134
`
`FIG. .S
`
`370 CLASS MACHINE
`
`wCmMEezrPpro
`
` HOST
` 20
`
`
`
`
`
`
`
`
`
`
`
`
`PORTS
`
`
`
`emminas
`
`
`CNTRLR
`
`TELECOM
`CONTROL
`UNIT
`
`
`
`
`
`CNTRLR
`
`TERMINAL
`CNTROLLER
`
`
`
`
`
`Example Hardware Configuration for an ON Host
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 4
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 4
`
`
`
`US. Patent
`
`Feb. 14, 1989
`
`Sheet 4 of 12
`
`4,805,134
`
`L¢-1SNOILIWSNVUL|4———>
`
`
`NOILIVSNWUL|CCWaLSAsa@ns|+—1€
`yawoOLsnd-||
`WALSASW3LSAS
`
`
`
`NOILW9IIdd
`
`W31SASENS
`
`NOLLNGINLSIG
`
`
`
`yilvd300N
`
`(S)NOI93¥
`
`
`
`SNOILVY3ad0g¢
`
`asvevivd
`
`ON|AYOMLIN
`
`AYVALIOS
`
`“be
`
`
`
`
`
`sjusuodutosajdusexaJayI00731eMJOSDIjl09ds-NOJodiysuonejayY*9[e
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 5
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 5
`
`
`
`
`
`
`US. Patent
`
`Feb. 14, 1989
`
`Sheet 5o0f12
`
`4,805,134
`
`zxoOooregrPAarborPepeorn
`
`Work CBs
`
`HOST Control Blocks Built
`
`at Initialization
`
`
`
`
`Cache Mgmt
`Structures
`
`a A
`
`ctive Element Data
`
`
`\ per a
`
`
`
`
`
`Resource Contro! Table
`
`
`
`
`
`
`Cache Origin Tab —»>
`
`
`Class Q Anchors
`
`
`
`
`
`
`
`
`
`
`
`
`Resource Ctl Tab —»
`
`Resource Class Q >
`
`Global Data Block in an ON Host
`
`F ] G ° 5
`
`TRANSACTION APPLICATION SUBSYSTEM (TAS)
`
`Initiator
`
` Transaction
`Subsystem
`
`F I G é 6 Overview of Transaction Application Subsystem
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 6
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 6
`
`
`
`US. Patent
`
`Feb. 14, 1989
`
`Sheet 6 of 12
`
`4,805,134
`
`
`
`(901VI0NOILIVSNVHL)3003u3aSN
`
`
`
`
`
`
`
`indursasnwos
`
`
`
`ynduiSa@ajazas
`
`uoiy2Iesuesye&UO
`
`aedyjq2]e019
`
`O71usnjaspue
`
`-abed
`
`
`
`*49;,e82
`
`wil
`
`wit
`
`abedyjAmauping
`pueALy2y2uo,
`
`pus02puemsoy
`
`
`
`*p@uimsa)sasn
`
`
`
`asuodsayjIesIKa
`
`
`
`ula2e|delep
`
`@as2dewyndui,,
`
`
`
`segejyepjuauewsed10
`
`paws0y(|{9M31015
`
`dwa,uya6edya
`
`WOILIVSNYYL
`
`SINILNOY
`
`JIVINILNI
`
`(4)dWWAIY
`
`$S$a20ud
`
`ajiyAwuado
`eiepAwpeas
`~OSP!A24839yVdHOLS
`
`
`PuedyYWAIY‘dWWON3S
`
`*39vd139“9dQTING
`
`
`
`Id011NG
`
`
`
`P9sSnSBIIAsaSKa]
`
`—ij3A0dnyas
`
`dewyxaqAe;
`
`YlIMpuas*:**
`
`
`
`paqw!sd1d¥N
`
`(**)dwwoNas
`
`voijdo
`
`42Snpua326
`
`
`
`(dew)dywaay
`
`“asuodsas
`
`asuodsai
`
`anaes***
`
`$saz0ud
`
`a6ed3;weudp
`
`I9vd3YOLS
`
`ssa20ud
`
`ayeulwsay
`
`$sazo0id
`
`
`
`uor}2eSues]ayyAq
`
`wesGoud
`
`
`
`
`
`auIINOWess01gUoNoesuelyajduesl*9)I4
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 7
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 7
`
`
`
`
`US. Patent
`
`Feb. 14, 1989
`
`Sheet 7of 12
`
`4,805,134
`
`TRANSACTION SESSION MANAGEMENT CONTROL STRUCTURES
`
`Host Anchor Point
`|
`
`COMMON STORAGE AREA (multiple regions)
`
`SSBLOCK
`TAS TABLE
`
`VSMPTR
`
`TASTPTR
`
`
` ADDRESS SPACE
`
`RCT SEGMENTS
`
`
`
`
`
`
`
`
`
`
`DAC ——»DB entry
`
`
`
`SAC —user entry
`
`
`
`BLOCK ENTRY
`
`TAC/ON
`
` Other
`
`info
`
`Overview of Transaction Data Areas
`
`FIG. 8
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 8
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 8
`
`
`
`U.S. Patent
`
`Feb. 14, 1989
`
`Sheet 8 of 12
`
`4,805,134
`
`2]8p(#uo0!.e|a4SpaauvoiyIesues)i3S0H02[|[22—»WS1=0D139
`
`
`
`
`
`azedsssauppysyL
`
`(Svi=(E€)a1a1w2
`
`
`
`
`
`amNO/JVSPUENO/IV1P42Sse,aweseY
`
`
`
`waysASqnsvo!yng:43Siqwosy
`
`
`quaby4404
`MO]21907]UOTORSURIL1121S
`
`
`
`
` MapulSwi=(E)at19Day14815
`
`
`a2edsSS4ippy1SOHNO
`anenh|aud)
`WSi=0DLNd
`323N41Su0d
`
`
`
`
`
`
`
`6“SI4
`
`ys1(ges]
`
`
`
`Oo]peasy)
`
`jeuoryeyas
`
`wasds
`
`o74UIy
`
`
`
`
`
`K@IOBPIABNSs|Jasn,,
`
`
`
`sousey]=|,apoy
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 9
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 9
`
`
`
`
`
`
`
`
`US. Patent—Feb.14, 1989 Sheet 90f 12 4,805,134
`
`
`
`To/From Host Machine (20)
`
`channel
`
`( 22)
`
`channel attachment feature
`
`
`
` 21
`
` +—-» diskette
`Processor
`—
`+—-+» disk
`512KB — 1024KB storage
`
` 1/0 controller
`
`
`1/0 controller Lo x % Lo|a
`Ht
`user termina s(23)
`
`terminal <——>
`
`FIG. 10
`
`Example Distribution Subsystem Hardware Environment
`
`To/From Distribution Subsystem (21)
`
`asynchronous line
`
`
`line controller
`
`23
`
`PC
`+—-» diskette color
`4—-> disk
`
`monitor
`
`256KB or more storage
`
`«+——
`
`keyboard
`
`monochrome monitor
`
`F I G ‘
`
`1 2 Example Hardware Configuration for End-User Interface.
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 10
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 10
`
`
`
`US. Patent
`
`Feb. 14, 1989
`
`Sheet 10 of 12
`
`
`
`woi601g
`
`wesBoug
`
`soesadg
`
`wesboug
`
`
`
`S2{NOPYPETIEpPUUEG?M21ALBAQ942M405
`
`PeQtlfPe
`UdOIIDZI|DIpiluT
`Ayiaryay|4—]aaiaues
`
`
`607sabeuey
`yIeqiyjauuey)
`
`peurwsayer
`
`yaoddns1JO]1U0W
`
`Suajpuey[<>|sao7
`
`yaeilyaIuewIO,IIY|@uuey)
`S|Puma.|sa0t|+4asn
`
`wazsdsqnsYO!ing)43sig
`lL“OT4
`
`
`
`
`
`
`
`
`
`
`
`wvyu¥OOUdTOHVLNOIDAGAIGILPAOYdSFIIAYNIS
`
`1SOH92
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 11
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 11
`
`
`
`
`
`
`
`
`
`
`US. Patent—Feb.14, 1989 Sheet lof 12 4,805,134
`
`
`
`Application Manager
`
`keyboard
`
`4—+?| Screen
`Manager
`
`r|
`13)
`
`Transaction funetions
`
`decoder Display functions ——___»
`
`
`133
`
`NAPLPS
`
`
`
`110
`
`
`
`Distribution Subsystem
`
`134
`
`f
`
`
`
`Graphics Support
`
`monitor
`
`SERVICES PROVIDED BY CONTROL PROGRAM
`
`Software Configuration for End-User Terminal
`
`FIG. 13
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 12
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 12
`
`
`
`US. Patent
`
`Feb. 14, 1989
`
`Sheet 120f12
`
`4,805,134
`
`Q
`
`Task
`
`140
`
`Task(s)
`
`12a
`
`Session
`Layer
`
`1/0 Service
`Manager
`
`[ Task
`
`Port Interrupt
`
`142
`
`F | G e
`
`Hardware and Operating System
`1 4 IOCSStructure on the End-User Terminal
`
`151
`
`Window Manager
`
`msgs +
`help
`
`commands and field
`data
`
`Character
`
`Command Handlers
`
`Key Defs
`Lo
`Interrupt handler
`re aLSeveenFar Jo [Fh
`
`Cp interface
`
`
`AS2
`
`Command Parsing
`
` and
`fonts
`110
`
`Communications gS
`
`Layer
`(10CS)
`
`
`
`coment
`
`153
`
`F I G .
`
`1 5 Keyboard Processing on the End-User Terminal
`
`
`
`154
`
`-
`
`195
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 13
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 13
`
`
`
`1
`
`4,805,134
`
`ELECTRONIC SYSTEM FOR ACCESSING
`GRAPHICAL AND TEXTUAL INFORMATION
`
`BACKGROUNDOF THE INVENTION
`
`5
`
`The present invention relates to electronic informa-
`tion 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 trans-
`actional capabilities to end-user terminals connected
`thereto.
`A Videotex service is a medium for conveying infor-
`mation electronically in an effective, user friendly, and
`relatively inexpensive manner to a large user popula-
`tion. It combines color, graphics and text in a single
`display to provide an attractive presentation of informa-
`tion 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 inter-
`ested in using it for message exchange andtransactional
`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 informa-
`tion 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 VNETand the XEROX ETHERNET,have been
`developed to improve and integrate communication
`between and amongindividual 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 fora file trans-
`fer mode of operation.
`Other networks such as the IBM Information Net-
`work(IN) and IBM’s PYM 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 spe-
`cial-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.
`
`SUMMARYOF 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 indi-
`vidual end user terminals, some orall of which may be
`remotely located with respect to each other. A Video-
`tex Application Network (VAN) toward which the
`invention is directed includes a combination of distrib-
`uted, semiautonomous Operations Nodes (ONs), each
`characterized by (1) one or moreaffiliated users, (2) the
`inclusion of some form of database, and (3) one or more
`
`25
`
`30
`
`35
`
`45
`
`55
`
`60
`
`65
`
`2
`customized application programs. Each nodeis also
`capable of “stand alone” operation, thatis, it can service
`the needs of its user population and need not be con-
`nected to any other node.
`A typical Operations Node with end-user terminals,
`which may be referred to as an Establishment Opera-
`tions Node (EON), supports a unique user interface
`through whichusers get controlled and secure access to
`a wide variety of databases stored locally and/or re-
`motely. Through this node, users may also interact with
`a large numberof application programs distributed over
`the entire VAN which provide additional and special-
`ized services to users of the node. The userinterface,
`the mechanisms for secure access to information, and
`the application environment supported by the ON are
`important features of the invention.
`to be
`Provision is made for Operations Nodes
`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. Simi-
`larly, 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 pro-
`grams providing services to users on the network
`(PON). A number of small inhouse users may cooperate
`to form a multiorganization node (MOON)andspecial
`nodes may be formed to handle access to other net-
`works (NON) orto interface with third party databases
`(ION). Finally, an Operations Node may assume the
`role of a Systems Operations Node (SON) which main-
`tains a global directory of databases and application
`programs available at various nodes and may act to
`supervise and coordinate the interactions and opera-
`tions of all the nodes in the system. Inall, the applica-
`tion 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 imple-
`mented and various configurations that an Operations
`Node may assume.
`FIG. 2 shows the overall architecture of an Opera-
`tions Node (ON) in accordance with the present inven-
`tion.
`FIG.3 is an example of a hardware and software
`configuration for an ON host.
`FIG. 4 showsthe relationship of ON-specific soft-
`ware to other exemplary components that may exist on
`an ON host.
`FIG.§ 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 appli-
`cation program onthehost.
`FIG. 10 is an example of the hardware involved in
`implementing the distribution subsystem.
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 14
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 14
`
`
`
`4,805,134
`
`3
`FIG. 11 showsthe 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 ONdistribu-
`tion subsystem.
`FIG. 13 showsthe softwareinvolved 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 Appli-
`cation Network (VAN) isillustrated in FIG. 1. A fun-
`damental componentin the architecture is the Opera-
`tions Node (ON), which is the unit through whichall
`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 semiau-
`tonomous 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 commu-
`nications paths also support multiple concurrent “con-
`versations” both from and to any particular Operations
`Nodeas well as between any pair of Operations Nodes.
`At the sametime 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 VANdoes not support a “single system image”,
`so that each ON will recognize (hold a user profile for)
`only that set of users with whichit 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 combinationis unique within the VAN. A
`user for whom there is an identifiable profile on an
`Operations Nodeis said to be affiliated with that ON. A
`user may be permitted to be affiliated with more than
`one ON. Profile records ofa 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
`ONswith which heis affiliated. Servicing includes the
`process of logging on to the system, information re-
`trieval, and the conduct of various transactional func-
`tions (e.g., data collection).
`Information at an Operations Nodeis preferably or-
`ganized 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 Pre-
`sentation Level Protocol Syntax (NAPLPS), an indus-
`try standard, and preferably read out in color, graphics,
`
`25
`
`55
`
`65
`
`4
`and text form on a display device at the terminal of an
`end user.
`Pages may be organized as scroll sequénces for pur-
`poses of continuity of presentation, animation effects or
`for other reasons. Such sequences are known as page-
`sets. There is no conceptual limitation on the numberof
`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 mainte-
`nance.
`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 VANdatabase is said to be local to an Operations
`Nodeif 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 main-
`tained 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. Thefirst 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 knownto 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 data-
`bases, but access mechanisms for the two types of data-
`bases 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 data-
`bases. 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,haveentries in the database
`directory of that ON. This directory enables the On to
`determine the location and type of the database in ques-
`tion. It is to be noted that not all VAN databases are
`necessarily accessible from every ON in the network.
`The accessibility of a WAN 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 TPDis to be retrieved. Like VAN data-
`bases, TPDs are also represented by an entry in the
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 15
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 15
`
`
`
`4,805,134
`
`§
`ON's database directory. If the requested TPD is acces-
`sible from the ON with which theuseris affiliated, then
`an entry will have been set up in the ON’s directory.
`This entry enables the ON to makerequests to the (ex-
`ternal) system on which the TPDis resident. The TPD
`system, while maintaining its databases independent of
`the VAN,will recognize the page, pageset, and data-
`base 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
`VANis 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
`
`6
`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 managerat 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 nameif 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 whenaccessing that
`database on behalf of a user. An IP may own more than
`one database within an ON.
`A comprehensive repertoire of functions is available
`A backup function is used to display the last index
`to the end user to access information within the ON
`page prior to display of the currently displayed page.
`with which he is affiliated as well as on other ONs.
`Successive backups works backwards through a (lim-
`These are discussed in this section in the context of
`ited) sequence of previously seen indexes.
`using a computer keyboard at the end user terminal to
`A next function is used to take the next exit path on
`call up and control function operation and display.
`the last index page displayed prior to the display of the
`A scroll function allows the end user to access pages
`currently displayed page. It is equivalent to a backup
`in their sequence order within a pageset. The user may
`followed by an increment of the choice number,saving
`scroll forward to access the next page in sequence or
`the intermediate display. Its prime use is for browsing
`may scroll back to access the previous page. The point throughalist of items.
`
`of reference in scrolling is always the currently dis-
`A mark function causes the system to “remember”
`played page. The exit paths associated with scrolling
`the currently displayed page for later access via a recall
`function.
`are always embedded in the control section of the cur-
`rently displayed page’s data structure.
`A recall function is used to display the page that was
`A retrace function allows the end-user to trace back
`“marked”. If several pages are marked before a recall is
`(in time sequence) to pages previously displayed. The
`issued, the most recently marked page will be displayed.
`Context information is saved with the mark and re-
`exit path for the retrace function is derrived by the
`system based on past user actions.
`stored with recall, so that if the end user has retrieved a
`A menuselection function allows the end user to
`page via menu choice, marked it, and later recalled it,
`make a selection of an integer within a given range such
`the backup function would return to the menu from
`that each such selection causes the system to undertake
`which the end user originally retrieved the page.
`a potentially different exit path. Each such exit path
`A define function allows the end user to define syn-
`must be defined in the control section of the currently
`onyms for the currently displayed page or to define
`displayed page. The various types ofexits for a selection
`string substitutions. Thus users may “name” often-dis-
`are:
`played pages with identifiers that are most meaningful
`for them and have such pages accessed by nameat a
`later time. String substitutions allow users to abbreviate
`frequently used commandstrings.
`A tell function displays the definition of a specific
`synonym orall 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 commandin a circular form.
`Last command has two corollary functions, as well.
`One moves through thelist in the opposite direction and
`the second repeatedly retrieves the most recent com-
`mand without moving through the list of saved com-
`mandstrings.
`A homefunction 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 pro-
`cessing of the last function by the system.
`A help function may be invoked by the user to dis-
`play information about how to use the system or to
`provide information pertinent
`to the currently dis-
`played 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.
`
`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 Opera-
`tions 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. Thecrite-
`ria may be provided by the end-user in the form of
`responses to promptstrings specified in the exit path.
`Program Trigger: This exit is a generalization of the
`description based search exit. Whereas the descrip-
`tion 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 pro-
`gram. Thelogic 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 menuselection. 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.
`
`5
`
`15
`
`40
`
`50
`
`65
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 16
`
`PMC Exhibit 2099
`Apple v. PMC
`IPR2016-00753
`Page 16
`
`
`
`7
`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 menuspecifying 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 moredirectly to a topic
`ofinterest.
`
`SYSTEM/USER INTERFACE
`
`Screen Management
`The display area on the end-user’s terminal is con-
`trolled by the use of multiple overlaying windows. The
`use of such windowsfacilitates managementofthe con-
`tents 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 windowis no longer needed.
`A Commandline 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
`commandline windowis 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 windowand 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. Oneof the customization
`options would be the placement of this command
`window,e.g., at the top ofthe 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 trig-
`gers 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 se-
`lected a choice from the action menu. (Theaction key
`and its use are described below).
`A Message window—allows the system to putup infor-
`mational and/or error messages. Error messages usu-
`ally appear in response to a commandthat could not
`be executed by the system for some reason(e.g., secu-
`rity violation, page not found, etc). The message
`window disappears when the user strikes a key to
`begin