`
`(19) World Intellectual Property
`O
`izatio
`i
`gis
`aBit
`wyatt
`ga
`+
`gut
`gat
`.
`Intemational Bareau A
`
`
`
`(43) International Publication Date
`6 Gctober 2005 (06.10.2665)
`
`PCT
`
`(10) international Publication Number
`WO 7605/093550 A?
`
`(31) International Patent Classificadion’: GO6F 1/16, 3/033
`
`(1) Interaational Application Number:
`PCTATS2005 003590
`
`(22) Tufernational Wiig Date: 27 January 2005 (27.01.2008)
`
`(25) Filing Language:
`
`(26) Publication Language:
`
`English
`
`English
`
`30) Priory Duta:
`(38)
`oRity
`;
`10/79 1,495
`ees
`LO/986.738
`
`March2
`
`(G1 03.2004)
`
`“Whiely 3004 a307S008)
`12 November 2004 (12.11.2004)
`
`iS
`
`us
`US
`
`(71) Applicant (for all designated States except US): APPLE
`COMPUTER, INC.
`[US/US];
`1
`Infinite Loop - M/S
`3-PAT, Cupertine, CA 95014 CUS),
`
`(72) Inveniors; and
`(73) Inventors/Applicants (for US only}: WEETRENBERG,
`Paul, §. [USS]; 3516 Ross Road, Pale Alta, CA 94303
`CUS). DEEBA, Aaron [CA/US]; 365 Forest Avenue, Unite
`BA, Palo Alto, CA 94301 GUS). WILLIAMS, Rickard, C.
`PUS/OST, 13198 Via Madronas Drive, Saratoga, CA 98070
`(US). FALKENBURG, David, R. [US/US], 5199 Bela
`Drive, San Jose, CA 95129 (US). GURBARG, Lonis, G.
`FUS/UISH, 20800 Valley Green Drive, Apt. 417, Cupertino,
`CA 95014 (11S). CHANG,Ray, L. [US/ISI: 1671 Lederer
`Yirele, San Jose, CA 95131 CUS).
`C4ere Agents: SCHELLER, James, C. et al.; Blakely, Sokoloff,
`*
`ye
`;
`Taylor & Zafman LLP, 12400 Wilshire Roulevard, 7th
`Floor, Los Angeles, CA 90025 (US).
`(81) Designated States (unless otherwise indicated, for every
`kind of national protection available AT, AG, AL, AM,
`AT, AU, AZ, BA, BB, BG, BR, BW, BY, BY, CA, CH, CN,
`
`
`
`
`
`CG, CR, CU, CZ, DB, DB, DM, DY, BC, EE, BG, ES, FE
`
`GB, GD, GH, GH, GM, RR, HU, 0D, IL, IN, IS, TB RE,
`
`{Continued on next page}
`
`(84) ‘Tithe: METHODS AND APPARATUSES FOR OPBRATING A PORTABLE DEVICE BASBD ON AN ACCHLBROMBTER
`
`Bticco
`
`(87) Abstract: Methods—and
`
`apparatuses for operating a portable
`device based on an accelerometer
`are described.
`According to one
`eotbodiment of
`the
`invention,
`as
`Boo
` derogiet
`attached to a portable
`device detects a movement of the
`
`
`
`
`
`a<
`
`f'
`
`Seaot
`af)
`uf)
`er}
`oN
`SsNO
`
`>=S
`
`ooot
`ey
`
`S
`
`Getect a movement ai a portable device (8.g., a laptop ortablet} using |
`an scoslerorater attached to the portable device.
`i
`
`ceed
`
`
`
`Necaertartental
`
`
`
`
`
`Selermine a dreation of tha movement of the porlable device based
`on the movement information (e.g., XY, & 2 axis information)
`yravided by the accelerometer,
`
`aoZ
`
`
`
`Execute a maching-exesulable onde (¢.9., application software} to
`perfann ona or more predeternined operations (e.g, advancing a
`neid page af a dacument arWeb sage, aic.} in response to ihe
`datermined direction.
`
`a
`In response,
`portable device.
`machine executable code is executed
`within the portable device to perform
`one or more predetermined user
`configurable
`operations.
`Other
`methods and apparatuses are also
`described.
`
`
`
`
`
`WO 2005/093850 A2
`
`CTT
`
`KG, KP ER, KZ, UC, LK, LE, LS, LT, LU, LV, MA, MB,
`MG, ME, MN, MW, Mx, MZ, NA, NINO, NZ OM, PG,
`PH, PL,
`PE RO, RU, SO, SB, SE, SG, SK, SL, SM. SY, TE
`
`TMAOEN, PROPERTS, UA, UG, US, OZ VC, VIN, YU, ZA,
`ZM,. ZW.
`
`(84)
`
`Designated States funless otherwise indicated, far every
`kind of regianal protection available}: ARIPO (BW, GH,
`GM, KE, LS, MW, MZ, NA, SD, SL, 82, T2, UG, 2M,
`ZW), Unrasian (AM, AZ, BY, 6G, KY, MD, RU, TY TM),
`European (AT, BE, BG, CH, CY, CZ, DE, DK, ER, BS. PL
`
`PR, GB, GR, WOTIS, TT, UT LU McC, NE, PL, PT, RO,
`
`SH,
`SY, SK, TR), GAPL (BR, BS, CR CG, CL CM, GA, GN,
`GQ, GW, MIL, MR, NE, SN, TD, TG).
`
`Published:
`~ without international search report and ia be republished
`upon receipt of that report
`
`Fortwo-letter codes and other abbreviations, refer to the “Guid-
`ance Notes on Codes and Abbreviations” appearing at the begin~
`ning of each regular issue of the PCT Gazette.
`
`ie
`
`
`
`WO 2803/6933359
`
`PCT/US2003/003399
`
`{8001}
`
`This application is a continuation-in-part (CIP) of co-pending US.
`
`Patent Application No. 10/890,856, filed July 13, 2004, whichis a continuation
`
`of co-pending U.S, Patent Application No. 10/348,465,filed January 21, 2003,
`now U.S. Patent No. 6,768,066, which is a divisional application of co-pending
`U.S. Patent Application No. 09/678,541, filed October 2, 2000, now US. Patent
`
`No. 6,528,013.
`
`10002)
`
`This application is also a continuation-im-part (CIP) ofco-pending
`
`U.S. Patent Application No. 10/791,495, filed March 1, 2004. The above-
`
`identified U.S. patent applications are hereby mcorporated by reference.
`
`FIELD OF THE INVENTION
`
`[0003]
`
`The present invention relates generally to a portable device. More
`
`particularly, this invention relates to operating a portable device using an
`
`accelerometer of the portable device.
`
`BACKGROUND OF THE INVENTION
`
`Accelerometers are devices widely used for applications as diverse as
`16004]
`vibration monitoring, appliance control, joysticks, industrial process control,
`space launches, satellite control, and many others. Por example, an accelerometer
`has been used in a yehicle as sensor to detect a variety of operatimg conditions
`
`while the vehicle is moving.
`
`{O005]
`
`As computers have been getting more popular, an accelerometer has
`
`been used in a computer to sense a sudden move, such as afree fall, of a
`
`computer. A typical appheation ofan accelerometer in a computeris to protect a
`
`read/write head of a hard drive. However, there has been a lack of applications
`
`wfe
`
`
`
`WO 200S8/093850
`
`POCT/US2005/003599
`
`that an accelerometer is used in conganction with software execulable within a
`
`computer.
`
`SUMMARYGF THE INVENTION
`
`10006]
`
`Methods and apparatuses for operating a portable device based on an
`
`accelerometer are described. According to one embodiment of the invention, an
`
`accelerometer attached tc a portable device detects a movement ofthe portable
`
`device. In response, a machine executable code is executed to perform a
`
`predetermined user configurable operation.
`16007]
`According to one embodiment of the invention, an accelerometer of a
`portable device may constantly or periodically monitor the movement of the
`
`portable device. As a resuli, an orientation ofthe portable device prior to the
`
`movement and after the movernent may be determined based on the movement
`
`data provided by the accelerometer attached to the portable device.
`
`{G608)]
`
`According to another embodiment ofthe invention, an accelerometer
`
`may be used to detect a movement of a portable device as a wayto trigger
`
`whether a page of document or image may be displayed.
`
`10009]=According to another embodiment of the invention, an accelerometer
`
`may be used in a navigation application. For example, a portable device having
`
`an accelerometer attached therein maybe used as a navigationtool to navigate a
`
`relatively large object or document that normally cannot be displayed entirelyat
`
`once within a display of the portable device.
`
`[8010]
`
`According to another embodiment of the invention, an accelerometer
`
`may be used in a gaming application, where the accelerometer may be used io
`
`detect a scene change during a video game running within a portable device.
`
`(Oo1T]
`
`According to another embodiment of the invention, an accelerometer
`
`may be used to detect a movement of a portable device and an orientation ofthe
`
`portable device may be determined based on the movement data provided bythe
`
`accelerometer. Thereafter, one or more interfaces of the portable device may be
`
`activated or deactivated based on the determined orientation after the movement.
`a]a
`
`
`
`WO 200S8/093850
`
`POCT/US2005/003599
`
`(a812]
`
`According to another embodiment of the invention, an accelerometer
`
`maybe used to detect and determine activities of a user (e.g., joggling) with a
`
`portable device having the accelerometer attached therein.
`
`fRiS]
`
`According to another embodiment of the invention, an accelerometer
`
`maybe used to determine whethera porlable device is moving (¢.g., carried by a
`
`user) and the portable device should be put in a proper operating state (e.g., a
`
`' sleep or hibernated mode).
`{0014}
`According to another embodimentofthe invention, an accelerometer
`maybe used to detect whether a portable device is moved accordimg to certain
`
`directions, in order to determine whether a password is entered correctly.
`
`{6015}
`
`According to another entbodiment of the invention, an accelerometer
`
`may be used to detect and record a sequence of movements of a portable device,
`
`where the recorded movement daia maybe used to recreate the moving history
`subsequently (e.g., offHine).
`|
`{0016}
`Other features of the present invention will be apparent from the
`
`accompanying drawings and from the detailed description which follows.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`(O017]
`
`The present inventionis illustrated by way of example and not
`
`limitation im the figures of the accompanying drawings in which lke references
`
`indicate similar elements.
`
`{O0i8]
`
`Figure 1 is a block diagram illustrating an exemplary architecture of a
`
`portable device according to one ombodiment of the invention.
`
`{O019]
`
`Figure 2 is a flowdiagram illustrating an exemplary process for
`
`operating a portable device in response to an event generated by an acceleromicter,
`
`according to one embodiment of the invention.
`
`(0028)
`
`Figures 3A and 3B are diagrams illustrating an exemplary application
`
`that an accelerometer maybe utilized according to one embodiment of the
`
`invention,
`
`
`
`WO 2003/093556
`
`PCT/US2005/803599
`
`(6623)
`
`Figure 4 is a flow diagram illustrating an exemplary processor for
`
`reorienting a displayed document based onan accelerometer, according io one
`
`embodiment of the invention.
`
`{0622}
`
`Figures $A and 5B are diagrams ilustrating exemplary movements of
`
`a porlable device that may be used to trigger displaying a page of document,
`
`according to certain embodiments ofthe invention.
`
`{0023]=Fignre 6 1s 4 flowdiagram illustrating an exemplary process for
`
`presenting a document based on an accelerometer according to one embodiment
`
`of the invention.
`
`19624]
`
`Figures 7A and 7B are diagrams illustrating an exemplary navigation
`
`application based on anaccelerometer according to one embodiment of the
`
`invention.
`
`19025]
`
`Figure § 1s a flow diagram ifustrating an exemplaryprocess for
`
`navigating an image based on an accelerometer, according to one embodiment of
`
`the invention.
`
`[0026]
`
`Figures 9A and 9B are diagramsillustrating an exemplary gaming
`
`application based on an accelerometer, according to one embodiment of the
`
`invention.
`
`[0027]
`
`Figures 10A and 10B are diagrams ihusteating an exemplary gaming
`
`application based on an accelerometer, according to another embodiment of the
`
`mvention.
`
`je028]
`
`Figure ti is a flow diagram illustrating an exemplaryprocess for a
`
`parning application based on an accelerometer, according to one embodiment of
`
`the invention.
`
`[8029]
`
`Figures 124 and 12B are diagrams illustrating an exemplary
`
`mechanism for activating/deactivating interfaces of a portable device based on an
`
`accelerometer, according to one embodiment of the invention.
`
`(6030)
`
`Figore 13 is a flow diagram ilustrating an exemplary process for
`
`operating interfaces ofa poriable device based on an accelerometer, according to
`
`one ernbodiment of the invention.
`
`“de
`
`
`
`WO 2605/493350
`
`POT/OS20035803599
`
`(6031)
`
`Figures 144 and 145 are diagrams illustrating an exemplary
`
`mechanism for activating/deactivating nvwiltimedia interfaces of a portable device
`
`using an accelerometer, according to one embodiment of the invention.
`
`{6032}
`
`Figare 15 is a Howdiagram ilhustrating an exemplary process for
`
`reconfiguring multimedia interfaces based on an accelerometer, according to one
`
`embodiment of the invention.
`
`{9033}
`
`Figore 16 is a flow diagramiDustrating an exemplary process for
`
`playing multimedia contents based on an accelerometer, according to one
`
`embodiment of the invention.
`
`{0034}
`
`Figure 17 is a lowdiagramilhustrating an exemplary process for
`
`power management of a portable device according to one embodiment ofthe
`
`invention.
`
`{0035}
`
`Figure 18 is a Howdiagram illustrating an exemplaryprocess for
`
`processing password according to one embodiment of the invention.
`
`[0036]
`
`Figure 19 is flow diagram illustrating an exemplary process,for
`
`recreating a trail of movements using an accelerometer, according to one
`
`embodiment of the invention.
`
`{0037}
`
`Figure 20 is a block Giagram illustrating an exemplary portable device
`
`having an accelerometer according to one embodiment of the invention.
`
`{0038}
`
`Figure 21 is a block diagramof a digital processing system which may
`
`be used with one embodiment of the invention.
`
`{9039}
`
`Figure 22 is a flow diagram illustrating an exemplary process for
`
`motion compensation using an accelerometer according to one embodiment of the
`
`invention.
`
`[00498]
`
`Figure 23 is flow diagram illustrating an exemplary process for
`
`detecting an inmpulse using an accelerometer, according lo one embodiment ofthe
`
`invention,
`
`(0041)
`
`Figure 24 is flow diagramillustrating an exemplary process for
`
`operaling a component of a portable device using an accelerometer, aceording to
`
`one embodiment of the invention.
`
`
`
`WO 2805/99353)
`
`PCTUSIGOS003599
`
`DETAILED DESCRIPTION
`
`[6042]
`
`Methods and apparatuses for operating a portable device based on an
`
`accelerometer are described. According to certain embodiments, an
`
`accelerometer has been used within a portable device, such as, for example, a
`
`laptop computer, a tablet PC, a personal digital assistant (PDA), a cellular phone,
`
`and a digital multimedia player, etc. Once the accelerometer detects a movement
`
`ofthe portable device, a moving direction, also referred to as a moving vector or
`an acceleration vector, is determined based on the movement data provided by the
`
`accelerometer, The moving direction and/or the movement data may be provided
`
`to a software component (e.g., application software} executed within the portable
`device.
`In response to the detection ofthe movementof the portable device, the
`
`corresponding software component performs one or more predetermineduser
`
`configurable actions, such as, for example, advancing a page of document, ete.,
`
`based on the moving direction and/or movement data provided bythe
`
`accelerometer.
`
`[6043]
`
`in the following description, numerous details are set forth to provide
`
`amore thorough explanation of the present invention. It will be apparent,
`
`however, to one skilled in the art, that the present invention maybe practiced
`
`without these specific details, In other instances, well-known structures and
`
`devices are shown in block diagram form, rather than in detail, in order to avoid
`
`obscuring the present invention.
`
`[8044]
`
`Some portions ofthe detailed descriptions whichfolloware presented
`
`in terms of algorithms and symbolic representations of operations on data bits
`
`within a computer memory. These algorithmic descriptions and representations
`
`are the means used bythose skilled in the data processing arts to most effectively
`
`conveythe substance of their work to others skilled in the art. An algorithm is
`
`here, and generally, conceived ta be a self-consistent sequence of steps leading ic
`
`a desired result. The steps are those requiring physical manipulations of physical
`
`quantities. Usually, though not necessarily, these quantities take the form of
`“Guwy
`
`
`
`WO 2003/093556
`
`PCT/US2005/803599
`
`electrical or magnetic signals capable of being stored, transferred, combined,
`
`compared, and otherwise manipulated. It has proven convenient at times,
`
`principally for reasons of common usage, to refer to these signals as bits, values,
`
`elements, symbols, characters, terms, mumbers, or the like.
`
`[0045]
`
`It should be borne in mind, however, that all of these and similar tenns
`
`are io be associated with the appropriate physical quantities and are merely
`
`convenient labels applied to these quantities. Unless specificallystated otherwise
`
`as apparent from the following discussion, it 1s appreciated that throughout the
`
`description, discussions utilizing terms such as "processing” or "computing" or
`
`"caleulating” or "determining" or "displaying"or the like, refer to the action and
`
`processes of a computer system, or similar electronic computing device, that
`
`manipulates and transforms data represented as physical (electronic) quantities
`
`within the computer system's registers and memories into other data similarly
`
`represented as physical quantities within the computer system memories or
`
`registers or other such information storage, transmission or display devices.
`
`10046)
`
`The present invention also relates to apparatus for performing the
`
`operations herein. This apparatus maybe specially constracted forthe required
`
`purposes, or it may comprise a general purpose cormputer selectivelyactivated or
`
`reconfigured by a comptter program stored in the computer. Such a computer
`
`program niay be stored in a computer readable storage medium, such as, but is
`
`not limited to, any type of disk including floppydisks, optical disks, CD-ROMs,
`
`and magnetic-optical disks, read-only memories (ROMs), random access
`
`memories (RAMs), erasable programmable ROMs (EPROMs),electrically
`
`erasable programmable ROMs (EEPROMs}, magnetic or optical cards, or any
`
`type of media suitable for storing electronic instructions, and each coupled to a
`
`computer system bus.
`
`[8047]
`
`The algorithms and displays presented herein are not inherently related
`
`to any particular computer or other apparatus. Various general purpose systems
`
`may be used with programs in accordance with the teachings herein, or it may
`
`prove convenient to consinict more specialized apparatus to perform the required
`”wpe
`
`
`
`WO 2003/093556
`
`PCT/US2005/803599
`
`method steps. The required structure for a variety of these systems will appear
`
`from the description below. In addition, ihe present invention is not described
`
`with reference io any particular programming language. It will be appreciated
`
`that a variety of prograroming languages may be used to implementthe teachings
`
`of the invention as described herein.
`
`[O048)
`
`A machine-readable medium includes any mechanism for storing or
`
`transmitting inforraation in a form readable by a machine (¢.g., a computer). For
`
`example, a machine-readable medium includes read only memory ROM”);
`
`random access memory (“RAM”), magnetic disk storage media; optical storage
`
`media; flash memorydevices; electrical, optical, acoustical or other form of
`
`propagated signals {e.g., carrier waves, infrared signals, digital signals, etc.); ete.
`
`Overview
`
`10049]
`
`Figure 1 is a block diagram illustrating an exemplary architecture of a
`
`portable device according to one embodiment of the invention. In one
`
`embodiment, the exemplary system 100 includes, but is not limited to, a
`
`processor, a memory coupled to the processor, the memoryhaving instructions
`
`stored therein, and an accelerometer coupled to the processor and the memoryto
`
`detect movement of the portable device, where the processor executes
`
`fastructions from the memoryto perform one or more predetermined user
`
`configurable actions in response to the detection of the movement of the portabic
`
`device. In an alternative embodiment, the exemplary system 106 further includes
`
`a controller coupled to the accelerometer to determine a direction of the
`
`movement based on movement data provided by the accelerometer and to
`
`compare the determined direction of the movement with a predetermined
`
`direction to determine whether the determined direction relatively matches the
`
`predetermined direction in orderto execute the instructions.
`
`(0050)
`
`Referring to Figure 1, according to one embodiment, exemplary
`
`system 100 inchides one or more accelerometers 101, one or more controllers 102
`
`coupled to the accelerometers 101, a motion related firmware 103, motion
`2.
`
`
`
`WO 2803/8935S58
`
`POTAIS2005/003599
`
`software component 104, and one or more application software 105-107. The
`
`accelerometer 101 maybe attached to the portable device, suchas, for example, a
`
`motherboard of the portable device, Alternatively, the accelerometer 101 may be
`
`integrated with another component of the portable device. Por example, the
`
`accelerometer 101 may be integrated with a chipset of the portable device.
`
`18051]
`
`According to ene embodiment, the accelerometer 101 is able to detect
`
`amovement including an acceleration and/or de-aceeleration of the portable
`
`device, The accelerometer 101 may generate movement data for multiple
`
`dimensions, which may be used to determine a moving direction of the portable
`
`device. For exarnple, the accelerometer 101 may generate X, Y, and Z axis
`
`acceleration information when the accelerometer 101 detects that the portable
`
`device is moved. In one embodiment, the accelerometer 101 may be
`
`implemented as those described in U.S. Patent No. 6,520,013, whichis assigned
`
`to a commonassignee of the present application. Alternatively, the accelerometer
`
`101 maybe implemented using a variety of accelerometers commercially
`
`available. For example, the accelerometer 10] may be a KGFO1 accelerometer
`
`from Kionix or an ADXL311 accelerometer from Analog Devices.
`
`fooSzZ}
`
`In addition, the exemplary system 100 includes one or more
`
`controllers 102 coupled to the accelerometer(s} 101. The controller 102 may be
`
`used to calculate a moving direction, also referred to as moving vecior, of the
`
`portable device. The moving vector tnay be determined according to one or more
`
`predetermined formulas based on the movement data fe.g., X, Y, and £ axis
`
`moving information) provided bythe accelerometer 101. Certain embodiments
`
`afcalculations of a moving vector will be described in details further below.
`
`[8653]
`
`According to one embodiment, the controller 102 is responsible for
`
`moniioring one or more outputs of the accelerometer 101 and communicating
`
`with other components, such as, for example, a chipset (e.g., a memory controller
`
`or a north bridge) and/or a microprocessor(e.g,, a CPU}, of the portable device,
`
`The controller 102 may be iniplemented using a variety ofmicrocontrollers
`
`conunercially available. For example, controller 102 may be a PIC 16F818
`9
`
`
`
`WO 2005/893338
`
`PCT/US2008/G83399
`
`nucroconiroller from Microchip. Controller 102 maybe integrated with the
`
`accelerometer 101. Alternatively, controller 102 maybe integrated with other
`
`components, such as, for example, a chipset or a microprocessor, of the portable
`
`device,
`
`[0054]
`
`In one embodiment, the controller 162 may cormmunicate with other
`
`components via a bus, such as, for example, an I2C (imter-IC) bus, and an
`
`interrupt line. In response to the movement data, the controller 102 generates an
`
`interrupt, for example, a hardware interrupt, a soltware interrupt, or a
`
`combination of both, via an interrupt line to other components, such as, firmware
`
`103, to notify them of such a movement. In addition, the controller 102 may
`
`further calculate a moving vector based on the movement data provided by the
`
`accelerometer 11, Further detailed information concerning the communications
`
`between the controller 102 and other components of the portable device will be
`
`described further below.
`
`[0655]
`
`Referring back to Figure 1, motion firmware 103 includes one or more
`
`pieces of machine executable code, which may be embedded within one or more
`
`hardware components, such as, for example, controller 102 or a chipset (e.g. a
`
`part of BIOS, also referred io as basic imput/output system), of the portable
`
`device. In one embodiment, motion firmware 103 maybe stored in a read-only
`
`meniory (ROM)(e.g., a Hash memory) of controller 102. However, the machine
`
`executable code of motion firmware 103 may be upgraded by uploading a newer
`
`version into the memory, for example, using a flash utility. The firmware 103
`
`may be responsible for detecting any events that are generated in response to the
`movement detection. According to one embodiment, the firmware 103 provides a
`primary communications mechanism between controller 102 and other
`
`components, such as, for example, an operating systern (OS), of the portable
`
`device.
`
`[8086]
`
`Motionsoftware 104 maybe responsible for communicating between
`
`the motion firmware 103 and the rest of software components, such as application
`
`software components 105-107, as well as the operating system. In one
`~10-
`
`
`
`WO 2803/8935S58
`
`POTAIS2005/003599
`
`embodiment, the motion software 104 may be implemented as a part of an
`
`operating system, such as, for example, a kernel component or 2 device driver,
`
`etc, The operating system may be implemented using a variety of operating
`
`systems commercially available. For example, the operating system may be a
`
`Mac OS from Apple Computer. Alternatively, the operating system may be a
`
`Windows operating system from Microsoft. Other operating systems, suchas, for
`
`example, a Unix, a Linux, an embedded operating systemfe.g., a Palm OS), or a
`
`real-time operating system, mayalso be implemented.
`
`[0087]
`
`According to one embodiment, in response to the motion detection
`
`event, which maybe sotified by the motion firmware 103, the motion software
`
`component 164 may coramunicate the event to one or more application software
`
`105-107. In response to the detection, the application sottware 105-107 may
`
`perform certain operations. The applications 105-107 may be a variety of
`
`different applications, such as, for example, a browser, a word processor, a slide
`
`presentation, etc. Certain embodiments of the operations performed bythe
`
`applications 105-107 will be described in details further below.
`
`{HOSS}
`
`Figure 2 is a flow diagram dhustrating an exemplary process for
`
`operating a portable device in response to an event generated by an accelerometer,
`
`according to one embodiment ofthe invention. Exemplary process 200 may be
`
`performed by a processing logic that may comprise hardware (circuitry, dedicated
`
`logic, ete.), software (such as is ran on a dedicated machine}, or a combination of
`both. In one embodiment, exemplary process 200 inchides, but is not limited to,
`
`detecting movement of a portable device using an accelerometer attached io the
`
`portable device, and executing machine-executable code to perform one or miore
`
`predetermined user configurable actions in response to the detection of the
`
`movement of the portable device.
`
`[5659]
`
`Referring to Figure 2, at block 201, a movement of a portable device,
`
`suchas, for example, a laptop computeror a tablet PC, is detected using an
`
`accelerometer (e.g., accelerometer 101 of Figure 1) attached to the portable
`
`device. In one embodiment, in response to the detection, the accelerometer may
`~if-
`
`
`
`WO 2003/093556
`
`PCT/US2005/803599
`
`generate movement data for multiple dimensions (¢.g., X, Y, and Z axes). In
`
`response to the detection, at block 202, a direction of the movement is determined
`
`based on the movement data provided by the accelerometer. In one embodiment,
`
`ithe direction of the movement is determined by a controlfer (e.g., controller 102
`
`of Figure 1). In response to the determined direction, at block 203, one or more
`
`machine executable code (e.g., application software} may be executed to perform
`
`one or more predetermined user configurable actions, such as, for exarnple,
`
`advancing a Web page, ete. Other operations may alse be performed.
`
`Determining Orientation Based on an Accelerometer
`
`
`
`[O06u)
`
`According to one embodiment of the invention, an accelerometer ofa
`
`portable device mayconstantly or periodically monitor the movement ofthe
`
`portable device. As a result, an orientation of the portable device prior to the
`
`movement and after fhe movement may be determined based onthe movement
`
`data proviied bythe accelerometerattached to the portable device.
`
`[8061]
`
`Figures 3.4 and 3B are diagrams illustrating an exemplary application
`
`that an accelerometer maybe utilized according to one embodiment of the
`
`invention. In this embodiment, and throughout the application, a tablet device is
`
`used as an exampleof a portable device, But itis not so limited. It will he
`
`appreciated that other portable devices, suchas, a laptop computer, a personal
`
`digital assistant (PDA), a personal communicator {e.g,, a blackberryfrom
`
`Research In Motion}, a cellular phone, or a mrultimedia player (e.g., an MP3
`
`player), etc., may also be utilized.
`
`10062]
`
`Referring to Figures 3A and 3B, initially according io one
`
`embodiment, the portable device is in an orientation 301 having a page of
`
`decument 303 displayed within adisplay of the portable device. In the
`
`orientation 301, the document page 303 is displayed properly from a viewpoint of
`
`a user facing the display given the orientation 301, which may be detected and
`
`
`
`WO 2003/093556
`
`PCT/US2005/803599
`
`determined by an accelerometer and a controller associated with it, periodically or
`
`constantly.
`
`{0063}
`
`When the portable device is moved, for example, according to a
`
`moving direction 304, which ends up with an orientation 302, the accelerometer
`
`(aceclerometer 101 of Figure 1) maydetect such a movement. In response to the
`
`detection, the controller (e.g., controller 102 of Figure 1) may determine a moving
`
`direction based on the movement data provided by the accelerometer andnotify
`
`ihe appropriate components of the portable device, such as, firmware 103, motion
`
`software 104, and/or applications 105-107 of Figure 1. Such a notification may
`
`be performed via an interrupt or by pulling one or more registers of the controller
`
`and/or accelerometer. In addition, the controller mayfurther determine an
`
`orientation ofthe portable device after the movement.
`
`[9064]
`
`In response ic the notification, according to one embodiment, the
`
`orientation of the document page 303 maybe adjusted in accordance with the
`
`determined orientation after the movement, as shown in Figure 3B. In one
`
`embodiment, the orientation of the displayed document page may be adjusted
`
`after the movementto be relatively identical to the orientationprior to the
`
`movement. As a result, eyen though the orientation of the portable device has
`
`changed, the orientation of the displayed document page remains relativelythe
`
`same, particularly, in a viewpoint of a user facing the display of the portable
`
`device.
`
`[8665]
`
`In this embodiment, the adjustment of the orientation of the document
`
`page 303 may be performedby adisplay driver (¢.g., a video driver) that
`
`transmits the displayed data (e.g., the document page) to a display of the portable
`
`device. Alternatively, the adjustment of the orientation may be performed bythe
`
`original application software (e.g., applications 105-107 of Figure 1} that
`
`provides the document page 303 (e.g., a browser that provides a Web page or a
`
`word processor that provides a page of a document). Note that the moving
`
`direction 304 shownin Figures 3A and 3B is for dhistration purposes only. Other
`
`moving directions, such as those or a combination of those shown in Figure 5A,
`-13-
`
`
`
`WO 2003/093556
`
`PCT/US2005/803599
`
`may also be implemented. Further, as shownin Figures 3A and 3B,the portable
`
`device is rotated left in 90 degrees tor the illustration purposes only. The portable
`
`device maybe rotated, moved m parallel, or a combination of both or multiple
`
`dimensions and in any moving step sizes.
`
`{0066}
`
`Figure 4 is a flow diagram illustrating an exemplary processor for
`
`reorienting a displayed document based on an accelerometer, according to one
`
`embodiment of the invention. Exemplary process 400 may be performed bya
`
`processing logic that may comprise hardware (circuitry, dedicated logic, etc.),
`
`software (such as is nm on a dedicated machine}, or a combination of both. In
`
`one embodiment, exemplary process 400 includes, but is not limited to, detecting
`
`movement of a portable device using an accelerometer attached to the portable
`
`device, determining an orientation of the portable device after the movement
`
`based on movement data provided by the accelerometer, and displaying an image
`
`on a display of the portable device according to an orientation that is relatively
`
`identical to an orientation of the image prior to the movement.
`
`[0067]
`
`Referring to Figure 4, at block 401, a movement ofa portable device
`
`from a first orlentation is detected using an accelerometerattached to the portable
`
`device. In response, at block 402, a moving direction is determined based on
`
`movement data, such as X, Y, and Zaxis information, provided bythe
`
`accelerometer. In one embodiment, the determination maybe performed bya
`
`controller coupled to the accelerometer (e.g., controller 102 of Figure 1). The
`
`moving direction may be determined according to one or more predetermined
`
`formulas. At block 403, after the movement, a second orientation of the portable
`
`device may be determin

Accessing this document will incur an additional charge of $.
After purchase, you can access this document again without charge.
Accept $ ChargeStill Working On It
This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.
Give it another minute or two to complete, and then try the refresh button.
A few More Minutes ... Still Working
It can take up to 5 minutes for us to download a document if the court servers are running slowly.
Thank you for your continued patience.

This document could not be displayed.
We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.
You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.
Set your membership
status to view this document.
With a Docket Alarm membership, you'll
get a whole lot more, including:
- Up-to-date information for this case.
- Email alerts whenever there is an update.
- Full text search for other cases.
- Get email alerts whenever a new case matches your search.

One Moment Please
The filing “” is large (MB) and is being downloaded.
Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!
If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document
We are unable to display this document, it may be under a court ordered seal.
If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.
Access Government Site