`y
`Beattv et al.
`
`IIIHIIIII
`US005537608A
`11
`Patent Number:
`5,537,608
`45 Date of Patent:
`Jul. 16, 1996
`
`54) PERSONAL COMMUNICATOR APPARATUS
`
`75) Inventors: Brent A. Beatty, Boca Raton; Francis
`J. Canova, Jr., Boynton Beach;
`":
`..
`WWEWE. El bra
`A . Johnson . EGdale, all f
`Fla.
`73) Assignee: International Business Machines
`Corporation, Armonk, N.Y.
`
`(21) Appl. No.: 459,552
`(22
`Filed:
`Jun. 2, 1995
`Related U.S. Application Data
`63 Continuation of Ser. No. 976,127, Nov. 13, 1992, aban
`doned.
`(51) Int. Cl. ...................... G06F 1300
`(52) U.S. Cl. ..................................... 395/800; 364/DIG. 1;
`364/232.91; 364/231.1; 364/243
`(58) Field of Search
`395/200, 800
`3951650,700,375.425.375159 58 98.
`s
`9.
`a wy s
`
`5,189,593 2/1993 Ooi....................................... 455/195.1
`5,195,130 3/1993 Weiss et al. .............................. 379/98
`5,201,067 4/1993 Grube et al. .............................. 455/89
`5,227,614 7/1993 Danielson et al. ...................... 235/380
`5,249,218 9/1993 Sainton ..................................... 379/59
`5,260,697 11/1993 Barrett et al. ........................... 345/173
`5,347,632 9/1994 Filepp et al............................. 395/200
`OTHER PUBLICATIONS
`9075 PCradio Hardware Interface Technical Reference,
`IBM, 1992 pp. 1-1 to 663.
`9075 PCradio Guide to Operations, IBM, 1992, pp. 1-1 to
`D-5.
`Danny Goodman, "The Hyber Card 2.2 Handbook', Ran
`dom House, Fourth Edition, No Date.
`Data sheet, VG-230 Single-Chip PC Platform WADEM,
`Sep. 1992.
`Primary Examiner-Mehmet B. Geckil
`Attorney, Agent, or Firm-George E. Grosser, Andrew J.
`P."
`ABSTRACT
`57
`-
`A personal communication apparatus includes a digital
`processor, a memory coupled to the processor, an operating
`system, stored in the memory and executable by the pro
`cessor, a touch-screen user interface coupled to the proces
`sor and the memory and responsive to file execution com
`mands from the user, and a navigation utility file, executable
`by the processor, for initiating execution of files and for
`monitoring the sequence in which file executions occur. The
`- 1792.É.
`-
`-
`-
`- -
`2. As YE et a
`Navigation utility maintains a stack in the memory into
`4916,441 4/1990 Gombrich.235/380 which the calling sequences of files are stored according to
`4949.248 8/1990 Caroet al...
`395/725
`the order in which files were executed. In one embodiment,
`5,008,925 4/1991 Pireh ......
`... 379/60
`the apparatus further comprises a modem and RF transceiver
`5,008,927 4/1991 Weiss et al.
`379/98
`coupled to the processor for receiving and transmitting data.
`5,020,093 5/1991 Pireh ..........
`... 379/59
`In another embodiment, the communicator further includes
`SE 3. E. Mt. k".
`5.
`a port for receiving an external memory medium containing
`s
`itchcock .................................
`lurality of
`table files.
`5,063,600 11/1991 Norwood .................................. g; a plurality of executable tiles
`5,127,050 6/1992 Takahashi et al. ..
`379,1428
`Krisbergh et al. ..
`5,138,649 8/1992
`... 379/56
`4 Claims, 10 Drawing Sheets
`
`(56
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`
`
`12
`
`42
`
`Qualcomm, Exh. 2018, p. 1
`Apple v. Qualcomm, IPR2018-01275
`
`
`
`U.S. Patent
`
`Jul. 16, 1996
`
`Sheet 1 of 10
`
`5,537,608
`
`FIG. 1
`
`12
`
`
`
`42
`
`14
`
`CONTROLLER
`
`40
`
`POWER CONTRO
`
`5O
`
`52
`
`54
`
`O CD CD BATERY
`
`34
`
`1 10
`
`Qualcomm, Exh. 2018, p. 2
`Apple v. Qualcomm, IPR2018-01275
`
`
`
`U.S. Patent
`
`Jul. 16, 1996
`
`Sheet 2 of 10
`
`5,537,608
`
`
`
`FIG. 2
`
`Qualcomm, Exh. 2018, p. 3
`Apple v. Qualcomm, IPR2018-01275
`
`
`
`U.S. Patent
`
`Jul. 16, 1996
`
`Sheet 3 of 10
`
`5,537,608
`
`FIG, 3A
`
`FG, 3E
`
`PHONE
`
`CALCULATOR
`
`55522
`
`3,857 14
`
`BATTERY
`SIGNAL
`
`PHONE
`
`ABC
`
`DEF
`
`GH
`4
`
`PRS
`7
`
`JKL
`5
`
`TUV
`8
`
`WXY
`9
`
`o #
`
`CLR
`
`O
`%
`
`C
`
`Sa || N)
`
`Qualcomm, Exh. 2018, p. 4
`Apple v. Qualcomm, IPR2018-01275
`
`
`
`U.S. Patent
`
`Jul. 16, 1996
`
`Sheet 4 of 10
`
`5,537,608
`
`FIG, 3B
`
`FIG, 3C
`
`ACCESS MAILLSTS:
`
`ONCOMING MESSAGES
`
`
`
`
`
`
`
`CREATE NEWMAIL E CHECK POST OFFICE
`
`AVAREA
`448879
`
`CONOVA
`8828O8O
`
`WILSON
`882O854
`
`BEATY
`882582
`
`DEUSER MAR
`
`
`
`
`
`
`
`SEND OUTGOING MAIL
`
`RECEIVE INCOMING MAI
`
`SEND AND RECEIVE MAIL
`
`CHANGE CONFIGURATION
`
`STATUS
`
`SUCCESS, NEXT OPTION
`
`
`
`H
`
`
`
`Qualcomm, Exh. 2018, p. 5
`Apple v. Qualcomm, IPR2018-01275
`
`
`
`U.S. Patent
`
`5,537,608
`
`Jul. 16, 1996
`Sheet S of 10
`FIG. 3D
`CALENDAR
`
`OCTOBER 19, 1992
`
`2
`
`9
`
`13
`
`20
`
`4
`
`2
`
`15
`
`22
`
`6
`
`23
`
`27
`
`28
`
`29
`
`30
`
`18
`
`25
`
`O
`
`7
`
`24
`
`31
`
`1:00PM - 3:00PM
`STATUSMTG, Ol4/C914
`2:OOPM WEEKLY TELECON
`W/MANG
`3:30PMMULT-IMAGE GROUP
`MEETING
`5:45PM SIGNOUT
`:OOPM - 3:00PM
`STATUSMTG, Ol4/C914
`2:00PM WEEKY TELECON
`WITH MAN GD
`3:30PMMUT-IMAGE GROUP
`MEETING
`5:45PM SIGNOUT
`:OOPM - 3:00PM COMDEX
`
`A
`ED
`
`-
`ADD
`
`W
`A
`UP DOWN
`
`? || 2 || & | ri
`HELP PHONE TOOLS BACK
`
`Qualcomm, Exh. 2018, p. 6
`Apple v. Qualcomm, IPR2018-01275
`
`
`
`U.S. Patent
`
`Jul. 16, 1996
`
`Sheet 6 of 10
`
`5,537,608
`
`
`
`
`
`
`
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`
`PHONE 4
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`
`PHONE 2
`PHONE 4
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`
`FIG. 4A
`
`FIG. 4B
`
`FIG. 4C
`
`
`
`PHONE 3
`PHONE 2
`PHONE 4
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`
`FIG. 4D
`
`PHONE 4
`PHONE 3
`PHONE 2
`PHONE 4
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`
`PHONE 1
`PHONE 4
`PHONE 3
`PHONE 2
`PHONE 4
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`
`FIG. 4E
`
`FIG. 4F
`
`Qualcomm, Exh. 2018, p. 7
`Apple v. Qualcomm, IPR2018-01275
`
`
`
`U.S. Patent
`
`Jul. 16, 1996
`
`Sheet 7 of 10
`
`5,537,608
`
`
`
`
`
`PHONE 4
`PHONE 3
`PHONE 2
`PHONE 4
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`
`PHONE 3
`PHONE 2
`PHONE 4
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 4
`
`PHONE 2
`PHONE 4
`PHONE
`PHONE 1
`PHONE 1
`PHONE
`PHONE
`PHONE 1
`PHONE 4
`PHONE 3
`
`FIG. 5A
`
`FIG. 5B
`
`FIG. 5C
`
`
`
`
`
`PHONE 4
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 4
`PHONE 3
`PHONE 2
`
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 4
`PHONE 3
`PHONE 2
`PHONE 4
`
`
`
`60
`
`12 PHONE 1
`PHONE 1
`PHONE
`PHONE 1
`PHONE 1
`PHONE 4
`PHONE 3
`PHONE 2
`PHONE 4
`PHONE 1
`
`FIG. 5D
`
`FIG. 5E
`
`FIG. 5F
`
`Qualcomm, Exh. 2018, p. 8
`Apple v. Qualcomm, IPR2018-01275
`
`
`
`U.S. Patent
`
`Jul. 16, 1996
`
`Sheet 8 of 10
`
`5,537,608
`
`C staRT D
`
`NITALIZE
`
`SPAWNTEMP
`
`124
`
`COPY STACK TOP
`TO TEMP
`
`SUSPEND
`NAVGATOR
`
`122
`
`ROTATE SACK m
`
`(A)
`
`FI G 6A
`
`110
`
`12
`
`114
`
`EXECUTE
`SPAWNED APL.
`
`16
`
`ACCESS CODE
`
`118
`
`20
`
`YES
`
`NO 126
`
`NO
`
`134
`
`COPY CMDLINE
`TO TEMP
`
`128
`
`PUSH DOWN
`STACK
`
`130 COPY CMDLINE
`TO TEMP
`
`COPY TEMP TO
`STACK TOP
`
`Qualcomm, Exh. 2018, p. 9
`Apple v. Qualcomm, IPR2018-01275
`
`
`
`U.S. Patent
`
`Jul. 16, 1996
`
`Sheet 9 of 10
`
`5,537,608
`
`FIG. 6B
`
`spawned APL
`EXECUTING
`
`138
`
`LEAVE = ?
`
`YES
`
`140
`
`NO
`
`ACCESS CMDLINE
`ADDR
`
`144
`
`
`
`COPYNEXT
`CALLING SEQ.
`TO CMDLINE
`
`146
`
`142
`
`YES
`
`
`
`154
`
`SUPPLY CODE
`TO NAVIGATOR
`
`(e)
`
`Qualcomm, Exh. 2018, p. 10
`Apple v. Qualcomm, IPR2018-01275
`
`
`
`U.S. Patent
`
`Jul. 16, 1996
`
`Sheet 10 of 10
`
`5,537,608
`
`FIG. 7
`
`34
`
`BATTERY
`
`
`
`74
`
`PROCESSOR
`
`Qualcomm, Exh. 2018, p. 11
`Apple v. Qualcomm, IPR2018-01275
`
`
`
`5,537,608
`
`1.
`PERSONAL COMMUNICATOR APPARATUS
`
`This is a continuation of application Ser. No. 07/976,127,
`filed Nov. 13, 1992, now abandoned.
`
`10
`
`15
`
`BACKGROUND OF THE INVENTION
`Cellular telephones have gained widespread popularity in
`recent years. These telephones allow users to communicate
`over a cellular network via a radio frequency (RF) trans
`ceiver present within the telephone. Many cellular tele
`phones contain digital microprocessors which control opera
`tion of the RF transceiver and provide limited telephone
`type functions to the user, such as autodialing and/or
`displaying stored telephone numbers. Such cellular tele
`phones, however, lack the memory, display and user inter
`face facilities necessary to execute many of the personal
`organizer applications found on personal computers.
`More recently, a lap-top computer which contains an RF
`transceiver as a means for data input/output has become
`20
`commercially available. This product, the PC Radio, avail
`able from International Business Machines Corporation,
`Boca Raton, Fla., provides the functionality of a personal
`computer with the capability of receiving and sending data
`over a cellular phone. However, a need still exists for a
`personal communication apparatus which can execute the
`personal organizer available on a personal computer, such as
`electronic mail, calculator, address book, and calendar, and
`which can further provide the functionality of a cellular
`telephone.
`A portable communication apparatus is proposed herein
`that integrates the functionality of a personal computer with
`the communication possibilities of a cellular telephone to
`provide an apparatus with sophisticated computing as well
`as communication functions.
`
`25
`
`30
`
`35
`
`SUMMARY OF THE INVENTION
`The foregoing and other objects of the present invention
`are achieved with a personal communication apparatus
`comprising a digital processor, a memory coupled to the
`processor, an operating system program stored in the
`memory and executable by the processor, a touch-sensitive
`user interface, coupled to the processor and the memory, and
`responsive to file execution commands from the user, and, a
`navigation file executable by the processor, in tandem with
`an executable file, initiates execution of files and monitors
`the sequence in which file executions occur.
`In one embodiment, the user interface facility comprises
`aliquid crystal display in combination with a touch-sensitive
`overlay to provide a touch-sensitive virtual user interface. In
`another embodiment, the apparatus further comprises an RF
`transceiver to allow for communication via a cellular net
`work with other communication systems.
`The invention will be more fully understood from the
`detailed descriptions set forth below which should be read in
`conjunction with the accompanying drawings. The invention
`is defined in the claims appended at the end of the detailed
`description, which is offered by way of example only.
`
`45
`
`50
`
`55
`
`60
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`In the drawings:
`FIG. 1 is a schematic block diagram of a personal
`communication apparatus in accordance with the present
`invention;
`
`65
`
`2
`FIG. 2 is afront plan view of the personal communication
`apparatus of FIG. 1;
`FIGS. 3A-E illustrate various virtual user interfaces in
`accordance with exemplary applications executable on the
`personal communication apparatus of FIG. 1;
`FIGS. 4A-F and 5A-F are conceptual representations of
`the memory stack maintained by the navigation file utility
`during execution of a sequence of files;
`FIG. 6A illustrates the algorithmic steps executed by the
`navigation utility in accordance with present invention; and
`FIG. 6B illustrates the algorithmic steps executed by an
`application in accordance with present invention;
`FIG. 7 is a schematic representation of an early warning
`circuit implemented within the personal communication
`apparatus of FIG. 1.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`In the various Figures, the same designations are used for
`similar elements. Referring to the drawings, and, in particu
`lar to FIG. 1 thereof, a schematic block diagram of a
`personal communicator 10, according to an illustrative
`embodiment of the present invention is shown. Communi
`cator 10 comprises, in a simple embodiment, a transceiver
`12, modem 14, and central controller 16 in conjunction with
`other elements, as described hereinafter in greater detail.
`Transceiver 12 comprises RF logic 42, audio logic 44,
`power logic 46 and control logic 48. RF logic 42 contains the
`elements for the transmission and reception of radio fre
`quency signals. Audio logic 44 contains the elements nec
`essary for the generation and reception of audio signals such
`as amplifiers, digital-to-analog converters, etc. Power logic
`46 interfaces with main battery 34, as indicated, and supplies
`power to the elements of transceiver 12. Control logic 48
`supplies control signals to RF logic 42, audio logic 44 and
`power logic 46 to control their respective functions within
`transceiver 12. The construction and function of transceiver
`12 is within the scope of those reasonably skilled in the art.
`A transceiver 12, suitable for use in the present invention is
`commercially available from Motorola Corporation,
`Schlumberg, Ill., and is similar to that used in the Digital
`Personal Communicator Telephone from Motorola. A
`speaker 52 and microphone 54 are coupled to audiologic 44
`to allow audio data to be received and transmitted, respec
`tively by the user. In addition, a ringer 50, is coupled to
`audio logic 44 to alert the user of an incoming call. The
`construction and function of ringer 50, speaker 52 and
`microphone 54, as well as their interconnections and con
`nections with audio logic 44 are likewise within a scope of
`one reasonable skilled in the arts. Transceiver 12 is coupled
`to central controller 16 by modem 14.
`Modem 14 comprises a modem controller 36 and a
`modem digital signal processor (DSP) 38. In the illustrative
`embodiment, modem controller 36 and modem DSP 38
`coact to provide a command driven modem with 2400 baud
`full duplex data transfer capabilities. The construction and
`function of modem controller 36 and modem DSP 38, as
`well as their interconnection, are within a scope of those
`reasonably skilled in the arts. The construction and operation
`of controller 36 and modem DSP 38 and the functionality
`provided by these devices are well-known and are found in
`a number of commercially available chip sets for providing
`modem capabilities to computer systems. Examples of such
`chip sets which are suitable for use in the present invention
`are Data/Fax/Voice Modem Device Sets Model Nos.
`
`Qualcomm, Exh. 2018, p. 12
`Apple v. Qualcomm, IPR2018-01275
`
`
`
`5,537,608
`
`10
`
`5
`
`20
`
`25
`
`30
`
`3
`CL-MD9624ECT and CL-MD9624AT/EC2 commercially
`available from Cirrus Logic, Inc., 3100 West Warren
`Avenue, Fremont, Calif. 94538. Modem 14 interacts with
`transceiver 12 via a number of audio, control and power
`signals collectively illustrated in FIG. 1 as bus 15. An
`external connector 40, such as an 8-Pin connector, is coupled
`to modem 14, as illustrated, to allow for coupling modem 14
`to external devices, such as another modem, a computer, etc.
`Modem 14 is coupled to central controller 16 via a number
`of power, control and audio signal lines collectively illus
`trated in FIG. 1 as bus 25.
`Central controller 16 comprises microprocessor 20, power
`control logic 18, backlight circuitry 22, liquid crystal display
`(LCD) 24, and touch overlay 26. Backlight circuitry 22,
`LCD 24 and touch overlay 26 collectively define user
`interface 35 on which virtual keyboard configuration may be
`displayed, as explained hereinafter. Central controller 16
`further comprises a RAM memory 27 and a ROM memory
`29 coupled to processor 20. Main battery 34 and backup
`battery 30 are coupled to power control logic 18, as illus
`trated. Backup battery 30 maintains all volatile memory
`upon removal of main battery 34. In addition, a number of
`pushbuttons 32, such as power, and volume/contrast controls
`are coupled to controller 16.
`Processor 20, in the illustrative embodiment, embodies
`the complete architecture of an IBM PC/XT computer on a
`single chip. Processor 20 includes a CGA LCD interface
`through which it communicates with LCD 24, and a matrix
`interface through which it communicates with touch overlay
`26 in a manner similar to a conventional alpha-numeric
`keyboard. Processor 20 communicates with modem control
`ler 36 through a serial interface, and further communicates
`with power control logic 18 through a number of signals
`which supply power to the processor and further alert the
`processor of low power in the battery. A processor suitable
`for use in the present invention as processor 20 is commer
`cially available from Vaden, Inc., San Jose, Calif.; Model
`No. VG230.
`Controller 16 does not contain a disk drive but instead
`includes a Personal Computer Memory Card International
`Association (PCMCIA) option port 31 for receiving an
`optional card 28. Card 28 is designed to interface with port
`31 according to the PCMCIA standard. In the illustrative
`embodiment card 28 is a memory card containing a plurality
`of addressable, executable files. Processor 20 interfaces with
`Port 31 through a number of buffers upon insertion into port
`31. Processor 20 controls power to the card.
`FIG. 2 illustrates the front exterior of personal commu
`nicator 10. A housing 56 encases the elements of personal
`50
`communicator 10. The front of housing 56 contains aper
`tures in the upper and lower portions thereof for access to
`speaker 52 and microphone 54, respectfully. User interface
`35 extends through the housing 56 so that touch overlay 26
`is exposed and accessible to the user. A retractable antenna
`58 protrudes from the upper portion of the housing to
`facilitate reception of radio frequency signals. Not shown in
`FIG. 2 are pushbuttons 32, a slot for reception of PCMCIA
`Card 28 external connector 40, and a cavity in the rear of
`housing 56 into which main battery 34 is insertable. As
`described above, personal communicator 10 integrates the
`architecture of a complete personal computer with a modem
`and an RF transceiver into a portable, lightweight package
`which fits in the user's hand or pocket.
`Having described the physical architecture of communi
`cator 10, a description of some exemplary applications and
`their respective graphical user interfaces, as well as a
`
`45
`
`35
`
`40
`
`55
`
`60
`
`65
`
`4
`navigation utility for moving between applications, is set
`forth below in detail. Processor 20 of central controller 16 is
`based on the architecture of the Intel 8086 processor. An
`operating system, stored either in ROM 29 or on processor
`20 is executed by the processor 20. In the illustrative
`embodiment, the IBM-PC DOS Operating System is uti
`lized, however, other compatible operating systems may be
`used. A plurality of applications or executable files are stored
`in PCMCIA card 28. Upon insertion of card 28 into port 31
`processor 20 can access these stored applications.
`In the contemplated invention, each application stored in
`card 28 is directed to different functionality and, upon
`execution, generates a different graphical user interface, as
`illustrated in FIGS. 3A-E, FIG. 3A illustrates the graphical
`user interface generated upon execution of a phone emula
`tion application by controller 16. The 12-digit keyboard is
`displayed graphically on interface 35. When the user touches
`overlay 26 above the desired key, the processor 20 registers
`the selected digit and displays it accordingly. FIG. 3B
`illustrates the graphical user interface generated by execu
`tion of an electronic mail application by controller 16. Here,
`the user may use the touch-screen capability to select any of
`the displayed options. FIG. 3C illustrates the graphical user
`interface created by execution of an address book simulation
`application. FIG. 3D illustrates the graphical user interface
`generated by execution of a calendar application. FIG.3E
`illustrates the graphical user interface generated by execu
`tion of a calculator application. From FIGS. 3A-E it can be
`appreciated that the graphical user interface changes
`depending on the application currently selected and execut
`ing. The screens, keyboards and keypads illustrated in FIG.
`3A-E are virtual and can be programmed in the application
`itself to have numerous configurations, increasing flexibility
`in the graphical user interface. Each of the graphical user
`interfaces generated by the exemplary applications includes
`four option keys at the bottom of interface 35. These option
`keys are entitled "HELP", "PHONE”, “TOOLS", AND
`"BACK.” By selecting any one of these four keys alone or
`in combination with other virtual keys, the user may select
`an application for execution different from the currently
`executing application. To allow users to move quickly and
`easily from one application to another without having to
`return to a main menu, a special utility application, herein
`after referred to as the Navigator, executes in tandem with
`the selected application as described hereafter.
`The Navigator is a utility application which allows the
`user to move quickly and easily from one application to
`another. The history of file selections made by the user is
`stored in memory in a queue or internal stack maintained by
`the Navigator. The basic function of the Navigator is to start
`execution of the next queued application, a process herein
`after referred to as "spawning". Not counting the operating
`system, there are only two applications residing in processor
`20 at any time, the Navigator utility and a spawned program.
`The Navigator and spawned program application execute in
`tandem.
`The Navigator maintains an internal memory stack which
`serves as a queue. The order of entries in the queue corre
`spond to the order in which applications are executed. Each
`entry in the queue represents the calling sequence for an
`application. The calling sequence of an application com
`prises the name of the executable file, the access path, and
`a number of parameters being passed to that file from
`another application. These parameters are passed from the
`currently executing application to the next selected applica
`tion. For example, if the currently executing job is an
`address book-type application, such application can call a
`
`Qualcomm, Exh. 2018, p. 13
`Apple v. Qualcomm, IPR2018-01275
`
`
`
`5,537,608
`
`10
`
`15
`
`35
`
`40
`
`S
`telephone-type application and pass to it, as a parameter, the
`character string representing the phone number selected
`during execution of the address book application. The Navi
`gator sets no limits to the number of parameters that can be
`associated with the calling sequence of an application.
`However, the content and format of the calling sequence
`must be understood by the operating system.
`As described previously, the option keys present at the
`bottom of each virtual screen display, provide the user with
`a means for moving quickly between frequently used appli
`cations. Each of the option keys, except Back, will cause a
`specific calling sequence to be initiated, causing the asso
`ciated application to be executed. The Back option key
`causes the most recently executed application to be executed
`as explained below.
`To conceptually illustrate the management of the internal
`stack by the Navigator, an example is provided wherein a
`number of generic applications or files entitled Phone 1-4
`are selected in the sequence indicated in FIGS. 4A-F and
`5A-F. Upon initialization, the internal stack, indicated gen
`20
`erally by reference numeral 60, contains default calling
`sequences, here indicated by Phone 1 in each stack entry.
`From the graphical user interface of Phone 1 if the user
`selects the Phone 4 application, the calling sequence for
`Phone 4 is added to the top entry of stack 60, as indicated
`in FIG. 4B. From the graphical user interface of Phone 4, if
`the user selects the Phone 2 application, the calling sequence
`of Phone 2 is added to the top entry of the stack as indicated
`in FIG. 4C. In a similar manner, if the user then selects, in
`sequence, applications Phone 3, Phone 4 and Phone 1, stack
`30
`60 will assume the configurations illustrated in FIG. 4D, 4E
`and 4F respectively. It can be seen that with each new
`application selected by the user, the calling sequence for that
`application is placed on the top entry of stack 60. Next, if,
`from the currently executing application, Phone 1, the user
`decides to select the previous application, by selection of the
`BACK option key, the calling sequence of Phone 1 will be
`popped from the top entry of stack 60 and placed at the
`bottom entry thereof, as indicated in FIG. 5A. The calling
`sequence for Phone 4 is now at the top entry of stack 60.
`Similarly, if the user selects the Back option key again, the
`calling sequence of Phone 4 will be placed at the bottom
`entry of stack 60 and the calling sequence for Phone 3 will
`be present at the top entry of stack 60, as indicated in FIG.
`5B. If, in a similar manner, using the BACK option key, the
`user sequentially moves backward through the calling
`sequence, selecting applications Phone 2, Phone 4, and
`Phone 1, the internal stack 60 will assume the configurations
`illustrated in FIGS. 5C, 5D and 5E, respectively. In each
`instance of selecting the BACK key, the calling sequence at
`50
`the top of the stack is placed at the bottom of the stack and
`the next entry moved to the top entry of stack 60. FIG. 5F
`illustrates the configuration of stack 60 after the scenario in
`which the user has selected new files Phone 4, Phone 2,
`Phone 3, Phone 4 and Phone 1 and then, using the BACK
`55
`key, back tracks and reexecuted these files in reverse order.
`The specific algorithmic steps executed by the Navigator
`as well as its interaction with a selected application will be
`described hereafter with reference to FIGS. 6A and B. To
`assistin the explanation of the algorithmic steps executed by
`the Navigator application, several variables are defined.
`STACK is a memory area, such as that illustrated by item 60
`in FIGS. 4-5. The STACK may be implemented in software
`in a manner within the scope of one skilled in the arts.
`STACK TOP represents the top entry of STACK.
`STACK BOTTOM represents the bottom entry of the
`STACK. TEMP and CMD LINE are variables which hold
`
`60
`
`45
`
`65
`
`6
`an ASCII character string representing the calling sequence
`of an application to be executed. CMD LINE ADDR
`represents the address of the CMD LINE variable in
`memory. NAVSTAK represents a location within the DOS
`environment where an application can find the value of
`CMD LINE ADDR. CODE is a value returned from a
`currently executing application to the Navigator application,
`as defined hereinafter.
`Referring now to FIG. 6A, upon power up of communi
`cator 10, the Navigator goes through a number of initial
`ization steps, indicated by procedural block 110. These steps
`include initializing all entries of STACK to a default calling
`sequence, and placing the same default calling sequence in
`the TEMP variable. The CMD LINE variable is defined
`and the address of CMD LINE, CMD LINE ADDR, is
`written to the DOS environment, i.e. NAVSTACK. Next, the
`Navigator executes or spawns the calling sequence of the
`application present in the TEMP variable, as indicated by
`procedural block 112. At this point, execution of Navigator
`suspends, as indicated by block 114. Next, the spawned
`application executes creating a graphical user interface and
`providing functionality to the user, as previously defined.
`Execution of the spawned application is indicated by block
`116 and is defined in greater detail in the flow chart of FIG.
`6B.
`Referring to FIG. 6B, the algorithmic steps executed by
`the currently spawned application are illustrated. The
`spawned application providing functionality and a graphical
`user interface to the user, as indicated in procedural block
`136. If the user has not selected one of the option keys,
`execution of the spawned application continues, as indicated
`by the NO branch of decisional step 138. If the user has
`selected one of the option keys, as indicated by the YES
`branch of decisional block 138, a determination is made as
`to which option key has been selected, as indicated in
`decisional block 140. If the user has selected the BACK
`option key, the spawned program sets the CODE variable
`equal to "1", as indicated by procedural block 142. If the
`user selects other than the BACK option key, a new appli
`cation is to be selected, and the calling sequence thereof is
`to be written to the STACK TOP. The currently executing
`application retrieves CMD LINE ADDR variable from
`the operating system environment, as indicated by block
`144. Next, a copy of the calling sequence for the next
`selected application is written into the CMD. LINE vari
`able, as indicated by block 146. Next, the currently spawned
`application determines if the calling sequence of the next
`selected application should be written to STACK TOP, as
`indicated in decisional block 148. If so, the currently execut
`ing application then sets the CODE variable equal to "2", as
`indicated by block 150. In the event that the next selected
`application should not be written to STACK TOP, the
`spawned program sets the code variable to "3", as indicated
`in block 152. The determination of whether or not the newly
`selected application should be written to STACK TOP is
`programmed into the code of the actual application by the
`designer. Accordingly, all spawned applications prior to their
`termination will set the value of the CODE variable appro
`priately. The spawned application will then terminate, leav
`ing the CODE variable in an address accessible by the
`Navigator utility, as indicated in step 154.
`The spawned application having terminated, the Naviga
`tor program accesses the value of CODE variable, as indi
`cated by block 118 in FIG. 6A. If the value of code is equal
`to “1”, as determined in decisional block 120, the Navigator
`rotates the STACK, as indicated by procedural block 122.
`Rotation of the STACK occurs by setting the current value
`
`Qualcomm, Exh. 2018, p. 14
`Apple v. Qualcomm, IPR2018-01275
`
`
`
`5,537,608
`
`15
`
`20
`
`45
`
`50
`
`7
`of STACK TOP to a temporary variable, and shifting
`content of each of the STACK locations to the next higher
`STACK location. The value of STACK BOTTOM is then
`set to the value of STACK TOP in a manner within the
`scope of those reasonably skilled in the art. Next, the
`Navigator copies the value from STACK TOP to the TEMP
`variable, as indicated in procedural block 124. The TEMP
`variable contains the calling sequence of the next application
`to be spawned, which in this instance, is the previously
`executed application since the user selected the BACK
`10
`option key.
`If the value of the CODE variable equals "2", indicating
`a new application which should be written to STACK TOP,
`the Stack is pushed down, as indicated by procedural block
`128. In pushing down the STACK, each STACK location is
`written to the next lower STACK location, with the content
`of the lowest Stacklocation disappearing. Next, the contents
`of the CMD LINE variable are copied to the TEMP vari
`able, as indicated by procedural block 130. The contents of
`the TEMP variable are then copied to the Stack Top vari
`able, as indicated by procedural block 132. In this manner,
`procedural steps 128-132 ensure that the calling sequence of
`the next application to be spawned is recorded in the STACK
`for later retrieval.
`If the CODE variable equals "3", indicating that the
`calling sequence of the next application to be spawned
`should not be recorded in the STACK, the content of the
`CMD LINE variable is copied to the TEMP variable, as
`indicated in procedural block 134. However, the value of
`TEMP is not subsequently copied to the STACK TOP
`30
`variable, therefore, the occurrence of the next spawned
`application will not be recorded into the sequence of file
`executions maintained by the Navigator. Next, returning to
`the top of the flow diagram, the Navigator spawns the
`application whose calling string can be found in the TEMP
`35
`variable, as indicated in procedural block 112.
`As can be appreciated, the Navigator utility executes in a
`continuous loop and suspends execution only once another
`application has been spawned. Upon termination of the
`spawned application, the Navigator determines the calling
`sequence of the next application to be spawned and modifies
`the STACK as necessary.
`In the contemplated invention, even after loss of power by
`personal communicator 10, the Navigator will continue
`execution from the state at which power was lost. To assist
`in an orderly shutdown of communicator 10 by processor 20
`upon the loss of power or the voltage from main battery 34
`falling below acceptable logic levels, a special early warning
`circuit 70 is implemented within a communicator 10, as
`indicated in FIG.7. Circuit 70 comprises resistors 74 a