`(Only for new nonprovisional applications under 37 CFR 1.53(b))
`
`Attorney Docket No.
`(maximum 12 characters)
`First Named Inventor
`
`7538P057
`
`Philippe Kahn
`
`Title:
`
`Method and System for Waking Up a Device Due to Motion
`
`ADDRESSTO:
`
`Commissionerfor Patents
`P.O. Box 1450
`
`Alexandria, Virginia 22313-1450
`
`APPLICATION ELEMENTS
`See MPEPchapter 600 concerning utility patent application contents.
`
`Fee Transmittal Form (e.g., PTO/SB/17)
`(Submit an original and a duplicate for fee processing)
`
`Applicant Claims Small Entity Status.
`
`(37 CFR 1.27)
`
`24
`
`)
`
`Statements verifying identity of above copies
`
`(Total Pages
`Specification
`(preferred arrangementset forth below)
`- Descriptive Title af the Invention
`- Cross Reference to Related Applications
`- Statement Regarding Fed sponsored R & D
`- Reference sequencelisting, a table,
`or a computer program listing appendix
`- Backgroundofthe Invention
`- Brief Summary of the Invention
`- Brief Description of the Drawings (if filed)
`- Detailed Description
`- Claim(s)
`- Abstract of the Disclosure
`
`Drawings(s) (35 USC 113)
`
`(Total Sheets
`
`__7
`
`)
`
`Oath or Declaration
`
`(Total Pages
`
`)
`
`a.
`
`b.
`
`c.
`
`Newly Executed (Original or Copy)
`
`Copyfrom a Prior Application (37 CFR 1.63(d))
`(for Continuation/Divisional with Box 18 completed)
`
`DELETIONS OF INVENTOR(S) Signed statement attached deleting
`inventor(s) namedin the prior application, see 37 CFR 1.63(d)(2)
`and 1.33(b).
`
`Unsigned.
`
`Application Data Sheet.
`
`(37 CFR 1.76)
`
`CD-ROM or CD-R in duplicate, large table or Cornputer Prograrn (Appendix)
`
`Nucleotide and/or Amino Acid Sequence Submission
`(if applicable, all necessary)
`Computer Readable Form (CRF)
`
`Specification Sequence Listing on:
`i.
`CD-ROMor CD-R (2 copies); or
`ii.
`paper
`
`PART 1 OF 2 / APPL-1001 / Page 1 of 1488
`Apple v. Uniloc
`
`
`
`PART 1 OF 2 / APPL-1001 / Page 1 of 1488
`Apple v. Uniloc
`
`
`
`
`
`ACCOMPANYING APPLICATION PARTS
`
`9._~~ Assignment Papers (cover sheet & documents(s))
`10. — oa
`Separate 37 CFR 3.73(b) Statement (where there is an assignee)
`
`_ b.
`
`Power of Attorney
`
`11.0 English Translation Document (if applicable)
`
`
`
`12. _~~a.._—s Information Disclosure Statement (IDS)/PTO-1449 (or PTO/SB/08)
`
`__-—ib«..-s Copies of IDS Citations
`
`13. |=~Preliminary Amendment
`
`14.
`
`_~~~—s&RReturn Receipt Postcard (MPEP 503) (Should bespecifically itemized)
`
`15. Certified Copy of Priority Document(s)(if foreign priority is claimed)
`
`16. xX Nonpublication Request under 35 U.S.C. 122(b)(2)(B)(i).. Applicant must attach
`form PTO/SB/35or its equivalent.
`
`17A.
`
`__~—S—
`
`Claim for Foreign Priority
`
`17B.
`
`Other:
`
`Pursuant to 37 C.F.R. 1.136(a)(3), applicant(s) hereby request and authorize the U.S.
`Patent and TrademarkOffice to (1) treat any concurrent or future reply that requires
`a petition for extension of time as incorporating a petition for extension oftime for the
`appropriate length of time and (2) chargeall required fees, including extension of time
`fees and fees under 37 C.F.R. 1.16 and 1.17, to Deposit Account No. 02-2666.
`Ifa CONTINUING APPLICATION, check appropriate box, and supply the requisite information
`18.
`below and in the first sentence of the specification following
`the title (e.g.,
`by way of
`preliminar
`amendment), or in an Application Data Sheet Under 37 C.F.R. 1.76:
`
`Divisional
`___- Continuation
`Examiner
`Of Prior Application No.:
`(which is a___continuation/___divisional/__—sC IP. of prior application no.
`whichis a___continuation/ _divisional/___—sC IP. of prior application no.
`
`Continuation-in-part (CIP)
`Group Art Unit
`
`;
`) (List entire chain ofpriority)
`
`Date:_October 8, 2008
`
`Applicant(s): Also include a Preliminary Amendment to amend the specification to claim priority.
`For CONTINUATION AND DIVISIONAL APPSonly: The entire disclosure of the prior application, from which
`an oath or declaration is supplied under Box 5b, is considered a part of the disclosure of the accompanying
`continuation or divisional application and is hereby incorporated by reference. The incorporation can only
`be relied upon when a portion has been inadvertently omitted from the submitted application parts.
`
`Correspondence Address
`Customer Numberor Bar Code Label
`or
`Correspondence Address Below
`Judith A. Szepesi
`NAME
`REG. NO.__39,393
`
`08791
`(Insert Customer No. or Attach Bar Code Label here)
`
`X
`
`SIGNATURE _/Judith Szepesi/
`DATE
`October 8, 2008
`BLAKELY, SOKOLOFF, TAYLOR & ZAFMAN LLP
`1279 Oakmead Parkway
`
`ADDRESS
`
`CITY Sunnyvale
`Country
`U.S.A.
`
`California
`STATE
`TELEPHONE (408) 720-8300
`
`ZIP CODE _94085
`FAX _(408) 720-8383
`
`CERTIFICATE OF TRANSMISSION
`
`| hereby certify that this correspondenceis being submitted electronically via EFS Web on the date shown below.
`
`Name (PRINT/TYPE): _Judith A. Szepesi
`
`Registration No. :_ 39,393
`
`Signature:
`
`__/Judith Szepesi/
`
`PART 1 OF 2 / APPL-1001 / Page 2 of 1488
`
`PART 1 OF 2 / APPL-1001 / Page 2 of 1488
`
`
`
`UTILITY PATENT APPLICATION TRANSMITTAL
`(Only for new nonprovisional applications under 37 CFR 1.53(b))
`
`Attorney Docket No.
`(maximum 12 characters)
`First Named Inventor
`
`7538P057
`
`Philippe Kahn
`
`Title:
`
`Method and System for Waking Up a Device Due to Motion
`
`
`
`ADDRESSTO:
`
`Commissionerfor Patents
`P.O. Box 1450
`
`Alexandria, Virginia 22313-1450
`
`APPLICATION ELEMENTS
`See MPEP chapter 600 concerning utility patent application contents.
`
`Fee Transmittal Form (e.g., PTO/SB/17)
`(Submit an original and a duplicate for fee processing)
`
`Applicant Claims Small Entity Status.
`
`(37 CFR 1.27)
`
`24
`
`)
`
`(Total Pages
`Specification
`(preferred arrangementset forth below)
`- Descriptive Title of the Invention
`- Cross Reference to Related Applications
`- Statement Regarding Fed sponsored R & D
`- Reference sequencelisting, a table,
`or a computer program listing appendix
`- Backgroundofthe Invention
`- Brief Summary of the Invention
`- Brief Description of the Drawings(if filed)
`- Detailed Description
`- Claim(s)
`- Abstract of the Disclosure
`
`Statements verifying identity of above copies
`
`Drawings(s) (35 USC 113)
`
`(Total Sheets
`
`__7
`
`Oath or Declaration
`
`(Total Pages
`
`)
`
`a.
`
`b.
`
`c.
`
`Newly Executed (Original or Copy)
`
`Copy from a Prior Application (37 CFR 1.63(d))
`(for Continuation/Divisional with Box 18 completed)
`
`DELETIONS OF INVENTOR(S) Signed statement attached deleting
`inventor(s) namedin the prior application, see 37 CFR 1.63(d)(2)
`and 1.33(b).
`
`Unsigned.
`
`Application Data Sheet.
`
`(37 CFR 1.76)
`
`CD-ROM or CD-R in duplicate, large table or Computer Program (Appendix)
`
`Nucleotide and/or Amino Acid Sequence Submission
`(if applicable, all necessary)
`Computer Readable Form (CRF)
`
`Specification Sequence Listing on:
`i.
`CD-ROMor CD-R (2 copies); or
`ii.
`paper
`
`PART 1 OF 2 / APPL-1001 / Page 3 of 1488
`
`PART 1 OF 2 / APPL-1001 / Page 3 of 1488
`
`
`
`
`
`ACCOMPANYING APPLICATION PARTS
`
`9._~~ Assignment Papers (cover sheet & documents(s))
`10. — oa
`Separate 37 CFR 3.73(b) Statement (where there is an assignee)
`
`_ b.
`
`Power of Attorney
`
`11.0 English Translation Document (if applicable)
`
`
`
`12. _~~a.._—s Information Disclosure Statement (IDS)/PTO-1449 (or PTO/SB/08)
`
`__-—ib«..-s Copies of IDS Citations
`
`13. |=~Preliminary Amendment
`
`14.
`
`_~~~—s&RReturn Receipt Postcard (MPEP 503) (Should bespecifically itemized)
`
`15. Certified Copy of Priority Document(s)(if foreign priority is claimed)
`
`16. xX Nonpublication Request under 35 U.S.C. 122(b)(2)(B)(i).. Applicant must attach
`form PTO/SB/35or its equivalent.
`
`17A.
`
`__~—S—
`
`Claim for Foreign Priority
`
`17B.
`
`Other:
`
`Pursuant to 37 C.F.R. 1.136(a)(3), applicant(s) hereby request and authorize the U.S.
`Patent and TrademarkOffice to (1) treat any concurrent or future reply that requires
`a petition for extension of time as incorporating a petition for extension oftime for the
`appropriate length of time and (2) chargeall required fees, including extension of time
`fees and fees under 37 C.F.R. 1.16 and 1.17, to Deposit Account No. 02-2666.
`Ifa CONTINUING APPLICATION, check appropriate box, and supply the requisite information
`18.
`below and in the first sentence of the specification following
`the title (e.g.,
`by way of
`preliminar
`amendment), or in an Application Data Sheet Under 37 C.F.R. 1.76:
`
`Divisional
`___- Continuation
`Examiner
`Of Prior Application No.:
`(which is a___continuation/___divisional/__—sC IP. of prior application no.
`whichis a___continuation/ _divisional/___—sC IP. of prior application no.
`
`Continuation-in-part (CIP)
`Group Art Unit
`
`;
`) (List entire chain ofpriority)
`
`Date:_October 8, 2008
`
`Applicant(s): Also include a Preliminary Amendment to amend the specification to claim priority.
`For CONTINUATION AND DIVISIONAL APPSonly: The entire disclosure of the prior application, from which
`an oath or declaration is supplied under Box 5b, is considered a part of the disclosure of the accompanying
`continuation or divisional application and is hereby incorporated by reference. The incorporation can only
`be relied upon when a portion has been inadvertently omitted from the submitted application parts.
`
`Correspondence Address
`Customer Numberor Bar Code Label
`or
`Correspondence Address Below
`Judith A. Szepesi
`NAME
`REG. NO.__39,393
`
`08791
`(Insert Customer No. or Attach Bar Code Label here)
`
`X
`
`SIGNATURE _/Judith Szepesi/
`DATE
`October 8, 2008
`BLAKELY, SOKOLOFF, TAYLOR & ZAFMAN LLP
`1279 Oakmead Parkway
`
`ADDRESS
`
`CITY Sunnyvale
`Country
`U.S.A.
`
`California
`STATE
`TELEPHONE (408) 720-8300
`
`ZIP CODE _94085
`FAX _(408) 720-8383
`
`CERTIFICATE OF TRANSMISSION
`
`| hereby certify that this correspondenceis being submitted electronically via EFS Web on the date shown below.
`
`Name (PRINT/TYPE): _Judith A. Szepesi
`
`Registration No. :_ 39,393
`
`Signature:
`
`__/Judith Szepesi/
`
`PART 1 OF 2 / APPL-1001 / Page 4 of 1488
`
`PART 1 OF 2 / APPL-1001 / Page 4 of 1488
`
`
`
`NONPUBLICATION REQUEST UNDER 35 U.S.C. 122(b)(2)(B)(i)
`
`_Philipp¢ Kahn
`First Named Inventor
`Title
`Method and System for Waking Up a Device Due to Motion
`
`Attorney Docket No._7538P057
`
`| hereby certify that the invention disclosed in the attached application has not and will not be the subject
`of an application filed in another country, or under a multilateral agreement, that requires publication at
`eighteen months after filing.
`
`| hereby request that the attached application not be published under 35 U.S.C. 122(b).
`
`Failure to do so will result in abandonmentof this application (35 U.S.C. 122(b)(2)(B)(iii)).
`
`lf applicant subsequently files an application directed to the invention disclosed in the attached application
`in another country, or under a multilateral international agreement, that requires publication of applications
`eighteen months after filing, the applicant must notify the United States Patent and Trademark Office of
`such filing within forty-five (45) days after the date of the filing of such foreign or international application.
`
`October 8, 2008
`Date
`
`(408) 720-8300
`Telephone Number
`
`{Judith Szepesi/
`Signature
`
`Judith A. Szepesi
`Typed or Printed Name
`
`39,393
`Registration No.
`
`This request must be signed in compliance with 37 CFR 1.33(b) and submitted with the application upon
`filing.
`
`If applicant rescinds a request that an
`Applicant may rescind this nonpublication request at any time.
`application not be published under 35 U.S.C. 122(b), the application will be scheduled for publication at
`eighteen months from the earliest claimed filing date for which a benefit is claimed.
`
`PART 1 OF 2 / APPL-1001 / Page 5 of 1488
`
`PART 1 OF 2 / APPL-1001 / Page 5 of 1488
`
`
`
`UNITED STATES UTILITY PATENT APPLICATION
`
`FOR
`
`Patent
`
`METHOD AND SYSTEM FOR WAKING UP A DEVICE DUE TO MOTION
`
`INVENTORS:
`
`PHILIPPE KAHN
`ARTHUR KINSOLVING
`DAVID VOGEL
`MARK CHRISTENSEN
`
`PREPARED BY:
`
`BLAKELY, SOKOLOFF, TAYLOR & ZAFMAN LLP
`12400 WILSHIRE BOULEVARD
`SEVENTH FLOOR
`Los ANGELES, CA 90025-1026
`
`(408) 720-8300
`
`
`
`ATTORNEY'S DOCKET No. 7538P057
`
`PART 1 OF 2 / APPL-1001 / Page 6 of 1488
`
`PART 1 OF 2 / APPL-1001 / Page 6 of 1488
`
`
`
`METHOD AND SYSTEM FOR WAKING UP A DEVICE DUE TO MOTION
`
`FIELD OF THE INVENTION
`
`[001]
`
`This invention relates to a method and system for waking up a device
`
`from an idle state.
`
`BACKGROUND
`
`[002]
`
`Technological progress hasled to the proliferation of commercial
`
`electronic devices such as portable computers, game controllers, GPS devices,
`
`digital cameras, cellular telephones, and personal media players. Continuous
`
`improvements have allowed the users to enjoy many features and possible uses
`
`from a single mobile device. However, generally, the more applications a mobile
`
`device has, the faster the battery of the mobile device depletes. Therefore, it can be
`
`difficult to maximize battery life and provide a great user experience at the same time.
`
`7538P057
`
`2
`
`PART 1 OF 2 / APPL-1001 / Page 7 of 1488
`
`PART 1 OF 2 / APPL-1001 / Page 7 of 1488
`
`
`
`SUMMARYOF THE INVENTION
`
`[003]
`
`The present invention provides a method and system to wake up a
`
`device due to motion. The system determines a dominant axis of a device. The
`
`device is placedin anidle state, after a period of inactivity or lack of motion. A sensor,
`
`such as an accelerometer, registers a motion of the device. A computation logic
`
`analyzes the motion data to determine if the motion data indicates a real motion.
`
`If so,
`
`the device is woken up.
`
`7538P057
`
`3
`
`PART 1 OF 2 / APPL-1001 / Page 8 of 1488
`
`PART 1 OF 2 / APPL-1001 / Page 8 of 1488
`
`
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[004]
`
`The present invention is illustrated by way of example, and not by way
`
`oflimitation, in the figures of the accompanying drawings and in whichlike reference
`
`numerals refer to similar elements and in which:
`
`[005]
`
`Figure 1
`
`is anillustration of one embodiment of moving a device that
`
`may require waking up the device.
`
`[006]
`
`Figures 2 is a block diagram of one embodiment of a system.
`
`[007]
`
`Figure 3 is a flowchart of one embodiment of determining whetherto
`
`wake up a device based on motion data.
`
`[008]
`
`Figure 4 is a flowchart of one embodiment of a process to create a
`
`long average of accelerations.
`
`[009]
`
`Figure 5 is a flowchart of one embodiment of a processfor determining
`
`whether a device should be wokenup from anidle state.
`
`[0010]
`
`Figure 6 is a flowchart of one embodiment of a process to detect and
`
`correct glitches in motion data.
`
`[0011]
`
`Figure 7 is a block diagram of one embodiment of a computer system
`
`that may be used with the present invention.
`
`7538P057
`
`4
`
`PART 1 OF 2 / APPL-1001 / Page 9 of 1488
`
`PART 1 OF 2 / APPL-1001 / Page 9 of 1488
`
`
`
`DETAILED DESCRIPTION
`
`[0012]
`
`A method and system for waking up a device due to motion of the
`
`device is described. Embodimentsof the present invention are designed to determine
`
`if a device should be woken up from anidle state based on the analysis of motion
`
`data. In one embodiment, motion data for the dominant axis is analyzed and the
`
`device is woken up from idle state if the motion data analysis points to the motion
`
`being “real” motion as opposed to a merejostle or glitch.
`
`[0013]
`
`The following detailed description of embodiments of the invention
`
`makes reference to the accompanying drawings in which like references indicate
`
`similar elements, showing by wayofillustration specific embodiments of practicing the
`
`invention. Description of these embodimentsis in sufficient detail to enable those
`
`skilled in the art to practice the invention. One skilled in the art understands that other
`
`embodiments maybeutilized and that logical, mechanical, electrical, functional and
`
`other changes may be made without departing from the scope of the present invention.
`
`The following detailed description is, therefore, not to be taken in a limiting sense, and
`
`the scope of the presentinvention is defined only by the appended claims.
`
`[0014]
`
`Figure 1
`
`is anillustration of one embodiment of moving an idle device
`
`that may result in waking up the device. The idle state is defined, in one embodiment,
`
`as a state in which the device is not moving, and there is no active application which
`
`includes user interaction/display.
`
`In one embodiment, there may be multiple levels of
`
`idle state, e.g. where various subsystems are placed in a power-reducedstate or not.
`
`When the deviceis in the idle state, the device is placed in low-power mode. In this
`
`state, there is sufficient power maintained to monitor at least one sensor. However,
`
`other elements and applications are turned off to extend the battery life of the device.
`
`7538P057
`
`5
`
`PART 1 OF 2/ APPL-1001 / Page 10 of 1488
`
`PART 1 OF 2 / APPL-1001 / Page 10 of 1488
`
`
`
`In one embodiment, some applications may remain active. For example, the device
`
`maybein the idle state, but continue a download, utilizing a network and memory
`
`store.
`
`In one embodiment, if at least one subsystem is turned off due to lack of device
`
`motion, this may be consideredan “idle state.”
`
`[0015]
`
`In one embodiment, after a device 110 is placed on a horizontal
`
`surface 115 such as a desk or chair, after a period of inactivity the device 110 goes to
`
`the idle state to conserve the battery. In one embodiment, the device is placed into the
`
`pocket, purse, bag, or any other non-moving location, the device enters the idle state.
`
`[0016]
`
`The system, in one embodiment, is designed to ensure that when the
`
`device is picked up by a user, the device is moved from the idle state to an active state
`
`rapidly. By initiating the transition from the idle state to the active state without
`
`requiring userinput, the user wait is reduced. For example, when a user 100 picks up
`
`the device 110 from its position on the horizontal surface 115, the device is designed
`
`to wake up. In one embodiment, the device 110 is woken up from idle state and the
`
`useris presentedthe last active state of the device.
`
`In one embodiment, this may be
`
`sufficiently rapid that by the time the device is being viewed by the user,the prior state
`
`has beenrestored. In contrast, if the table on which the deviceis resting is shaken, or
`
`the purse is jostled, the device should not wake up. This reduces power usage,
`
`becausethe device is not continuously being woken up from small motions which
`
`occur when someone walks neara table, sits down, or similarly causes small motions.
`
`[0017]
`
`Figure 2 is a block diagram illustrating one embodiment of a system
`
`200 of the present invention. In one embodiment, the system 200 is a portable
`
`electronic device. The system 200 in one embodiment comprises motion sensor logic
`
`210, sample period logic 230, glitch correcting logic 235, long average logic 240,
`
`7538P057
`
`6
`
`PART 1 OF 2/ APPL-1001 / Page 11 of 1488
`
`PART 1 OF 2 / APPL-1001 / Page 11 of 1488
`
`
`
`dominantaxis logic 245, memory 250, computation logic 255, and configuration logic
`
`260.
`
`[0018]
`
`In one embodiment, the motion sensor logic 210 comprises an
`
`accelerometer 220. In one embodiment, the motion sensor logic 210 also includes one
`
`or more additional sensors, such as orientation sensor 215.
`
`[0019]
`
`In one embodiment, accelerometer 220 may be used to determine
`
`orientation of the device. The orientation may be determined using long averagesof
`
`accelerations. The sample period logic 230 determines how frequently the motion
`
`sensor logic 210 obtains data. In one embodiment, the sample period is preconfigured.
`
`In one embodiment, the sample period is adjusted based on the application(s) using
`
`the sensor data.
`
`[0020]
`
`The accelerometer 220 periodically samples motion data. The long
`
`averagelogic 240 calculates an average of the acceleration data over the sample
`
`period. In one embodiment, the long average logic 240 calculates the average of the
`
`accelerations over a number of measurements, rather than over a time period. In one
`
`embodiment, the long average logic 240 calculates accelerations over 5 minutes. In
`
`one embodiment, the long average lagic 240 calculates accelerations over 20
`
`measurements.
`
`[0021]
`
`In one embodiment, the acceleration data is sent to the glitch
`
`correcting logic 235, where the data is analyzed to determine if any it represents a
`
`glitch, i.e., data outside a pre-determined range of acceptable data. For example, it is
`
`extremely unlikely if not impossible for motion data to go from zero acceleration to
`
`10m/s acceleration in one reading.
`
`In one embodiment, the pre-determined range of
`
`data is a predetermine change in acceleration from a current acceleration. For
`
`7538P057
`
`7
`
`PART 1 OF 2/ APPL-1001 / Page 12 of 1488
`
`PART 1 OF 2 / APPL-1001 / Page 12 of 1488
`
`
`
`example, if the deviceis idle — e.g. not moving — the range of accelerations possible for
`
`the deviceis fairly limited.
`
`In one embodiment,glitch correcting logic 235 further may
`
`be used to discard non-human motions. For example, if the device is not being used
`
`but is in a moving vehicle, in one embodiment the vehicle’s motion can be discarded
`
`as notfitting the signature of human motion.
`
`[0022]
`
`In one embodiment, the glitch correcting logic 235 discards any
`
`abnormal accelerometer reading(s).
`
`In one embodiment, the non-glitch data is then
`
`passedon to the long average logic 240.
`
`In another embodiment, the glitch data is
`
`from the long average byglitch correcting logic 235. In one embodiment,if a certain
`
`number of glitch data points have been discarded, glitch notifier logic 237 notifies the
`
`user.
`
`In one embodiment, glitch notifier logic 237 may also notify the manufacturer.
`
`The glitches generally are indicative that the accelerometer or sensor is
`
`malfunctioning.
`
`[0023]
`
`The long average logic 240 calculates one or more long averages of
`
`acceleration based on the received motion data. In one embodiment, the long average
`
`logic 240 utilizes a ring buffer memory 250, discarding older data as new data is added
`
`to the long average. In one embodiment, the long average logic 240 creates a long
`
`average of accelerations along a single axis. In one embodiment, the dominant axis —
`
`defined as the axis most impacted by gravity -- is used by the long average logic 240.
`
`In one embodiment, the axis correspondsto one of the axes of the accelerometer. In
`
`one embodiment, the axis is defined as the orientation experiencing the mostpull from
`
`gravity. In one embodiment, the long average logic 240 creates long averagesof
`
`accelerations along multiple axes.
`
`7538P057
`
`8
`
`PART 1 OF 2/ APPL-1001 / Page 13 of 1488
`
`PART 1 OF 2 / APPL-1001 / Page 13 of 1488
`
`
`
`[0024]
`
`Determining the orientation of an electronic device may include
`
`identifying a gravitational influence. The axis with the largest absolute long average
`
`may be the axis most influenced by gravity, which may change over time (e.g., as the
`
`electronic device is rotated). Therefore, a new dominant axis may be assigned when
`
`the orientation of the electronic device and/or the inertial sensor(s) attached to or
`
`embeddedin the electronic device changes.
`
`[0025]
`
`In one embodiment, the actual axis with the largest absolute long
`
`average over a sample period is assigned as the dominant axis. In alternative
`
`embodiment, the dominant axis does not correspondto one of the actual axes of the
`
`inertial sensor(s) in a current orientation, but rather to an axis that is defined as
`
`approximately aligned to gravity. In one embodiment, the dominant axis corresponds to
`
`a virtual axis that is a componentof a virtual coordinate system. In one embodiment, a
`
`true gravity assessment, such as by doing trigonometric calculations on the actual
`
`axes based on the gravitational influence is performed to determine orientation.
`
`[0026]
`
`In one embodiment, a long average of accelerations is computed by
`
`the long average logic 240 when the device goesinto idle state after a period of
`
`inactivity.
`
`In one embodiment, the long average and the dominant axis for whichit is
`
`computed are received by computation logic 255. The computation logic 255 also
`
`receives, based on a new sample of motion data, a current dominant axis and an
`
`updated current long average for the current dominant axis.
`
`[0027]
`
`If the prior and current dominant axes are the same, the computation
`
`logic 255 determinesif the long average has changed by more than a predetermined
`
`threshold. In one embodiment, when the changein the dominantaxis is larger than the
`
`threshold value, the computation logic 255 communicates with the power logic 265 and
`
`7538P057
`
`9
`
`PART 1 OF 2/ APPL-1001 / Page 14 of 1488
`
`PART 1 OF 2 / APPL-1001 / Page 14 of 1488
`
`
`
`the device state logic 270, to power up the device and restore the last active device
`
`state.
`
`If the change in the dominant axis is not larger than the threshold value, the
`
`device is maintainedin the idle state.
`
`[0028]
`
`In one embodiment, if the new dominantaxis is different from the prior
`
`dominant axis, the computation logic 255 communicates with the power logic 265 and
`
`configuration logic 260 to restore the device to the last active device state.
`
`[0029]
`
`Figure 3 is a flowchart of one embodiment of determining whetherto
`
`wake up a device based on motion data. At block 305, the processstarts.
`
`In one
`
`embodiment, the process runs continuously.
`
`In one embodiment, the user mayinitiate
`
`the auto-wake-up system, or set a preference to have the auto-wake-up system on.
`
`[0030]
`
`At block 310, the process determinesif it is time to sample motion
`
`data. In one embodiment, the motion data is sampled periodically. If it is time to
`
`sample motion data, the process continues to block 315. Otherwise, the process
`
`returns block 310.
`
`[0031]
`
`At block 315, the process gets sample motion data. In one
`
`embodiment, based on the sample motion data, at least one current/updated long
`
`average of accelerations is calculated. In one embodiment, the long average is based
`
`on a preset number of measurements, or on a preset time. The process continues to
`
`block 320.
`
`[0032]
`
`At block 320, the process determines whether the deviceis in idle
`
`state. In one embodiment, the device is placedin idle state after the device has been
`
`inactive for a period of time. Inactive, in one embodiment, means that the device is not
`
`moving and that there are no user-interactive applications active on the device. In one
`
`embodiment, when the deviceis placedin idle state, a long average is initialized. If the
`
`7538P057
`
`10
`
`PART 1 OF 2/ APPL-1001 / Page 15 of 1488
`
`PART 1 OF 2 / APPL-1001 / Page 15 of 1488
`
`
`
`device is notin idle state, the process returns to block 310. If the process determines
`
`that the deviceis in idle state, the process continuesto block 325.
`
`[0033]
`
`At block 325, the process determinesif the device has experienced
`
`any motion, e.g. there is a difference between the readings of the accelerometerthat
`
`are larger than a minimum threshold.
`
`In one embodiment, this determination is made
`
`by usingafilter to remove accelerometer motions below the minimum threshold. If the
`
`process determines that no motion has been detected, the processreturns to block
`
`310. If the process determines that the accelerometer data indicates a movementof
`
`the device, the process continuesto block 330.
`
`[0034]
`
`At block 330, the process determinesif the movement is a “real”
`
`motion and not a mere jostle or bump. The device may move, for example, as a result
`
`ofa little jostle of a desk or table on which the deviceis laying, a heavy step nearby, or
`
`something else that creates a very small motion, but which does not warrant waking up
`
`the device.
`
`In contrast, the device may move as a result of being picked up by a user
`
`intending to use the device. In this case, the movementis a “real” motion which
`
`warrants awakening the device.
`
`[0035]
`
`If the motion is not a “real” motion, the processreturns to block 310. If
`
`the movementis a “real” motion, the process continues to block 335. At block 335, the
`
`process wakes up the device. The process continues to block 340.
`
`[0036]
`
`At block 340, the process in one embodimentconfigures the device to
`
`restore the last device state when the device wasactive. In one embodiment, the
`
`system allows the user to customize the wake-up restoration of the device. For
`
`example, the user may customize the system notto start the previously-active
`
`applications, but to present a home screen. The process then ends.
`
`7538P057
`
`14
`
`PART 1 OF 2/ APPL-1001 / Page 16 of 1488
`
`PART 1 OF 2 / APPL-1001 / Page 16 of 1488
`
`
`
`[0037]
`
`Figure 4 is a flowchart of one embodiment of a process to create a
`
`long average of accelerations. The process 400 starts at block 405.
`
`In one
`
`embodiment, this process is continuously running when the device is powered.
`
`[0038]
`
`At block 410, the long averagelogic, in one embodiment, receives
`
`motion data from the accelerometer. In one embodiment, the long average logic
`
`receives the data from a glitch correcting logic which removes abnormal data from the
`
`motion data before the motion data is passed to the long average logic. The process
`
`continues to block 415.
`
`[0039]
`
`At block 415, the long average logic adds the sampled motion data to
`
`the long average, to create an updated long average of accelerations. In one
`
`embodiment, the long average logic maintains a long average only for the dominant
`
`axis (e.g., the axis on which the gravitational effect is detected).
`
`In another
`
`embodiment, the long average logic maintains an average for one or more axes. The
`
`process continuesto block 420.
`
`[0040]
`
`At block 420, the long averagelogic, in one embodiment, optionally
`
`sendsthe long averages of accelerations for a plurality of axes to the dominantaxis
`
`logic for determination of the dominant axis. In an alternative embodiment, the
`
`dominantaxis logic retrieves the long averages of accelerations for a plurality of axes
`
`from memory to determine the dominant axis. The process then returns to block 410,
`
`to continue receiving motion data.
`
`[0041]
`
`Figure 5 is a flowchart of one embodiment of a process 500 for
`
`determining whether a device should be wokenup from anidle state. The process
`
`starts at block 505. In one embodiment, the processis activated when a preset period
`
`with no motion has been detected.
`
`7538P057
`
`12
`
`PART 1 OF 2/ APPL-1001 / Page 17 of 1488
`
`PART 1 OF 2 / APPL-1001 / Page 17 of 1488
`
`
`
`[0042]
`
`At block 510, the process places the devicein idle state after the
`
`device has been inactive for a period of time. The process continuesto block 515.
`
`[0043]
`
`At block 515, the computation logic receives data for the dominant axis
`
`DA1 of the idle device and accelerations along DA1 over a sampling period, computed
`
`by the long averagelogic after the device becomesidle. The process continues to
`
`block 520.
`
`[0044]
`
`At block 520, the computation logic assigns the long averageof
`
`accelerations along DA1 over a period to Idle Sample (IS). In one embodiment, IS is
`
`saved to memory. The process continuesto block 525.
`
`[0045]
`
`At block 525, the process receives new dominant axis data DA2 and
`
`the new acceleration data along DA2. The process continues to block 530.
`
`[0046]
`
`At block 530, the computation logic adds the new data to the long
`
`average of accelerations along DA2 to generate a Current Sample (CS). Also at block
`
`530, in one embodiment, the computation logic saves CS to memory. The process
`
`continues to block 535.
`
`[0047]
`
`At block 535, the computation logic comparesthe idle dominant axis
`
`DA1 with the current dominant axis DA2. If the current dominant axis DA2is different
`
`from the idle dominant axis DA1, the process continues to block 545.
`
`In one
`
`embodiment, the comparison is within a range, e.g. a minimum change of one degree
`
`has to occur to identify DA2 as being different from DA1.
`
`In one embodiment, if the
`
`dominant axis has changed, then the orientation of the device has changed, and that
`
`warrants waking up the device. If DA2 is substantially the same as DA1, then the
`
`computation logic continues to block 540.
`
`7538P057
`
`13
`
`PART 1 OF 2/ APPL-1001 / Page 18 of 1488
`
`PART 1 OF 2 / APPL-1001 / Page 18 of 1488
`
`
`
`[0048]
`
`At block 540, the computation logic determinesif the long average
`
`along the dominant axis has changed by morethan a threshold value, i.e., if the
`
`difference between the Current Sample value and the Idle Sample value is larger than
`
`the threshold value. In one embodiment, the threshold value is set to 30, which is
`
`approximately a 10" of a g. If the difference between IS and CSis less than the
`
`threshold value, the process returns to block 510, to continue monitoring the idle state.
`
`CS becomesIS, for the next calculation.
`
`[0049]
`
`If the computation logic determines that the change in the long
`
`average of accelerations along the dominant axis is greater than the threshold, then
`
`the computation logic continues to block 545. At block 545, the computation logic
`
`communicates with the powerlogic of the configuration logic to start up the device. The
`
`process then ends.
`
`[0050]
`
`Figure 6 is a flowchart of an embodiment of a process 600to detect
`
`and correct glitches in motion data. In o