`(12) Patent Application Publication (10) Pub. No.: US 2008/0059888 A1
`(43) Pub. Date:
`Mar. 6, 2008
`Dunk0
`
`US 2008.0059888A1
`
`(54) ORIENTATION BASED MULTIPLE MODE
`MECHANICALLY VIBRATED TOUCH
`SCREEN DISPLAY
`
`(75) Inventor:
`
`Gregory A. Dunko, Cary, NC
`(US)
`
`Correspondence Address:
`MOORE AND VAN ALLEN PLLC FOR SEMC
`P.O. BOX 13706, 430 DAVIS DRIVE, SUITE 500
`RESEARCH TRIANGLE PARK, NC 27709
`
`(73) Assignee:
`
`SONY ERCSSON MOBILE
`COMMUNICATIONS AB, Lund
`(SE)
`
`(21) Appl. No.:
`
`11/468,426
`
`(22) Filed:
`
`Aug. 30, 2006
`
`
`
`Publication Classification
`
`(51) Int. Cl.
`(2006.01)
`G05B 9/8
`(52) U.S. Cl. ........................... 715/744; 34.5/173; 700/62
`(57)
`ABSTRACT
`A system and method is disclosed for reconfiguring the
`graphical user interface (GUI) of a mechanically vibrated
`touchscreen display associated with a portable mobile com
`munications device that is operable in a variety of modes.
`The reconfiguration of the GUI is based on the orientation of
`the portable mobile communications device. An orientation
`sensing mechanism senses whether the portable mobile
`communications device is currently in a portrait or land
`scape orientation. An orientation sensing application
`accesses an orientation profile that associates each mode of
`operation with either a portrait or landscape orientation and
`determines which mode of operation is the default mode for
`the sensed orientation of the portable mobile communica
`tions device. The GUI of the mechanically vibrated touch
`screen display is then reconfigured for the default mode of
`operation.
`
`User Interface
`(GUI) Application
`
`Orientation
`Sensing
`Application
`
`OO
`
`Processor
`
`Orientation
`Sensing
`Mechanism
`
`Lenovo EX-1010, Page 001
`IPR2021-00786 (Lenovo Inc. v. LiTL LLC.)
`
`
`
`Patent Application Publication
`
`Mar. 6, 2008 Sheet 1 of 9
`
`US 2008/0059888A1
`
`FIGURE 1
`
`
`
`User Interface
`(GUI) Application
`
`Orientation
`Sensing
`Application
`
`OO
`
`Processor
`
`Orientation
`Sensing
`Mechanism
`
`Lenovo EX-1010, Page 002
`IPR2021-00786 (Lenovo Inc. v. LiTL LLC.)
`
`
`
`Patent Application Publication
`
`Mar. 6, 2008 Sheet 2 of 9
`
`US 2008/0059888A1
`
`FeuRE 2
`
`List
`Mode / Application
`
`
`
`OO
`
`Lenovo EX-1010, Page 003
`IPR2021-00786 (Lenovo Inc. v. LiTL LLC.)
`
`
`
`Patent Application Publication
`
`Mar. 6, 2008 Sheet 3 of 9
`
`US 2008/0059888A1
`
`
`
`Lenovo EX-1010, Page 004
`IPR2021-00786 (Lenovo Inc. v. LiTL LLC.)
`
`
`
`Patent Application Publication
`
`Mar. 6, 2008 Sheet 4 of 9
`
`US 2008/0059888A1
`
`FeuRE 4
`
`List
`Mode / Application
`
`2OO
`
`
`
`1OO
`
`41O
`
`Lenovo EX-1010, Page 005
`IPR2021-00786 (Lenovo Inc. v. LiTL LLC.)
`
`
`
`Patent Application Publication
`
`Mar. 6, 2008 Sheet 5 of 9
`
`US 2008/0059888A1
`
`
`
`s
`9.
`-H
`s
`S2
`
`w
`N
`
`O
`O
`s
`
`Lenovo EX-1010, Page 006
`IPR2021-00786 (Lenovo Inc. v. LiTL LLC.)
`
`
`
`Patent Application Publication
`
`Mar. 6, 2008 Sheet 6 of 9
`
`US 2008/0059888A1
`
`FeurE 6
`
`
`
`2OO
`
`List
`Mode / Application
`
`Lenovo EX-1010, Page 007
`IPR2021-00786 (Lenovo Inc. v. LiTL LLC.)
`
`
`
`Patent Application Publication
`
`Mar. 6, 2008 Sheet 7 of 9
`
`US 2008/0059888A1
`
`
`
`Lenovo EX-1010, Page 008
`IPR2021-00786 (Lenovo Inc. v. LiTL LLC.)
`
`
`
`Patent Application Publication
`
`Mar. 6, 2008 Sheet 8 of 9
`
`US 2008/0059888A1
`
`FIGURE 8
`
`
`
`* Gaming Mode (Landscape / Default)
`
`* Camera Mode (Portrait)
`
`Camera Mode (Landscape)
`
`OO
`
`* Music Player Mode (Portrait)
`
`* Web Browser (Landscape)
`
`Edit Mode List
`
`Lenovo EX-1010, Page 009
`IPR2021-00786 (Lenovo Inc. v. LiTL LLC.)
`
`
`
`Patent Application Publication
`
`Mar. 6, 2008 Sheet 9 of 9
`
`US 2008/0059888A1
`
`FIGURE 9
`
`Orientation Sensing Application is
`Manually or Automatically Activated
`
`Default Parameters and List of
`Modes Set for Orientation Sensing
`Application
`
`
`
`Portable Mobile Communications
`Device Senses Current Orientation
`Via Orientation Sensing Mechanism
`
`900
`
`905
`
`950
`
`910
`
`List Mode Input
`
`Automatic
`
`Manual
`
`Portable Mobile Communications
`Device Causes Mechanically Vibrated
`Touchscreen Display to Render
`Graphical User Interface (GUI) for
`Default (or Next) Mode Based on
`Currently Sensed Orientation
`
`Desired Mode
`
`Portable Mobile Communications
`Device Displays a List of Modes
`Associated With Current Orientation
`
`935
`
`Portable Mobile Communications
`Device Allows User to Select a Mode
`From List of Modes Associated With
`Current Orientation
`
`940
`
`
`
`
`
`
`
`Shake Portable Mobile
`Communications Device to
`Change Mode
`
`Portable Mobile Communications
`Device Causes Mechanically Vibrated
`Touchscreen Display to Render
`Graphical User Interface (GUI) for
`Selected Mode
`
`945
`
`
`
`
`
`
`
`Wait for Next Change in Orientation
`
`Lenovo EX-1010, Page 010
`IPR2021-00786 (Lenovo Inc. v. LiTL LLC.)
`
`
`
`US 2008/0059.888 A1
`
`Mar. 6, 2008
`
`ORIENTATION BASED MULTIPLE MODE
`MECHANCALLY VIBRATED TOUCH
`SCREEN DISPLAY
`
`figure itself for a different mode of operation without the
`user having to delve into the intricacies of the user interface
`to manipulate the functions.
`
`BACKGROUND OF THE INVENTION
`Portable mobile communications devices such as
`0001
`mobile phones are becoming more Sophisticated and include
`many new features and capabilities. One Such capability that
`is not yet in widespread use is the inclusion of a tactile
`interface for a touchscreen display.
`0002 Touchscreen displays are well known and provide
`the ability to receive input by directly touching the display
`means with a finger or other item such as a pen stylus. One
`of the biggest drawbacks to touchscreen displays is the lack
`of tactile sensation when actuating a key or button repre
`sented on the display. Recent technological advancements
`can now provide tactile feedback for a touchscreen display
`Such that the user actually feels the sensation of pressing a
`mechanical key or button when they are actually making
`contact with a flat touchscreen display. The tactile feedback
`provides a greater user experience as well as a truer sense
`that the input was indeed received by the device.
`0003 Portable mobile communications devices utilize
`processing hardware and Software that can operate multiple
`applications in addition to making and receiving cellular
`telephone calls. Many portable mobile communications
`devices provide camera devices and applications, digital
`music players, web browsers, office type applications
`including e-mail, and gaming applications. Each of these
`applications utilizes a separate and distinct graphical user
`interface (GUI) that is designed to be naturally intuitive to
`the user.
`0004. It becomes a significant design challenge to pro
`vide multiple GUIs based on a single display and keypad
`configuration that is inherent to a portable mobile commu
`nications device. Tactile feedback touchscreen display
`means driven by Software controlled operating modes can
`quickly reconfigure a portable mobile communications
`device display to represent multiple different modes or
`applications such as those presented above. This opens the
`door to eliminating most mechanical keys on a portable
`mobile communications device in favor of configurable
`tactile feedback touchscreen displays. This also allows for a
`larger Surface area for the display means since most of the
`area previously reserved for mechanical keys can be elimi
`nated.
`0005 Most portable mobile communications devices are
`rectangular in shape meaning their displays are also rectan
`gular in shape. However, not all of the multiple modes/
`applications listed above will utilize the display in the same
`orientation. Some applications work better when presented
`in a portrait orientation (phone, music player) while others
`are more intuitive in a landscape orientation (game playing,
`browser) while some may work equally well in either
`orientation (camera) depending on a personal preference.
`0006. In addition, a mechanically vibrated touchscreen
`display can be configured to cover the back and even the
`sides of a portable mobile communications device. This
`would allow for user interface buttons to be configured in
`areas that are not just the front face of the portable mobile
`communications device.
`0007 Integrating motion?orientation sensing technology
`with tactile feedback touchscreen displays allows the por
`table mobile communications device to automatically recon
`
`BRIEF SUMMARY OF THE INVENTION
`
`0008. In one embodiment there is presented a method of
`reconfiguring the graphical user interface (GUI) of a
`mechanically vibrated touchscreen display associated with a
`portable mobile communications device that is operable in a
`variety of modes. The reconfiguration of the GUI is based on
`the orientation of the portable mobile communications
`device. An orientation sensing mechanism senses whether
`the portable mobile communications device is currently in a
`portrait or landscape orientation. An orientation sensing
`application accesses an orientation profile that associates
`each mode of operation with either a portrait or landscape
`orientation and determines which mode of operation is the
`default mode for the sensed orientation of the portable
`mobile communications device. The GUI of the mechani
`cally vibrated touchscreen display is then reconfigured for
`the default mode of operation.
`0009. The user is prompted if the default mode is the
`desired mode of operation. The portable mobile communi
`cations device receives input indicative of a response to
`prompting whether the default mode is the desired mode of
`operation. If the received input indicative of a response to
`prompting the user is negative, the GUI of the mechanically
`vibrated touchscreen display is reconfigured for another
`mode of operation associated with the current orientation of
`the portable mobile communications device. This continues
`until the GUI on the mechanically vibrated touchscreen
`display for the desired mode of operation is presented.
`0010. The modes of operation can include, but are not
`limited to, phone mode, camera mode, game mode, music
`player mode, and web-browser mode. In addition, the ori
`entation sensing mechanism can include, but is not limited
`to, an accelerometer or a gyroscopic device.
`0011. In another embodiment there is presented a system
`and method of reconfiguring the graphical user interface
`(GUI) of a mechanically vibrated touchscreen display asso
`ciated with a portable mobile communications device that is
`operable in a variety of modes. An orientation sensing
`mechanism senses whether the portable mobile communi
`cations device is currently in a portrait or landscape orien
`tation and accesses an orientation profile that associates each
`mode of operation with either a portrait or landscape orien
`tation. A list of modes of operation associated with the
`sensed orientation of the portable mobile communications
`device is presented to the user. The user is prompted to select
`a mode of operation from the list. Input indicative of a
`selected mode of operation is received and the GUI of the
`mechanically vibrated touchscreen display is reconfigured
`for the selected mode of operation associated.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`0012 FIG. 1 is a block diagram of the internal hardware
`and Software components within a portable mobile commu
`nications device that comprise the present invention.
`0013 FIG. 2 illustrates a mechanically vibrated touch
`screen display for a portable mobile communications device
`showing a blank Screen image.
`
`Lenovo EX-1010, Page 011
`IPR2021-00786 (Lenovo Inc. v. LiTL LLC.)
`
`
`
`US 2008/0059.888 A1
`
`Mar. 6, 2008
`
`0014 FIG. 3 illustrates a mechanically vibrated touch
`screen display for a portable mobile communications device
`100 showing a screen image of a portable gaming system.
`0015 FIG. 4 illustrates a mechanically vibrated touch
`screen display for a portable mobile communications device
`showing a screen image of a phone keypad.
`0016 FIG. 5 illustrates a mechanically vibrated touch
`screen display for a portable mobile communications device
`showing a screen image of a digital camera.
`0017 FIG. 6 illustrates a mechanically vibrated touch
`screen display for a portable mobile communications device
`showing a screen image of a digital music player.
`0018 FIG. 7 illustrates a mechanically vibrated touch
`screen display for a portable mobile communications device
`showing a screen image of a web browser.
`0019 FIG. 8 illustrates a mechanically vibrated touch
`screen display for a portable mobile communications device
`showing a screen image of a list of modes that the portable
`mobile communications device is capable of executing.
`0020 FIG. 9 is a flow chart illustrating the processes
`occurring within the portable mobile communications
`device that control the modes presented on the mechanically
`vibrated touch screen display.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`0021. The following detailed description of embodiments
`refers to the accompanying drawings, which illustrate spe
`cific embodiments of the invention. Other embodiments
`having different structures and operations do not depart from
`the scope of the present invention.
`0022. A number of mobile devices are equipped with
`motion or orientation sensing capabilities in the form of
`accelerometers and/or gyroscopes. Typical reasons for their
`inclusion include Support for gaming applications, enhanced
`menu navigation/selection, or sports/fitness applications
`(e.g. pedometer), etc. Another potential and novel use for an
`embedded motion sensor within a mobile device is to
`automatically determine the orientation of the portable
`mobile communications device. The two most common
`two-dimensional orientations assume a rectangular base
`shape and are termed portrait and landscape. Portrait orien
`tation is longer vertically than horizontally while landscape
`orientation is longer horizontally than vertically. With this
`orientation knowledge the portable mobile communications
`device can change the mode to Suit the most likely desired
`mode based on the current orientation.
`0023. Most portable mobile communications devices are
`rectangular in shape meaning their displays are also rectan
`gular in shape. However, not all of the multiple modes/
`applications that can be executed by a portable mobile
`communications device will utilize the display in the same
`orientation. Some applications work better when presented
`in a portrait orientation (phone, music player) while others
`are more intuitive in a landscape orientation (game playing,
`browser) while some may work equally well in either
`orientation (camera) depending on a personal preference.
`0024 FIG. 1 is a block diagram of the internal hardware
`and Software components within a portable mobile commu
`nications device 100 that comprise the present invention.
`The components shown include an orientation sensing
`mechanism 110 such as, but not limited to, an accelerometer
`or a gyroscopic device. The orientation sensing mechanism
`110 is coupled to a processor 120 that controls the various
`
`input and output to and from the other various components.
`An orientation sensing application 130, a graphical user
`interface (GUI) application 140, and a mechanically
`vibrated touchscreen display 150 are also shown. The ori
`entation sensing mechanism 110 is configured to sense the
`current orientation of the portable mobile communications
`device 100 as a whole. The orientation data is then fed to the
`processor which Supplies it to the orientation sensing appli
`cation 130. The orientation sensing application 130, via the
`processor 120, controls the graphical user interface (GUI)
`application 140 and, in turn, the mechanically vibrated
`touchscreen display 150 to present the GUI for the desired
`mode.
`0025 FIGS. 2-7 illustrate examples of graphical user
`interfaces for various modes. The displays shown for each
`mode are exemplary. The actual layout and design of each
`GUI can appear differently and can be considered a design
`choice. In addition, while several modes have been listed, it
`is by no means an exhaustive list of modes. Other modes and
`GUIs can be implemented by those of ordinary skill in the
`art. The present invention is more concerned with identify
`ing and Switching among modes based on the current
`orientation of the portable mobile communications device.
`0026 FIG. 2 illustrates a mechanically vibrated touch
`screen display for a portable mobile communications device
`100 showing a blank screen image. Since the portable
`mobile communications device 100 utililizes a mechanically
`vibrated touchscreen display, the buttons typically associ
`ated with the device are unnecessary and can be replaced
`with virtual buttons on the display itself. The mechanically
`vibrated touchscreen display is configurable and can provide
`a tactile sensation that gives the user the sensation of
`actually pressing a button.
`0027. In FIG. 2 the screen is shown as blank with a "List
`Mode/Application' icon 200 in the upper right corner. For
`power saving purposes this can be the default screen display.
`The “List Mode/Application' icon 200 allows the user to
`access a menu of available options for the portable mobile
`communications device 100 at any time.
`0028 FIG. 3 illustrates a mechanically vibrated touch
`screen display for a portable mobile communications device
`100 showing a screen image of a portable gaming system in
`landscape orientation. The “List Mode/Application' icon
`200 remains in the upper right corner of the screen allowing
`the user to Switch modes manually at any time. It should be
`noted that the “List Mode/Application' icon 200 could be
`replaced by a physical button located somewhere on the side
`or back of the portable mobile communications device 100.
`This would free even more space on the mechanically
`vibrated touchscreen display.
`0029 FIG. 3 is set out to mimic the look and feel of the
`popular SonyTM PlayStation Portable (PSPTM) gaming
`device. The area designated by reference number 300 is
`reserved for game action. It is essentially the display within
`the display. The dashed box referred to by reference number
`305 represents the buttons that appear on the right hand side
`of the PSPTM. The dashed box referred to by reference
`number 310 represents the buttons that appear on the bottom
`of the PSPTM. Lastly, the dashed box referred to by reference
`number 315 represents the buttons that appear on the left
`hand side of the PSPTM. The buttons represented by refer
`ence numbers 305,310, and 315 are graphical renditions on
`the mechanically vibrated touchscreen display 150 of the
`portable mobile communications device 100. The mechani
`
`Lenovo EX-1010, Page 012
`IPR2021-00786 (Lenovo Inc. v. LiTL LLC.)
`
`
`
`US 2008/0059.888 A1
`
`Mar. 6, 2008
`
`cally vibrated touchscreen display is configurable and re
`configurable to suit the mode or application desired by the
`user. In this example, when the user presses an area of the
`mechanically vibrated touchscreen display that corresponds
`to one of the buttons that is associated with the PSPTM
`interface, a tactile sensation is returned to the user that
`indicates a button was pressed. The exact type of tactile
`sensation emitted by the mechanically vibrated touchscreen
`display and experienced by the user can vary according to
`parameters set out in the display configuration associated
`with that mode. Thus, some buttons may have different feels
`than other buttons.
`0030 FIG. 4 illustrates a mechanically vibrated touch
`screen display for a portable mobile communications device
`100 showing a screen image of a phone keypad in portrait
`orientation. The most commonly utilized mode for the
`portable mobile communications device 100 is probably the
`phone keypad mode. It is in this mode that the user can make
`and receive telephone calls. Once again the “List Mode/
`Application' icon 200 remains in the upper right corner of
`the Screen allowing the user to Switch modes manually at
`any time. The screen 400 within the screen provides visual
`feedback and queues to the user. The dashed box referred to
`by reference number 410 represents a phone keypad that
`allows the user to navigate through phone functions and dial
`phone numbers.
`0031 FIG. 5 illustrates a mechanically vibrated touch
`screen display for a portable mobile communications device
`showing a screen image of a digital camera in landscape
`orientation. The “List Mode/Application' icon 200 remains
`allowing the user to Switch modes manually at any time.
`Area 500 represents the viewfinder (and playback area)
`when operating in digital camera mode. The dashed box 500
`refers to control functions typically associated with a camera
`mode Such as, but not limited to, focus and Zoom. Other
`virtual control buttons could be programmed to change
`lighting settings, shutter speeds, camera modes (take picture
`vs. display pictures), etc.
`0032 FIG. 6 illustrates a mechanically vibrated touch
`screen display for a portable mobile communications device
`100 showing a screen image of a digital music player in
`portrait orientation. The “List Mode/Application' icon 200
`remains allowing the user to Switch modes manually at any
`time. In this example the screen area 600 can display data
`pertaining to individual Songs, playlists, etc. The dashed box
`610 illustrates control keys that can change the volume,
`scroll through lists on the display area 600, stop, pause, fast
`forward, rewind, and play selected Songs.
`0033 FIG. 7 illustrates a mechanically vibrated touch
`screen display for a portable mobile communications device
`showing a screen image of a web browser in landscape
`orientation. The “List Mode/Application' icon 200 remains
`allowing the user to Switch modes manually at any time. In
`this example the screen area 700 can display web-sites from
`the Internet or the like. Dashed box 710 illustrates config
`urable control buttons that perform some of the basic web
`browsing navigation functions such as scrolling through a
`page, stopping a data transfer, refreshing a web-site, and
`navigating to a pre-defined home page. Box 720 illustrates
`additional web browsing navigation functions such as going
`back to the previous web page or forward to the web page
`that was just being viewed. Lastly, box 730 illustrates a
`universal resource locator (URL) address bar to let the user
`know what web site they are currently viewing.
`
`0034 FIG. 8 illustrates a mechanically vibrated touch
`screen display for a portable mobile communications device
`showing a screen image of a list of modes that the portable
`mobile communications device is capable of executing. In
`each of the examples in FIGS. 2-7, a “List Mode/Applica
`tion' icon was included as a means for allowing the user to
`Switch modes manually at any time. If the user were to press
`this area of the screen in whatever mode was currently
`active, an image similar to that of FIG.8 would appear. Alist
`of available modes would be presented to the user such that
`the user need only press the desired mode to cause the
`mechanically vibrated touch screen display to re-configure
`itself to the newly desired mode or application. Moreover,
`the list itself could be edited to change the default modes for
`the portrait and landscape orientations.
`0035 FIG. 9 is a flow chart illustrating the processes
`occurring within the portable mobile communications
`device that control the modes presented on the mechanically
`vibrated touch screen display. The orientation sensing appli
`cation is activated 900 either manually or automatically
`depending on the profile of the portable mobile communi
`cations device as a whole. The default parameters and a list
`of modes and/or applications is retrieved and applied to the
`orientation sensing application 905. Once active, the orien
`tation sensing application receives data from the orientation
`sensing mechanism that indicates the current orientation of
`the portable mobile communications device 910.
`0036. If operating in automatic mode, the orientation
`sensing application causes the mechanically vibrated touch
`screen display to render the graphical user interface (GUI)
`for the default mode or application associated with the
`currently sensed orientation (portrait or landscape) 915. The
`user is visually prompted on the usable screen area for that
`mode or application whether this is the desired mode or
`application 920. If the default mode is not the desired mode,
`the user can shake the portable mobile communications
`device which will be detected by the orientation sensing
`mechanism and relayed to the orientation sensing applica
`tion 925. For an alternative to shaking the portable mobile
`communications device, the user could select a preconfig
`ured button somewhere on the surface area of the portable
`mobile communications device. The orientation sensing
`application will then reconfigure the mechanically vibrated
`touch screen display for another mode or application asso
`ciated with the currently sensed orientation 915. The user is
`again visually prompted on the usable Screen area for that
`mode or application whether this is the desired mode or
`application 920 and the process repeats until the user is
`presented with the desired mode. If no negative response to
`the prompt is received within a specified time-frame (e.g., a
`couple of seconds), then the orientation sensing application
`assumes the current mode is the desired mode. The orien
`tation sensing application then goes into a standby state in
`which it waits for the next change in orientation to be sensed
`930.
`0037. If operating in manual mode, the orientation sens
`ing application causes the mechanically vibrated touch
`screen display to list of modes and/or applications associated
`with the currently detected orientation (or all modes and/or
`applications regardless of orientation) from which the user
`can select 935. The user makes a selection from the list that
`is detected and processed by the orientation sensing appli
`cation 940. The orientation sensing application then recon
`figures the mechanically vibrated touch screen display for
`
`Lenovo EX-1010, Page 013
`IPR2021-00786 (Lenovo Inc. v. LiTL LLC.)
`
`
`
`US 2008/0059.888 A1
`
`Mar. 6, 2008
`
`the selected mode or application 945. The orientation sens
`ing application then goes into a standby State in which it
`waits for the next change in orientation to be sensed 930. A
`“List Mode Input 950 process has been included to indicate
`that the user can manually access the list of modes and
`applications at any time.
`0038. As will be appreciated by one of skill in the art, the
`present invention may be embodied as a method, system, or
`computer program product. Accordingly, the present inven
`tion may take the form of an entirely hardware embodiment,
`an entirely software embodiment (including firmware, resi
`dent Software, micro-code, etc.) or an embodiment combin
`ing Software and hardware aspects that may all generally be
`referred to herein as a “circuit,” “module' or “system.”
`Furthermore, the present invention may take the form of a
`computer program product on a computer-usable storage
`medium having computer-usable program code embodied in
`the medium.
`0039. In general, the routines executed to implement the
`embodiments of the invention, whether implemented as part
`of an operating system or a specific application, component,
`program, object, module or sequence of instructions will be
`referred to herein as "computer programs”, or simply "pro
`grams'. The computer programs typically comprise one or
`more instructions that are resident at various times in various
`memory and storage devices in a computer, and that, when
`read and executed by one or more processors in a computer,
`cause that computer to perform the steps necessary to
`execute steps or elements embodying the various aspects of
`the invention. Moreover, while the invention has and here
`inafter will be described in the context of fully functioning
`computers and computer systems, those skilled in the art will
`appreciate that the various embodiments of the invention are
`capable of being distributed as a program product in a
`variety of forms, and that the invention applies equally
`regardless of the particular type of signal bearing media used
`to actually carry out the distribution. Examples of signal
`bearing media include but are not limited to recordable type
`media, Such as volatile and non-volatile memory devices,
`floppy and other removable disks, hard disk drives, magnetic
`tape, optical disks (e.g., CD-ROMs, DVDs, etc.), among
`others, and transmission type media such as digital and
`analog communication links.
`0040. In addition, various programs described hereinafter
`may be identified based upon the application for which they
`are implemented in a specific embodiment of the invention.
`However, it should be appreciated that any particular pro
`gram nomenclature that follows is used merely for conve
`nience, and thus the invention should not be limited to use
`solely in any specific application identified and/or implied
`by Such nomenclature.
`0041 Any suitable computer readable medium may be
`utilized. The computer-usable or computer-readable
`medium may be, for example but not limited to, an elec
`tronic, magnetic, optical, electromagnetic, infrared, or semi
`conductor System, apparatus, device, or propagation
`medium. More specific examples (a non-exhaustive list) of
`the computer-readable medium would include the follow
`ing: an electrical connection having one or more wires, a
`portable computer diskette, a hard disk, a random access
`memory (RAM), a read-only memory (ROM), an erasable
`programmable read-only memory (EPROM or Flash
`memory), an optical fiber, a portable compact disc read-only
`memory (CD-ROM), an optical storage device, a transmis
`
`sion media Such as those Supporting the Internet or an
`intranet, or a magnetic storage device. Note that the com
`puter-usable or computer-readable medium could even be
`paper or another Suitable medium upon which the program
`is printed, as the program can be electronically captured, via,
`for instance, optical scanning of the paper or other medium,
`then compiled, interpreted, or otherwise processed in a
`Suitable manner, if necessary, and then stored in a computer
`memory. In the context of this document, a computer-usable
`or computer-readable medium may be any medium that can
`contain, store, communicate, propagate, or transport the
`program for use by or in connection with the instruction
`execution system, apparatus, or device.
`0042 Computer program code for carrying out opera
`tions of the present invention may be written in an object
`oriented programming language Such as Java, Smalltalk,
`C++ or the like. However, the computer program code for
`carrying out operations of the present invention may also be
`written in conventional procedural programming languages,
`Such as the “C” programming language or similar program
`ming languages. The program code may execute entirely on
`the users computer, partly on the user's computer, as a
`stand-alone software package, partly on the user's computer
`and partly on a remote computer or entirely on the remote
`computer or server. In the latter scenario, the remote com
`puter may be connected to the user's computer through a
`local area network (LAN) or a wide area network (WAN), or
`the connection may be made to an external computer (for
`example, through the Internet using an Internet Service
`Provider).
`0043. The present invention is described below with
`reference to flowchart illustrations and/or block diagrams of
`methods, apparatus (systems) and computer program prod
`ucts according to embodiments of the invention. It will be
`understood that each block of the flowchart illustrations
`and/or block diagrams, and combinations of blocks in the
`flowchart illustrations and/or block diagrams, can be imple
`mented by computer program instructions. These computer
`program instructions may be provided to a processor of a
`general purpose computer, special purpose computer, or
`other programmable data processing apparatus to produce a
`machine, Such that the instructions, which execute via the
`processor of the computer or other programmable data
`processing apparatus, create means for implementing the
`functions/acts specified in the flowchart and/or block dia
`gram block or blocks.
`0044. These computer program instructions may also be
`stored in a computer-readable memory that can direct a
`computer or other programmable data processing apparatus
`to function in a particular manner, such that the ins