`5,537,608
`{11} Patent Number:
`Beatty et al.
`(45) Date of Patent:
`Jul. 16, 1996
`
`
`119
`
`00000006080
`
`[54]
`
`[75]
`
`PERSONAL COMMUNICATOR APPARATUS
`
`Inventors: Brent A. Beatty, Boca Raton; Francis
`J. Canova, Jr., Boynton Beach;
`Charles S. Lanier, Delray Beach;
`Wayne P. Whitley, Boca Raton; Debra
`A. G. Johnson, Ft. Lauderdale, all of
`Fla.
`
`[73]
`
`Assignee:
`
`International Business Machines
`Corporation, Armonk, N.Y.
`
`[21]
`
`[22]
`
`[63]
`
`[51]
`[52]
`
`[58]
`
`[56]
`
`Appl. No.: 459,552
`
`Filed:
`
`Jun. 2, 1995
`
`Related U.S. Application Data
`
`Continuation of Ser. No. 976,127, Nov. 13, 1992, aban-
`doned.
`
`Fit, C18 oe sceesceessssssssccsseessccssonssnsssensenssennee G06F 13/00
`
`..
`. 395/800; 364/DIG. 1;
`US. Cl.
`364/232.91; 364/231.1; 364/243
`Field of Searchy ........cccsssesssssssseene.- 395/200, 800,
`395/650, 700, 375, 425; 379/59, 58, 98,
`57
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`
`
`5,189,593
`5,195,130
`5,201,067
`5,227,614
`5,249,218
`5,260,697
`5,347,632
`
`2/1993 OO vsasssesnsesescstseceveessntene 455/195.1
`serccssersstssssinisersee 379/98
`3/1993 Weiss et al.
`
`jecssssssasseecseaneie 455/89
`4/1993 Grube et al.
`
`7/1993 Danielsonetal. ...
`w=» 235/380
`
`9/1993 SaiMtOM ceocssenssoesssssecsenssnnsensie 379/59
`
`345/173
`11/1993 Barrett et al.
`9/1994. Filepp ct al. esssscsosssssseuseseee 395/200
`OTHER PUBLICATIONS
`
`9075 PCradio Hardware Interface Technical Reference,
`IBM, 1992 pp. 1—1 to 6-63.
`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 VADEM,
`Sep. 1992,
`
`Primary Examiner—MehmetB. Geckil
`Attorney, Agent, or Firm—George E. Grosser; Andrew J.
`Dillon
`
`[57]
`
`ABSTRACT
`
`A personal communication apparatus includes a digital
`processor, a memory coupledto 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 responsiveto file execution com-
`mandsfrom the user, and a navigation utility file, executable
`by the processor, for initiating execution of files and for
`monitoring the sequence in whichfile executions occur. The
`Navigation utility maintains a stack in the memory into
`which the calling sequencesoffiles are stored according to
`the order in which files were executed. In one embodiment,
`the apparatus further comprises a modem and RF transceiver
`coupled to the processorfor receiving and transmitting data.
`In another embodiment, the communicatorfurther includes
`a port for receiving an external memory medium containing
`a plurality of executable files.
`
`4,481,382 11/1984 Villa-Real oceessseeeseene 179/2 EA
`4,825,448
`4/1989 Critchlow et al.
`....csscssssesessenes 375/8
`4,916,441
`4/1990 Gombrich.....
`235/380
`4,949,248
`8/1990 Caro et al
`395/725
`5,008,925
`4/1991 Pireh.........
`379/60
`5,008,927
`4/1991 Weiss et al.
`379/98
`5,020,093
`5/1991 Pireh.........
`379/59
`5,029,233
`7/1991 Metroka ....
`wee 455/11
`5,050,207
`9/1991 Hitchcock .
`wee 379/96
`wee 382/13
`5,063,600
`11/1991 Norwood......
`
`6/1992 Takahashi etal. .
`« 379/428
`5,127,050
`
`
`5,138,649 8/1992Krisberghetal.oo... 379/56
`
`Krisbergh etal. .....
`4 Claims, 10 Drawing Sheets
`
`12
`
`42
`
`
`
`APPLE 1010
`
`1
`
`APPLE 1010
`
`
`
`U.S. Patent
`
`Jul. 16, 1996
`
`Sheet 1 of 10
`
`5,537,608
`
`FIG. 1
`
`
` 20
`34y Va
`We
`
`O OC
`50
`52
`54
`
`30
`
`26
`
`32
`
`16
`
`2
`
`
`
`5,537,608
`
`U.S. Patent
`
`Jul. 16, 1996
`
`Sheet 2 of 10
`
`FIG, 2
`
`3
`
`
`
`U.S. Patent
`
`Jul. 16, 1996
`
`Sheet 3 of 10
`
`5,537,608
`
`FIG. 3A
`
`FIG. 3E
`
`PHONE
`
`CALCULATOR
`
`5551212
`
`3.05714
`
`BATTERY
`SIGNAL
`
`PHONE
`
`le}eeeeetete|[+delete
`
`ABC
`
`DEF
`
`GHI
`4
`
`JKL
`5
`
`PRS
`7
`
`TUV
`8
`
`WKY
`9
`
`nmr
`
`HELP ||PHONE||TOOLS|| BACK
`
`[ow
`
`4
`
`
`
`U.S. Patent
`
`Jul. 16, 1996
`
`Sheet 4 of 10
`
`5,537,608
`
`FIG. 3B
`
`FIS. 3C
`
`
`
`
`4481879
`
`8820854
`
`CONOVA
`8828080
`
`BEATTY
`8825182
`
`DEUSER MAR
`
`
`
`
`
`ACCESS MAIL LISTS:
`
`0 INCOMING MESSAGES
`
`HM
`
`CREATE NEW MAIL
`
`CHECK POST OFFICE
`
`SEND OUTGOING MAIL
`
`RECEIVE INCOMING MAIL
`
`SEND AND RECEIVE MAIL
`
`CHANGE CONFIGURATION
`
`STATUS
`
`
`
`5
`
`
`
`U.S. Patent
`
`Jul. 16, 1996
`
`Sheet 5 of 10
`
`5,537,608
`
`FIG. 3D
`
`CALENDAR
`
`OCTOBER19, 1992
`
`o
`
`5
`
`o
`
`6
`
`o
`
`7
`
`1
`
`8
`
`2
`
`9
`
`|
`
`3
`
`10
`
`f
`
`o
`
`4
`
`1:00PM - 3:00PM
`STATUS MTG,014/C914
`
`2:00PM WEEKLY TELECON
`W/ MAN @
`
`3:30PM MULT-IMAGE GROUP
`MEETING
`
`5:45PM SIGN OUTI!!
`
`1:00PM - 3:00PM
`STATUS MTG, 014/C914
`
`2:00PM WEEKLY TELECON
`WITH MAN @
`
`3:30PM MULTI-IMAGE GROUP
`MEETING
`
`5:45PM SIGN OUT!!!
`
`1:00PM - 3:00PM COMDEX
`
`A
`EDIT
`
`+
`ADD
`
`4
`UP
`
`v
`DOWN
`
`,
`=
`>1PTL Q Iw
`
`HELP||PHONE|} TOOLS||BACK
`
`6
`
`
`
`U.S. Patent
`
`Jul. 16, 1996
`
`Sheet 6 of 10
`
`5,537,608
`
`PHONE1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`
`FIG. 4A
`
`PHONE 1
`PHONE 1
`
`PHONE3
`PHONE 2
`PHONE4
`PHONE1
`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
`
`FIG. 4B
`
`PHONE 1
`PHONE1
`
`PHONE 4
`PHONE 3
`PHONE 2
`PHONE4
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`
`FIG. 4C
`
`PHONE 2
`PHONE 4
`PHONE1
`PHONE1
`PHONE1
`PHONE1
`PHONE1
`PHONE1
`PHONE1
`
`PHONE1
`PHONE 1
`
`PHONE1
`PHONE4
`PHONE3
`PHONE 2
`PHONE 4
`PHONE 1
`PHONE1
`PHONE 1
`PHONE 1
`
`FIG. 4D
`
`FIG. 4E
`
`FIG. 4F
`
`7
`
`
`
`U.S. Patent
`
`Jul. 16, 1996
`
`Sheet 7 of 10
`
`5,537,608
`
`PHONE4
`PHONE3
`PHONE2
`PHONE4
`PHONE1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`
`FIG. 5A
`
`PHONE 1
`PHONE2
`
`PHONE4
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE1
`PHONE 1
`PHONE4
`PHONE 3
`
`PHONE 3
`PHONE 2
`PHONE4
`PHONE 1
`PHONE1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 4
`
`PHONE 2
`PHONE 4
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE1
`PHONE 4
`
`PHONE 3
`PHONE4
`PHONE1
`
`FIG. 5B
`
`FIG. 5C
`
`PHONE1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 4
`PHONE3
`PHONE2
`
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 1
`PHONE 4
`PHONE 3
`PHONE 2
`PHONE 4
`
`FIG. 5D
`
`FIG. 5E
`
`FIG. 5F
`
`8
`
`
`
`U.S. Patent
`
`Jul. 16, 1996
`
`Sheet 8 of 10
`
`5,537,608
`
`START
`
`INITIALIZE
`
`SPAWN TEMP
`
`SUSPEND
`NAVIGATOR
`
`EXECUTE
`SPAWNEDAPL
`
`110
`
`— _ th
`
`o~s ~~ fh
`
`116
`
`~~ = @
`
`ACCESS CODE
`
`~~ nro
`
`zoO
`
`~~ tonH
`
`~«<mn
`
`YES
`
`FIG. 6A
`
`134
`
`COPY CMD_LINE
`TO TEMP
`
`~-eh
`
`COPY STACK_TOP
`TO TEMP
`
`ROTATE STACK
`
`128
`
`130
`
`PUSH DOWN
`STACK
`
`COPY CMD_LINE
`TO TEMP
`
`132)
`
`COPY TEMP TO
`STACK_TOP
`
`9
`
`
`
`U.S. Patent
`
`Jul. 16, 1996
`
`Sheet 9 of 10
`
`5,537,608
`
`(A)
`
`FIG. 6B
`
`SPAWNED APL
`EXECUTING
`
`[°°
`
`138
`
`LEAVE =?
`
`YES
`
`140
`
`142
`
`YES
`
`CODE = 1
`
`NO
`
`
`
`ACCESS CMDLINE
`ADDR
`
`144
`
`
`
` 146
`
`
`
`
`
`COPY NEXT
`CALLING SEQ.
`TO CMD_LINE
`
`
`
`154
`
`‘
`
`SUPPLY CODE
`TO NAVIGATOR
`
`©)
`
`10
`
`
`
`U.S. Patent
`
`Jul. 16, 1996
`
`Sheet 10 of 10
`
`5,537,608
`
`FIG. 7
`
`34
`
`74
`
`20
`
`PROCESSOR
`
`
`
`BATTERY|_ %
`
`Qo
`
`11
`
`
`
`5,537,608
`
`1
`PERSONAL COMMUNICATOR APPARATUS
`
`This is a continuation of application Ser. No. 07/976,127,
`filed Nov. 13, 1992, now abandoned.
`
`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.
`Morerecently, a lap-top computer which contains an RF
`transceiver as a means for data input/output has become
`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.
`
`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
`userinterface, coupled to the processor and the memory,and
`responsive to file execution commands from theuser, 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 descriptionsset forth below which should be read in
`conjunction with the accompanying drawings. The invention
`is defined in the claims appended atthe end ofthe detailed
`description, which is offered by way of example only.
`
`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;
`
`20
`
`25
`
`30
`
`35
`
`40
`
`55
`
`60
`
`65
`
`12
`
`2
`FIG.2 is a front plan view of the personal communication
`apparatus of FIG. 1;
`FIGS. 3A-Eillustrate 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 sequenceoffiles;
`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,
`powerlogic 46 andcontrol logic 48. RF logic 42 containsthe
`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
`powerlogic 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 coupledto audio logic 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 theillustrative
`embodiment, modem controller 36 and modem DSP 38
`coactto 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.
`
`12
`
`
`
`5,537,608
`
`20
`
`25
`
`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,asillustrated,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.
`
`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 PCMCIAcard 28. Uponinsertion 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
`Central controllcr 16 comprises microprocessor 20, power
`execution, generates a different graphical user interface, as
`controllogic 18, backlightcircuitry 22, liquid crystal display
`illustrated in FIGS. 3A-E.FIG.3A illustrates the graphical
`(LCD) 24, and touch overlay 26. Backlight circuitry 22,
`user interface generated upon execution of a phone emula-
`LCD 24 and touch overlay 26 collectively define user
`tion application by controller 16. The 12-digit keyboard is
`interface 35 on which virtual keyboard configuration may be
`displayed graphically on interface 35. When the user touches
`displayed, as explained hereinafter. Central controller 16
`overlay 26 abovethe desired key, the processor 20 registers
`further comprises a RAM memory 27 and a ROM memory
`the selected digit and displays it accordingly. FIG. 3B
`29 coupled to processor 20. Main battery 34 and backup
`illusirates the graphical user interface generated by execu-
`battery 30 are coupled to power control logic 18, as illus-
`tion of an electronic mail application by controller 16. Here,
`trated. Backup battery 30 maintains all volatile memory
`the user may use the touch-screen capability to select any of
`upon removal of main battery 34. In addition, a number of
`the displayed options. FIG. 3Cillustrates the graphical user
`pushbuttons 32, such as power, and volume/contrast controls
`interface created by execution of an address book simulation
`are coupled to controller 16.
`application. FIG. 3D illustrates the graphical user interface
`Processor 20, in the illustrative embodiment, embodies
`generated by execution of a calendar application. FIG. 3E
`the complete architecture of an IBM PC/XT computer on a
`illustrates the graphical user interface generated by execu-
`single chip. Processor 20 includes a CGA LCDinterface
`tion of a calculator application. From FIGS. 3A—Eit can be
`through which it communicates with LCD 24, and a matrix
`appreciated that
`the graphical user
`interfacc changes
`interface through whichit communicates with touch overlay
`depending on the application currently selected and execut-
`26 in a manner similar to a conventional alpha-numeric
`ing. The screens, keyboards and keypadsillustrated in FIG.
`keyboard. Processor 20 communicates with modem control-
`3A-Eare virtual and can be programmedin the application
`ler 36 througha serial interface, and further communicates
`itself to have numerousconfigurations, increasing flexibility
`with powercontrol logic 18 through a numberof signals
`in the graphical user interface. Each of the graphical user
`which supply power to the processor and furtheralert the
`interfaces generated by the exemplary applications includes
`processor of low powerin the battery. A processor suitable
`four option keysat the bottom of interface 35. These option
`for use in the present invention as processor 20 is commer-
`keys are entitled “HELP”, “PHONE”, “TOOLS”, AND
`cially available from Vadem, Inc., San Jose, Calif.; Model
`“BACK.”Byselecting any one of these four keys alone or
`No. VG230.
`in combination with other virtual keys, the user may select
`Controller 16 does not contain a disk drive but instead
`an application for execution different from the currently
`includes a Personal Computer Memory Card International
`executing application. To allow users to move quickly and
`Association (PCMCIA) option port 31 for receiving an
`easily from one application to another without having to
`optional card 28. Card 28 is designed to interface with port
`retum to a main menu,a special utility application, herein-
`31 according to the PCMCIA standard. In theillustrative
`after referred to as the Navigator, executes in tandem with
`45
`embodimentcard 28 is a memory card containingaplurality
`the selected application as described hereafter.
`of addressable, executable files. Processor 20 interfaces with
`The Navigator is a utility application which allows the
`Port 31 through a numberof buffers uponinsertion into port
`user to move quickly and easily from one application to
`31. Processor 20 controls powerto the card.
`another. The history of file selections made by the user is
`FIG. 2 illustrates the front exterior of personal commu-
`stored in memory in a queueorinternal stack maintained by
`nicator 10. A housing 56 encases the elements of personal
`the Navigator. The basic function of the Navigatoris to start
`communicator 10. The front of housing 56 contains aper-
`execution of the next queued application, a process herein-
`turcs in the upper and lower portions thereof for access to
`after referred to as “spawning”. Nol counting the operating
`speaker 52 and microphone 54,respectfully. User interface
`system, there are only two applications residing in processor
`35 extends through the housing 56 so that touch overlay 26
`20 at any time, the Navigator utility and a spawned program.
`is exposed and accessible to the user. A retractable antenna
`The Navigator and spawned program application cxecutein
`tandem.
`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
`whichfits in the user’s hand or pocket.
`Having described the physical architeclure of communi-
`cator 10, a description of some exemplary applications and
`their respective graphical user interfaces, as well as a
`
`The Navigator maintains an internal memory stack which
`scrves as a queue. The order of entries in the queue corre-
`spond to the order in which applications are cxccuted. Each
`entry in the queue represents the calling sequence for an
`application. The calling sequence of an application com-
`prises the nameofthe 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
`
`35
`
`60
`
`65
`
`13
`
`13
`
`
`
`5,537,608
`
`6
`an ASCTI characterstring representing the calling sequence
`of an application to be executed. CMD_LINE_ADDR
`represents the address of the CMD_LINE variable -in
`memory. NAVSTAKrepresents 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 numberof initial-
`ization steps, indicated by procedural block 110. These steps
`include initializing all entries of STACKto a default calling
`sequence, and placing the same default calling sequence in
`the TEMPvariable. The CMD_LINE variable is defined
`and the address of CMD_LINE, CMD_LINE_ADDR,is
`written to the DOS environment, i.c. 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 andis defined in greater detail in the flow chart of FIG.
`6B.
`
`5
`telephone-type application and passto 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 managementof the internal
`stack by the Navigator, an example is provided wherein a
`number of generic applicationsor 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-
`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
`Referring to FIG. 6B, the algorithmic steps executed by
`the user selects the Phone2 application,the calling sequence
`the currently spawned application are illustrated. The
`of Phone 2 is addedto the top entry of the stack as indicated
`spawnedapplication providing functionality and a graphical
`in FIG. 4C. In a similar manner,if the user then selects, in
`user interface to the user, as indicated in procedural block
`sequence, applications Phone 3, Phone 4 and Phone1, stack
`136. If the user has not selected one of the option keys,
`60 will assume the configurations illustrated in FIG. 4D, 4E
`execution of the spawned application continues,as indicated
`and 4F respectively. It can be seen that with each new
`by the NO branch of decisional step 138. If the user has
`application selected by the user, the calling sequencefor that
`selected one of the option keys, as indicated by the YES
`application is placed on the top entry of stack 60. Next, if,
`branch of decisional block 138, a determination is made as
`from the currently executing application, Phone 1, the user
`to which option key has been selected, as indicated in
`decisional block 140. If the user has selected the BACK
`decidesto select the previous application, by selection of the
`BACKoption key, the calling sequence of Phone 1 will be
`option key, the spawned program sets the CODE variable
`popped from the top entry of stack 60 and placed at the
`equal to “1”, as indicated by procedural block 142. If the
`bottom entry thereof, as indicated in FIG. 5A. Thecalling
`user selects other than the BACK option key, a new appli-
`sequence for Phone 4 is now at the top entry of stack 60.
`cation is to be selected, and the calling sequencethereofis
`Similarly, if the user selects the Back option key again, the
`to be written to the STACK_TOP. The currently executing
`calling sequence of Phone 4 will be placed at the bottom
`application retrieves CMD_LINE_ADDRvariable from
`entry of stack 60 and the calling sequence for Phone 3 will
`the operating system environment, as indicated by block
`be present at the top entry of stack 60, as indicated in FIG.
`144, Next, a copy of the calling sequence for the next
`SB.If, in a similar manner, using the BACK option key, the
`selected application is written into the CMD__LINE vari-
`user sequentially moves backward through the calling
`able, as indicated by block 146. Next, the currently spawned
`sequence, selecting applications Phone 2, Phone 4, and
`application determines if the calling sequence of the next
`Phone 1, the internal stack 60 will assumethe configurations
`selected application should be written to STACK__TOP, as
`illustrated in FIGS. 5C, 5D and SE, respectively. In each
`indicated in decisional block 148.If so, the currently execut-
`instance of sclecting the BACKkey, the calling sequenceat
`ing application then sets the CODE variable equal to “2”, as
`the top of the stack is placed at the bottom of the stack and
`indicated by block 150. In the event that the next selected
`application should not be written to STACK_TOP,
`the
`the next entry moved to the top entry of stack 60. FIG. 5F
`illustrates the configuration of stack 60 after the scenario in
`spawned program sets the code variable to “3”, as indicated
`which the user has selected new files Phone 4, Phone 2,
`in block 152. The determination of whether or not the newly
`55
`selected application should be written to STACK_TOP is
`Phone 3, Phone 4 and Phone 1 and then, using the BACK
`key, back tracks and reexecuted these files in reverse order.
`programmed into the code of the actual application by the
`designer. Accordingly, all spawned applicationspriorto their
`The specific algorithmic steps execuled by the Navigator
`termination will set the value of the CODEvariable appro-
`as well asits interaction with a selected application will be
`described hereafter with reference to FIGS. 6A and B. To
`priately. The spawned application will then terminate, leav-
`ing the CODE variable in an address accessible by the
`assist in the explanation ofthe algorithmic steps executed by
`Navigatorutility, as indicated in step 154.
`the Navigator application, several variables are defined.
`STACKis a memory area, suchasthat illustrated by item 60
`The spawned application having terminated, the Naviga-
`tor program accesses the value of CODEvariable, as indi-
`in FIGS. 4-5. The STACK may be implemented in software
`in a manner within the scope of one skilled in the arts.
`cated by block 118 in FIG. 6A.If the value of codeis equal
`STACK._TOP represents
`the
`top entry of STACK.
`to “1”, as determinedin decisional block 120, the Navigator
`STACKBOTTOM represents the bottom entry of the
`rotates the STACK, as indicated by procedural block 122.
`STACK. TEMP and CMD__LINE are variables which hold
`Rotation of the STACK occurs by setting the current value
`
`20
`
`25
`
`35
`
`40
`
`45
`
`50
`
`60
`
`14
`
`14
`
`
`
`5,537,608
`
`8
`processor 20 will execute a shutdownalgorithm in which the
`PC counter, working registers, etc., are stored in an orderly
`manner in anticipation of powerloss. Simultaneously ,upon
`removal ofthe battery or loss of power, capacitor C1 and C2
`discharge, with the time for discharge defining the window
`in which processor 20 can perform an ordcrly shutdown
`routine. The volatile memory in communicator 10 is main-
`tained by backup battery 30 as indicated.
`Upon inserting a new battery into communicator 10,
`processor 20, will be able to resume execution at the point
`in which power was lost. As such, circuit 70 provides an
`early warning to processor 20 which enables the processor
`to perform an orderly shutdown and resume once poweris
`restored.
`
`7
`of STACK_TOP to a temporary variable, and shifting
`content of each of the STACK locations to the next higher
`STACKlocation. The value of STACK_BOTTOMis 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 containsthe calling sequenceofthe next application
`to be spawned, which in this instance, is the previously
`executed application since the user selected the BACK
`option key.
`If the value of the CODEvariable cquals “2”, indicating
`anew 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 STACKlocation is
`written to the next lower STACKlocation, with the content
`of the lowest Stack location disappearing. Next, the contents
`of the CMD_LINE variable are copied to the TEMPvari-
`able, as indicated by procedural block 130. The contents of
`the TEMPvariable are then copied to the Stack_Top vari-
`able, as indicated by procedural block 132. In this manner,
`procedural steps 128-132 ensurethat the calling sequence of
`the next application to be spawnedis recorded in the STACK
`for later retrieval.
`
`me 5
`
`It can be appreciated from the foregoing that the present
`invention provides a personal communicator which inte-
`grates the functionality of the personal computer with that of
`a cellular telephone and provides the user with a virtual
`graphical interface which can be reconfigured according to
`the application currently executing. Furthermore, the Navi-
`gator program provides a means for the user to move from
`one application to the other quickly and conveniently.
`Accordingly, it will be appreciated that the detailed dis-
`closure has been presented by way of example only andis
`indicating that the
`If the CODE variable equals “3”,
`not intended to be limiting. Various alterations, modifica-
`calling sequence of the next application to be spawned
`tions and improvements will readily occur to those skilled in
`should not be recorded in the STACK,the content of the
`the art, and may be practiced without departing from the
`CMD_LINE variable is copicd to the TEMPvariable, as
`spirit and scope of the invention. The invention is limited
`indicated in procedural block 134. However, the value of
`only as required by the following claims and equivalents
`TEMPis not subsequently copied to the STACK_TOP
`thercto.
`variable,
`therefore,
`the occurrence of the next spawned
`Whatis claimed is:
`application will not be recorded into the sequence offile
`1. A hand-held personal communication apparatus com-
`executions maintained by the Navigator. Next, returning to
`prising:
`the top of the flow diagram,
`the Navigator spawns the
`a radio frequency transceiver;
`application whose calling string can be found in the TEMP
`variable, as indicated in procedural block 112.
`audio logic circuitry coupled to said radio frequency
`transceiver to permit audio data to be received and
`As can be appreciated, the Navigator utility executes in a
`transmitted by a user;
`continuous loop and suspends execution only once another
`a digital processor;
`application has been spawned. Upon termination of the
`spawned application, the Navigator determines the calling
`a modem coupledto said digital processor and said radio
`sequenceof the next application to be spawned and modifies
`frequency transceiver to permit digital data to be
`the STACKas necessary.
`received and transmitted by a user;
`In the contemplated invention, even after loss of power by
`a memory coupled to said digital processor for storing a
`personal communicator 10,
`the Navigator will continue
`plurality o