Low power media player for an electronic device

Low power media player for an electronic device
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
US 20050066207A1
(19) United States
(12) Patent Application Publication (10) Pub. No.: US 2005/0066207 A1
Fleck et al.
(54)
(43) Pub. Date:
LOW POWER MEDIA PLAYER FOR AN
ELECTRONIC DEVICE
Mar. 24, 2005
Publication Classi?cation
(51)
Int. Cl.7 ..................................................... .. G06F 1/32
(52)
U.S. Cl. ............................................................ .. 713/320
(75) Inventors: Rod G. Fleck, Bellevue, WA (US); ReX
Antony Flynn, Newton, MA (US);
Martin J. Kee, Sammamish, WA (US);
Stephen L. Perrin, Lake Forest Park,
WA (US)
(57)
ABSTRACT
Correspondence Address:
SEED INTELLECTUAL PROPERTY LAW
.
.
SEATTLE’ WA 98104-7092 (Us)
During the loW poWer mode, portions of hardWare, softWare,
services, and/or other components of the portable computer
AssigneeZ Vulcan Portals Inc Seattle WA
’
(21) APPL No.
10/857,627
(22)
May 28, 2004
Filed;
that are not necessary to the operation of the loW poWer
’
media player are suspended or otherWise deactivated. Rather
than repeatedly accessing a hard disk to read media ?les for
playback, the loW poWer media player limits its number of
access operations by reading as many media ?les as possible
during each access operation, and then caching the read
media ?les. When playback of the media ?les is to be
performed, the media ?les are read from the cache, thereby
reducing the amount of poWer consumption attributable to
hard disk access operations.
Related US, Application Data
(60)
.
SUITE 6300
701 FIFTH AVE
(73)
.
A loW poWer media player is provided for an electronic
.
.
device, such as a hand-held portable computer havmg capa
. .
.
.
.
bility to operate an application during a low power mode.
GROUP PLLC
Provisional application No. 60/504,165, ?led on Sep.
18, 2003.
700
\
I
PLAYING OF MEDIA FILE DURING FULL POWER MODE
I—\/7o2
I
I
I OBTAIN STATE INFORMATION FROM MEDIA APPLICATION ‘I'\-/704
I
MONITOR FOR EVENT
I'\/705
ENTER LOW POWER MODE
I'\/7oa
I
I
WAKE UP LOW POWER MEDIA PLAYER
I
I
OBTAIN PLAYLIST AND OTHER INFORMATION
I
I'\_/7I0
IINSTRUCT MEDIA APPLICATION TO ENTER EMBEDDED MODE I'\_/7IZ
I
I-\_/7/‘4
ESTABLISH COMMUNICATION WITH LPDM APPLICATION
SERVICE AND PROVIDE PLAYLIST (AND OTHER INFORMATION)"\—/775
TO LPDM APPLICATION SERVICE
I
SEND PLAYLIST (AND OTHER INFORMATION) TO LPDM FOR
PRESENTATION ON LOW POWER DISPLAY SCREEN
@
Patent Application Publication Mar. 24, 2005 Sheet 1 0f 8
US 2005/0066207 A1
Patent Application Publication Mar. 24, 2005 Sheet 2 0f 8
I 06
FIG. 2
US 2005/0066207 A1
Patent Application Publication Mar. 24, 2005 Sheet 3 0f 8
US 2005/0066207 A1
540\ NETWORK
__
K504
HIGH-POWER
PROCESSING
E9’;
UNIT
__
__
DEVICE
318
5/0
HARD
DISK DRIVE
"2
LOW-POWER \
PROCESSING
SWITCH
.
544
5
w
UNIT
{F
E r508 {F
. 542
LID
_
4 346%NETWORK w
' 306
554
SYSTEM MEMORY
W570
p.514
_______.____________.4
SERVER
FIG. 3
LSERVER COMPUTING SYSTEM
Patent Application Publication Mar. 24, 2005 Sheet 4 0f 8
US 2005/0066207 A1
400 \\
RUNNING 100%
SLEEPING-LOW WAKE
SLEEPING-Low WAKE
LOW POWER MODE
(NON-ACPI STATE)
STANDBY
HIBERNATE‘
SOFT OFF
. FIG. 4
Patent Application Publication Mar. 24, 2005 Sheet 5 0f 8
US 2005/0066207 A1
'
LIBRARY
A
—
524 :
ENTER/EXIT 52.5 or 53
EN
.5
530 = WA
EP CALLS 51-55
532 _
$2.5 SERVIC
_
APPS START
FIG. 5
VERS,
Patent Application Publication Mar. 24, 2005 Sheet 6 0f 8
US 2005/0066207 A1
Em\
a\
53320m 5mac:
33Egon 3“20m2
6E
m
295 $82552:is:
mg//
5;o1.5_ 5H260m: $25.6
32$32 $525:
@Nm.
5‘3>c3m 352.:5
5
.wmmmg
5‘:>53 53S0:m 52.: 6
Patent Application Publication Mar. 24, 2005 Sheet 7 0f 8
700
US 2005/0066207 A1
\
PLAYING OF MEDIA FILE'DURING FULL POWER MODE
"\./702
I
OBTAIN STATE INFORMATION FROM MEDIA APPLICATION
’\_/704
MONITOR FOR EVENT
’\/705
EVENT DETECTED
9
YES
ENTER LOW POWER MODE
*\/708
WAKE UP LOW POWER MEDIA PLAYER
*\_/7I0
INSTRUCT MEDIA APPLICATION TO ENTER EMBEDDED MODE M712
OBTAIN PLAYLIST AND OTHER INFORMATION
*\_/7I4
ESTABLISH COMMUNICATION WITH LPDM APPLICATION
SERVICE AND PROVIDE PLAYLIST (AND OTHER lNFORMATION)’\—/7/5
TO LPDM APPLICATION SERVICE
SEND PLAYLIST (AND OTHER INFORMATION) TO LPDM FOR
PRESENTATION ON LOW POWER DISPLAY SCREEN
Q)
FIG. 7
Patent Application Publication Mar. 24, 2005 Sheet 8 0f 8
700
US 2005/0066207 A1
\\
READ PLAYLIST TO DETERMINE SUBSEQUENT SONGS TO
PLAY BACK
N800
OBTAIN MEDIA FILES FROM HARD DISK
"\2802
CACHE MEDIA FILES OBTAINED FROM HARD DISK
'-\/804
PLAY CACHED MEDIA FILES
N805
MONITOR FOR EVENT
waoa
~
am
No
EVENT DETECTED
'2
YES
STOP PLAY
warz
EXIT LOW POWER MODE
war/4
FIG. 8
Mar. 24, 2005
US 2005/0066207 A1
LOW POWER MEDIA PLAYER FOR AN
ELECTRONIC DEVICE
CROSS REFERENCE TO RELATED
APPLICATION
[0001] The present application claims the bene?t under 35
U.S.C. § 119(e) of US. Provisional patent application Ser.
No. 60/504,165, entitled “SOFTWARE AND HARDWARE
FEATURES FOR MINI-PC,” ?led Sep. 18, 2003, assigned
to the same assignee as the present application and Which is
incorporated by reference in its entirety.
tronic devices include a “standby” mode in Which the
electronic device turns OFF and/or substantially reduces
poWer to all of its subsystems and components. In such a
standby mode, a user generally cannot use any applications
unless the electronic device is sWitched from the standby
mode to the full poWer mode. As such, it can often be
necessary for the user to make only limited and very ef?cient
use of the electronic device While it is in full poWer mode
When there are no available stationary poWer supplies.
Furthermore, it may even be necessary for the user to keep
the electronic device completely turned off or in a substan
tially non-functional standby mode as much as possible.
TECHNICAL FIELD
[0002] The present disclosure relates generally to elec
tronic devices, and in particular but not exclusively, relates
to a loW poWer media player for an electronic device, such
as a hand-held portable computer, having the capability to
run applications While in a loW poWer mode.
BACKGROUND INFORMATION
[0003]
Today’s computer users are highly mobile indi
[0008] If the user fails to diligently conserve poWer in this
manner, then the electronic device Will run out of poWer and
become unusable until the user can recharge or replace the
internal battery and/or connect to a stationary poWer supply.
For instance, repeatedly accessing a hard disk drive When
running applications can dramatically reduce the amount of
available poWer that can be delivered from an internal
battery. The constant need for softWare applications to
access the hard disk drive is an important reason for limiting
viduals. Whether on business trips, on vacations, or coming
to and from Work, these individuals are readily identi?able
or eliminating the functionality of the applications in the
standby mode. This constrained operating environment is
by their use of laptops, enhanced-functionality cellular tele
electronic devices. Indeed, many establishments provide
inconvenient and impractical for a highly mobile user Who
may Wish to use a portable electronic device for certain
applications When there are no available stationary poWer
Internet connections that cater to individuals Who may be
supplies.
phones, Palm PilotsTM, BlackberriesTM, and other portable
merely passing through the establishment for a short period
of time and Who require a network connection. For instance,
Internet connections are available at airports and hotels, and
even in restaurants and coffee shops.
[0004]
BRIEF SUMMARY OF THE INVENTION
[0009]
One preferred aspect provides a method usable for
an electronic device that can operate in a loW poWer mode.
Because of the portable nature of the electronic
The method includes monitoring for an event representative
devices, there are certain limits to their capabilities. PoWer
of a transition to the loW poWer mode. If the event is
consumption is one of the prime examples. PoWer consump
tion is generally a minor issue in an operating environment
Where the user has “plugged” the electronic device into an
electrical poWer outlet or has docked the electronic device
into a docking station. In these situations, there is constant
and substantially unlimited poWer for operating the elec
tronic device, thereby eliminating the need for the electronic
device to consume poWer from an internal poWer source,
such as an internal battery, While plugged in.
detected, the method includes activating a media player to
operate during the loW poWer mode. The method further
includes reading at least a portion of a media ?le, to be
played back during the loW poWer mode, from a storage
location. The portion of the media ?le read from the storage
location is loaded in a memory. The loaded portion of the
media ?le is read from the memory, and the read portion of
the media ?le is played during the loW poWer mode.
BRIEF DESCRIPTION OF THE SEVERAL
VIEWS OF THE DRAWINGS
[0005] HoWever despite the proliferation of establish
ments that provide Internet connections (and typically a
corresponding stationary poWer supply), there are still many
instances When a stationary poWer supply is unavailable to
the highly mobile user. In these instances, the electronic
device needs to rely on its internal battery to supply the
poWer necessary to run applications or to perform other
functions With the electronic device.
[0006] If operated in a full poWer mode using poWer from
the internal battery, the electronic device can generally
operate for only a feW hours before the battery is drained. In
fact, many different softWare services, softWare applications,
and hardWare can run concurrently in the full poWer mode
using various subsystems and components in the electronic
device. A display, disk drive, and processor (especially a
[0010] Non-limiting and non-exhaustive embodiments are
described With reference to the folloWing ?gures, Wherein
like reference numerals refer to like parts throughout the
various vieWs unless otherWise speci?ed.
[0011] FIG. 1 is a front, top right isometric vieW of an
eXample electronic device, Which in this case is in the form
of a hand-held portable computer including a lid shoWn in an
open position.
[0012]
FIG. 2 is a front, top right isometric vieW of the
eXample portable computer of FIG. 1 including the lid
shoWn in a closed position.
graphics processor) are some of the components of an
[0013]
electronic device that can run concurrently, yet consume a
portable computer and a representative operating environ
FIG. 3 is a block diagram of an embodiment of the
substantial amount of poWer.
ment in more detail.
[0007] To help reduce poWer consumption, especially
[0014]
When a stationary poWer supply is unavailable, many elec
states in accordance With one embodiment.
FIG. 4 is a diagrammatic representation of poWer
Mar. 24, 2005
US 2005/0066207 A1
[0015] FIG. 5 is a diagrammatic representation of inter
action and operation of various components of the portable
computer in vieW of the poWer states of FIG. 4, according
to one embodiment.
[0016] FIG. 6 is a block diagram that illustrates operation
of a loW poWer media player in conjunction With other
components of the portable computer, according to one
embodiment.
[0017]
FIGS. 7-8 provide a ?oWchart illustrating opera
tion of the loW poWer media player according to one
embodiment.
DETAILED DESCRIPTION
[0018]
Embodiments of a loW poWer media player for an
electronic device, for example, a portable electronic device
in the form of a hand-held portable computer are described
herein. In the folloWing description, numerous speci?c
details are given to provide a thorough understanding of
embodiments. The invention can be practiced Without one or
more of the speci?c details, or With other methods, compo
nents, materials, etc. In other instances, structures, materials,
or operations are not shoWn or described in detail to avoid
obscuring aspects of the invention.
[0019] Reference throughout this speci?cation to “one
embodiment” or “an embodiment” means that a particular
feature, structure, or characteristic described in connection
With the embodiment is included in at least one embodiment.
Thus, the appearances of the phrases “in one embodiment”
or “in an embodiment” in various places throughout this
speci?cation are not necessarily all referring to the same
(or other non-persistent or volatile storage location), media
?les that have been cached prior to entering the loW poWer
mode and/or during the loW poWer mode are generally not
going to be overWritten from the cache, and are therefore
available to be read and played back from the cache.
[0022] In an embodiment, the loW poWer media player
comprises a loW poWer audio media player for playing back
MP3, WMA, Real Audio, or other types or formats of audio
?les, Which can include songs or other type of audio content.
According to an embodiment, the loW poWer media player
can leverage eXisting functionality of a media player that is
already installed in the portable computer. That is, an
embodiment uses the installed media player for many of the
operations associated With playback, including but not lim
ited to, reading a ?le from a cache, decoding the ?le,
playing, reWinding, stopping, pausing, and the like. In such
an embodiment, the loW poWer media player can take
advantage of eXisting functionality, libraries, interfaces, and
other features of the installed media player, and minimiZe
the need to separately provide such features.
[0023] The installed media player operates in the back
ground during the loW poWer mode in an embodiment, and
the loW poWer media player provides control and other
interface actions, such as obtaining and displaying certain
associated information (e.g., playlists, titles, artists, time,
etc.), controlling the installed media player’s playback of
?les (e.g., controlling the installed medial player’s play,
reWind, stop, etc. operations), responding to user-entered
commands from a user interface (e.g., user-entered com
mands to select a ?le for playback, reWind, turning the loW
poWer media player ON/OFF, etc.), and others.
embodiment. Furthermore, the particular features, struc
[0024]
tures, or characteristics may be combined in any suitable
one non-limiting embodiment of the loW poWer media
player Will be described herein as a loW poWer MP3 player,
and the installed media player Will be described herein as
Microsoft WindoWs Media PlayerTM 9. This embodiment is
manner in one or more embodiments.
[0020] As an overvieW, an embodiment provides a loW
poWer media player for an electronic device having the
capability to operate an application during a loW poWer
mode. A non-limiting eXample of such an electronic device
is a portable electronic device. The electronic device,
according to one embodiment, comprises a hand-held por
table computer. The loW poWer media player can operate
When the portable computer is in a loW poWer mode. In this
loW poWer mode, most of the applications, services, devices,
processes, and other components of the portable computer
For the sake of simplicity and illustration, at least
representative of only one implementation and other
embodiments are not limited to this implementation. For
eXample, other embodiments are capable of operating in
conjunction With WMA, Real Audio, or other types or
formats of media ?les.
[0025] During operation of the portable computer in the
loW poWer mode, hardWare, softWare, services, and other
components of the portable computer that are not necessary
are turned OFF or otherWise poWered doWn. HoWever,
for operation of the loW poWer media player (or any other
certain applications (and the components needed to support
their operation) can be selectively kept poWered during the
application) are suspended or otherWise deactivated. Fur
thermore, as each task is performed by the loW poWer media
player, the components that are not needed for subsequent
loW poWer mode.
[0021] One such application is the loW poWer media
player. In an embodiment, the loW poWer media player plays
back media ?les that Were previously cached or otherWise
loaded in volatile memory, thereby avoiding the need to
unnecessarily access a disk (or other persistent or non
volatile storage medium) to obtain the media ?le(s) for
playback. By accessing a cache, disk access operations are
minimiZed eXcept When needed—this feature greatly
improves poWer conservation during playback of the media
?les, as disk access operations (including turning the disk
ON and searching and reading media ?les stored thereon)
typically involve signi?cant poWer usage. Because most
components of the portable computer have been turned OFF
during the loW poWer mode and are thus not using the cache
tasks are deactivated and reactivated as needed, including
selective activation and deactivation of the disk drive. The
various deactivation operations can be performed in
sequence from the highest-level components to the loWest
level components to ensure that components that are needed
by other components, or that are otherWise involved in
operating dependencies With other components, are not
prematurely deactivated. A speci?c set of events can tran
sition the portable computer out of the loW poWer mode into
some other operating mode, such as a full poWer mode.
[0026] FIGS. 1-2 shoW front, top right isometric vieWs of
an eXample electronic device, in this case a hand-held
portable computer 100 in Which an embodiment may be
implemented. While the portable computer 100 is used as
Mar. 24, 2005
US 2005/0066207 Al
the illustrative example throughout this application, other
embodiments may be implemented With devices that may
not necessarily be thought of as a “computer” or With
devices that may not necessarily have the same shape and
appearance as the portable computer 100 illustrated in
FIGS. 1-2. Examples include but are not limited to Wireless
communication devices, display devices, monitors, audio
video equipment, consumer electronic devices, or other
electronic devices that can implement a loW poWer media
player.
elseWhere on the portable computer 100. For example, the
loW poWer display 114 may be positioned on side surfaces,
the bottom surface, or any combination of surfaces of the
portable computer 100.
[0031] In one embodiment that Will be described beloW,
the portable computer 100 of FIG. 1 includes a lid sWitch
112. The lid sWitch 112 operates as a type of trigger to
indicate Whether the lid of the portable computer 100 is open
or closed. Thus, for example, When the lid of the portable
computer 100 is closed as shoWn in FIG. 2, the lid sWitch
[0027] As shoWn, the portable computer 100 is similar in
112 can make physical contact With an electromechanical
appearance to a laptop computer, in that it comprises ?rst
and second portions 102 and 104, respectively, Which are
hinged. The ?rst portion 102 can include a keypad or
keyboard 110 and housing for the internal electronic com
connection, can change orientation, can be depressed, or
experience any other type of change in state that causes a
ponents (such as one or more processors, machine-readable
storage media, graphics drivers, and so forth). The second
portion 104 operates as a lid that folds over the ?rst portion
signal such as an interrupt to occur. Such an interrupt can be
used by an operating system, a basic input/output system
(BIOS), a service, or other softWare component to initiate a
transition from one poWer state to another poWer state (e.g.,
to the loW poWer mode). The lid sWitch 112 can be embodied
102 (When in a closed position, such as shoWn in FIG. 2),
and includes a display screen 108 for displaying information
or for otherWise presenting data (such as emails, user
With any suitable shape, mechanism, functionality, or other
interfaces, graphics, and the like) While the second portion
embodiments of the loW poWer mode techniques may be
implemented are disclosed in US. patent application Ser.
No. 10/338,802, entitled “SYSTEM AND METHOD FOR
104 is unfolded to an upright position as shoWn in FIG. 1.
[0028] Unlike a conventional laptop computer, hoWever,
the portable computer 100 of one example embodiment is
operating feature.
[0032] Examples of the portable computer 100 in Which
HEAT REMOVAL FROM A HAND-HELD PORTABLE
substantially smaller in siZe in terms of both volume and
COMPUTER WHILE DOCKED”; US. patent application
Weight. For example, the portable computer 100 may be 140
mm long, 101 mm Wide, and 30 mm thick (While closed),
With a Weight of approximately one pound. The display
Ser. No.
screen 108 on the second portion 104 may have a resolution
comparable to a desktop computer monitor. In general, the
siZe of the display screen 108, the siZe of the internal
components (e.g., chips and circuit boards) located Within
the ?rst portion 102, and the strategic placement of the
internal components (e.g., density), and other factors Will
in?uence the overall form factor of the portable computer
100. As illustrated in FIGS. 1-2, the portable computer 100
has a siZe such that it can be held securely in a hand 106 of
a user Whether in the open or closed position. In another
embodiment, the portable computer 100 may have a larger
or otherWise different form factor and/or have a greater
10/338,815, entitled “NAVIGATION AND
SELECTION CONTROL FOR A HAND-HELD POR
TABLE COMPUTER”; U.S. patent application Ser. No.
10/338,761, entitled “HEAT DISSIPATION FROM A
HAND-HELD PORTABLE COMPUTER”; and US. patent
application Ser. No. 10/338,791, entitled “KEYBOARD
WITH MOUSE FOR A HAND-HELD PORTABLE COM
PUTER“, all ?led Jan. 7, 2003, assigned to the same
assignee as the present application, and all of Which are
incorporated herein by reference in their entireties.
[0033] FIG. 3 and the accompanying discussion provide a
description of a suitable computing environment in Which
embodiments can be implemented. Although not required,
embodiments Will be described in the general context of
hardWare and computer-executable instructions, such as
Weight.
program application modules, objects, drivers, services, or
[0029] In one speci?c embodiment shoWn in FIG. 2, the
portable computer 100 can include a loW poWer display 114
integrated Within the second portion 104. In such an embodi
ment, the loW poWer display 114 be used to present certain
information While the lid of the portable computer 100 is
closed and the portable computer 100 is in the loW poWer
mode, or be used to present other forms of data. The loW
poWer display 114 also includes a user interface through
Which the user can interact With loW poWer mode applica
macros being executed by a computer (such as by the
portable computer 100). In addition to the embodiment
shoWn in this ?gure, other embodiments can be practiced
With other computer systems and/or netWork con?gurations.
[0034] FIG. 3 shoWs a computing system 300, and in
particular shoWs an embodiment of the portable computer
100 in more detail. The computing system 300 includes the
portable computer 100 and a server computing system 302.
The server computing system 302 may be located at one or
more netWork locations, for example, at one or more Internet
tions, trigger the portable computer 100 to transition to the
loW poWer mode, and other operations. For example, the loW
poWer display 114 can present playlists, song titles, artist
information, time, or other information provided to it by the
Service Provider (ISP) locations to store and serve email
information and to serve other information for the portable
loW poWer media player. The user interface of the loW poWer
display 114 can also alloW the user to enter commands (such
as play, pause, reWind, etc.) or to turn the loW poWer media
player ON or OFF.
[0035] The portable computer 100 includes a high-poWer
processing unit 304 for high-poWer processing, at least one
system memory 306, and a system bus 308 that couples
computer 100.
FIG. 2 as being positioned on the surface of the second
various system components, including the system memory
306, to the high-poWer processing unit 304. The high-poWer
processing unit 304 may be any logic processing unit, such
portion 104, the loW poWer display 114 may be positioned
as one or more central processing units (CPUs), digital
[0030] While the loW poWer display 114 is depicted in
Mar. 24, 2005
US 2005/0066207 A1
signal processors (DSPs), graphics processors, application
speci?c integrated circuits (ASICs), etc.
[0036] In an embodiment, the portable computer 100 may
also include a loW-poWer processing unit 310 for loW poWer
processing, and Which may or may not necessarily operate
With the same operating system as the high-poWer process
ing unit 304. For example, in one embodiment separate
operating systems, memory, applications, or other compo
nents can be provided for the high-poWer processing unit
304 and for the loW-poWer processing unit 310. It is also
possible in an embodiment for the high-poWer processing
unit 304 and for the loW-poWer processing unit 310 to share
certain components, rather than having separate dedicated
components.
[0037]
The system bus 308 can employ any suitable bus
structure or architecture, including a memory bus With
memory controller, a peripheral bus, and a local bus. The
system memory 306 may include one or more read-only
memories (ROM) 310 and one or more random access
modules 324, and program data 326. A non-limiting example
of an operating system 320 that may be used is WindoWs
XPTM, Which is commercially available from Microsoft
Corporation of Redmond, Wash. WindoWs XPTM as Well as
other suitable operating systems used With certain embodi
ments may include a poWer management subsystem. In an
embodiment, poWer management capabilities are provided
in connection With the loW poWer mode that supplements
poWer management provided by the poWer management
subsystem of the operating system 320.
[0041]
The other programs/modules 324 can include
libraries, application program interfaces (APIs), objects, or
other components. The program data 326 can include cached
data, such as cached songs or other media ?les, in one
embodiment. As such, parts of the system memory 306
provide volatile or otherWise non-persistent memory capa
bility, (such as an operating system cache, the RAM 312, or
other cache or non-persistent storage location) for storing
media ?les.
memories (RAM) 312. In one embodiment, separate ROM
310, RAM 312, and/or other memory can be dedicated for
[0042] The program data 326 can be stored as a data
structure, ?le, or other data format in a cache, database, or
the loW poWer display 114. ABIOS 314, for example, Which
other storage unit integrated in or separate from the system
can be stored in the ROM 310, contains routines that help
transfer information betWeen elements Within the portable
computer 100, such as during start-up. Operation of an
memory 306. In one embodiment, the program data 326 also
embodiment of the BIOS 314 in connection With a loW
poWer mode Will be described in further detail beloW.
[0038] The portable computer 100 may include a hard disk
drive 316 for reading from and Writing to a hard disk 318.
The hard disk drive 316 communicates With the high-poWer
processing unit 304 via the system bus 308. The hard disk
drive 316 may include interfaces or controllers (not shoWn)
coupled betWeen such drive(s) and the bus 308. The hard
disk drive 316 and its associated hard disk 318 provide
nonvolatile or otherWise persistent storage of computer
readable instructions, data structures, program modules and
other data for the portable computer 100. Although the
depicted portable computer 100 employs the hard disk drive
316 and the hard disk 318, other types of drives and
includes poWer pro?les and other poWer management data
indicative of the poWer requirements of particular services,
softWare, and hardWare of the portable computer 100. As
Will be described later, this poWer management data is used
in one embodiment to determine Which component of the
portable computer 100 to keep ON or to turn OFF during the
loW poWer mode, length of time to keep ON or OFF,
sequence of turning various components ON or OFF, and
other parameters and settings. Further detailed discussion of
the various other programs/modules 324 that interact for
managing and controlling operations in the loW poWer mode
and of the application program 322 (and more speci?cally,
some type of suitable loW poWer mode application program)
Will be provided beloW.
[0043] The portable computer 100 may also include a Web
broWser 328 for permitting the portable computer 100 to
computer-readable media that can store data accessible by a
access and exchange data With sources such as Internet Web
computer may be employed, such as compact disks (CDs),
magnetic cassettes, ?ash memory cards, digital video disks
sites, corporate intranets, extranets, and/or other netWorks as
(DVDs), Bernoulli cartridges, RAMs, ROMs, smart cards,
server computers. For purposes of clarity the broWser 328 is
shoWn separately in FIG. 3. According to various embodi
ments, the broWser 328 can comprise one of the application
programs 322, one of the other programs/modules 324,
and/or may be integrated in some manner With the operating
system(s) 320. While shoWn in FIG. 3 as being stored in the
etc. In one embodiment, the hard disk drive 316 and/or other
drives are not integrated Within a housing of the portable
computer 100 itself, but instead are external devices that are
accessible via hardWire or Wireless communication inter
faces.
[0039]
The hard disk drive 316 can operate in conjunction
With the hard disk 318 to store media ?les, such as MP3 ?les
or other types of audio ?les. In an embodiment, these media
?les can be read from the hard disk 318 during a full poWer
mode or during the loW poWer mode, Where attempts to
access the hard disk 318 during the loW poWer mode to read
media ?les are minimiZed as much as possible during the
loW poWer mode.
[0040]
The system memory 306 can be used for storing
various program modules, such as one or more operating
systems 320, one or more application programs 322 (such as
an email program, the loW poWer media player, an installed
media player, or other applications that can operate in a high
poWer mode or in a loW poWer mode), other programs or
described beloW, as Well as other server applications on
system memory 306, the operating systems 320, application
programs 322, other programs/modules 324, program data
326, and broWser 328 can be stored on the hard disk 318 of
the hard disk drive 316 and/or other computer-readable
media in another embodiment. Moreover, the various ele
ments depicted as being stored in the system memory 306
need not necessarily reside on the same physical memory.
For example, in embodiments Where the loW-poWer pro
cessing unit 310 and the loW poWer display 114 can be
operatively detached from the portable computer 100 or
otherWise operate independently of other components of the
portable computer 100, separate memory (having an oper
ating system, RAM, ROM, applications, and other elements
stored thereon) can be operatively decoupled from the
portable computer 100 along With the loW-poWer processing
Mar. 24, 2005
US 2005/0066207 A1
unit 310 and the loW power display 114. In such an embodi
ment, the decoupleable components can be integrated in a
loW poWer display module (LPDM).
[0044]
A user can enter commands and information into
the portable computer 100 through one or more input
devices (such as the keyboard 110) and a pointing device
(such as a mouse 330 that may be, for example, built into the
keyboard 110, an example embodiment of Which is dis
closed in Us. patent application Ser. No. 10/338,791), or
through such other types of devices usable for providing
user input. Alternatively or additionally, the mouse 330 can
be embodied as a touch pad as compared to physical buttons.
Another input device may take the form of one or more
mented to communicate With several types of communica
tion netWorks, including but not limited to, telecommunica
tions netWorks, cellular netWorks, paging netWorks, Wired
and Wireless enterprise-Wide computer netWorks, intranets,
extranets, the Internet, and other types of netWorks.
Examples of Wireless systems and protocols With Which the
portable computer 100 can communicate, include but are not
limited -to, Wi-Fi, Bluetooth, 802.11, and others.
[0047] When used in a LAN netWorking environment, the
portable computer 100 can be connected to the LAN 342
through an adapter or netWork interface 346 (communica
tively linked to the bus 308). When used in a WWAN or
other netWork 344, the portable computer 100 may include
buttons 332 on the side of the keyboard 110, With the
a modem, transceiver 348 or other device, such as the
button(s) 332 usable for scrolling and clicking via turning
and pressing of the button(s) 332. Other possible input
netWork interface 346, for establishing communications
devices can include a microphone, joystick, game pad,
scanner, etc. (not shoWn). These and other input devices are
connected to the high-poWer processing unit 304 through an
nicating With external devices. The transceiver 348 as shoWn
in FIG. 3 is communicatively linked betWeen the interface
334 and the netWork 344. The transceiver 348 may be one
interface 334 such as a serial port interface that couples to
or more transmitters, receivers, or other communication
over this netWorking environment or for otherWise commu
the bus 308, although the portable computer 100 may
devices that are compliant With, for example, 802.11, GPS,
employ other interfaces such as a parallel port, a game port
Bluetooth, cellular (TDMA, FDMA, and/or CDMA), Wi-Fi,
or a Wireless interface or a universal serial bus (USE). The
interface 334 can be any suitable communication interface to
the bus 308 and need not necessarily be a port per se. In one
virtual private netWork (VPN), and/or other communication
embodiment, the input devices such as a mouse, joystick,
game pad, keyboard, etc. are integrated directly into the
housing of the portable computer 100, rather than or in
addition to being coupleable via a serial or parallel port
interface.
[0045] The display screen 108 operates as the main dis
play and is coupled to the bus 308 via a graphics interface
336, such as a video adapter or other graphics component
that Will alloW video and other graphics to be rendered on
the display screen 108. The loW poWer display 114 (and its
associated user interfaces) may also be present in one
embodiment to alloW presentation of data (e.g., presentation
on the outside surface of the second portion 104 of the
portable computer 100) during the loW poWer mode, When
the lid is closed on the portable computer 100. The loW
poWer display 114 may be coupled to the bus 308 by Way of
the graphics interface 336 (or other interface) or may be
directly coupled to the bus 308. The loW poWer display 114
can provide its user interface With various controls, such as
buttons and menus, Which may be used to control various
aspects of operation of the loW poWer media player. Also as
depicted in FIG. 3, the lid sWitch 112 can be coupled to the
system bus 308 to alloW the various components of the
portable computer 100 to detect and respond to a closing or
standards or techniques.
[0048] In one embodiment, the portable computer 100 is
communicatively linked to the server computing system 302
through the LAN 342 and/or the netWork 344 With trans
mission control protocol/Internet protocol (TCP/IP) middle
layer netWork protocols or other netWork protocol layers,
such as User Datagram Protocol (UDP). The netWork con
nections shoWn in FIG. 3 are only some examples of
establishing communication links betWeen computers, and
other links can be used, including both hardWire and Wire
less links.
[0049]
The server computing system 302 includes one or
more servers 350. In the context of email, the server 350 can
comprise an email server. An example of such a server is a
Microsoft ExchangeTM server, and the principles described
herein are not to be limited to only email implementations
that use a Microsoft ExchangeTM server.
[0050]
FIG. 4 is a diagrammatic representation 400 of
poWer states in accordance With one embodiment. More
particularly, FIG. 4 shoWs operating poWer states 50-52 and
53-55 that are supported by the Advanced Con?guration and
PoWer Interface (ACPI) speci?cation and a non-ACPI
de?ned loW poWer mode state 52.5 in accordance With one
embodiment. Typically, the 50-52 and 53-55 poWer states
are de?ned in poWer pro?les that are integrated as part of a
opening of the lid of the portable computer 100.
poWer management subsystem (such as a WindoWs poWer
[0046] The portable computer 100 can operate in a net
Worked environment using logical connections to one or
more remote computers and/or devices external to the por
table computer 100, such as the server computing system
302 and a netWork device 340, such as a printer or netWork
the sake of brevity, only a summary of the ACPI poWer states
Will be provided herein. Further details of the ACPI poWer
states can be found in Compac Computer Corporation et al.,
storage unit. The portable computer 100 is logically con
nected to one or more remote computing systems or devices
under any suitable method of permitting computers to com
municate, such as through a Wireless local area netWork
(WLAN) 342, a Wireless Wide area netWork (WWAN), or
any other netWork 344, including Wired and Wireless net
management subsystem) in the operating system 320. For
“Advanced Con?guration and PoWer Interface Speci?ca
tion,” Revision 2.0c, Aug. 25, 2003. Moreover, another
embodiment of the invention can be based on poWer states
that are not necessarily compliant With the ACPI speci?ca
tion.
[0051] In the S0 poWer state, the high-poWer processing
Works that use or can communicate With the Internet (e.g.,
unit 304 is executing instructions at its full clock speed, and
the portable computer 100 is otherWise operating at sub
World Wide Web). Various embodiments can be imple
stantially full (e.g.,100%) capacity. For instance, many ser
Mar. 24, 2005
US 2005/0066207 A1
vices are operational and performing their tasks, data is
being Written to and read from the hard disk drive 316, the
main display screen 108 is rendering content, and other
Working state tasks are being performed.
[0052] The S1 poWer state is a sleeping-loW Wake mode.
In the S1 poWer state, the high-poWer processing unit 304
(or other processing unit) is not executing instructions.
Processor context is maintained, and all system clocks and
memory are in refresh. The S2 poWer state is also a sleeping
loW Wake mode that is logically loWer than the S1 poWer
state, and is assumed to conserve more poWer. The processor
context is not maintained, and the clock of the high-pro
cessing unit 304 is stopped. Moreover, all system clocks,
cache(s) and memory are in refresh, and all poWer resources
that supply a system-level reference of S0 or S1 are in the
OFF state. The S1 and S2 poWer states are loW Wake modes
in that any interrupt (such as the pressing of a key on the
poWer state, the sequence and duration of turning OFF
certain unnecessary components can minimiZe poWer con
sumption. Moreover, the portable computer 100 Will not be
aWakened from the S25 poWer state by any basic interrupt
(as contrasted With the S1 or S2 poWer states). Rather, only
speci?c events Will cause a transition to a higher poWer state
(e.g., S0), such as opening the lid of the portable computer
100. Further details of loW poWer mode operation in the S25
poWer state, including transitioning to and from the loW
poWer mode, are provided beloW.
[0057] FIG. 5 is a diagrammatic representation 500 of
interaction and operation of various components of the
portable computer 100 in vieW of the poWer states of FIG.
4, according to one embodiment. More particularly, the
diagrammatic representation 500 illustrates operation in the
loW poWer mode (i.e., the S25 poWer state) in more detail.
keyboard 110) generally aWakens or transitions the portable
[0058]
computer 100 from these modes.
502, a bootloader 504, and a CPU minimum clock and
throttle 506. According to one embodiment, the BIOS 314
includes a loW poWer mode subsystem 508, Which interacts
With other loW poWer mode components to control and
manage transitions to and from the S25 poWer state, and to
[0053]
The S3 poWer state is a standby mode and is
logically a loWer poWer state than the S2 poWer state.
Memory is continuously running and refreshed, and so the
data context of the RAM 312 is maintained, for instance.
HoWever, the high-poWer processing unit 304, components
associated With the graphics system, the hard disk drive 316,
the main display screen 108, and other components of the
portable computer 100 are turned OFF and no services are
running. In one embodiment, a feW speci?c actions aWaken
the portable computer 100 from the S3 poWer state, such as
pressing a poWer button, opening the lid of the portable
computer 100 (thus activating the lid sWitch 112), and the
receipt of a Wake-on-LAN/USB/fax signal.
[0054]
In the S4 poWer state, the portable computer 100 is
in a hibernate mode. The data context of the RAM 312 is not
maintained, and most components are turned OFF and not
running. The S5 poWer state is logically the loWest poWer
state, and is a soft OFF mode that requires a complete
boot-up When aWakened.
[0055] In accordance With an embodiment, an intermedi
ate poWer state is provided betWeen the S2 and S3 poWer
states. This is a loW poWer mode and non-ACPI-de?ned
poWer state, Which is labeled in FIG. 4 as the poWer state
“S25.” The label “S25” is used herein merely for the sake
of convenience and ease of explanation and to provide
context, and is not intended to limit the invention to strictly
an ACPI environment.
[0056] In an embodiment of the S25 poWer state, most of
the components of the portable computer 100 are turned
OFF. HoWever, a loW poWer mode application is operating,
and the various components of the portable computer 100
that are required to support operation of that loW poWer
mode application are selectively ON or otherWise running,
until such components are no longer needed during opera
tion of the loW poWer mode application (in Which case such
components are then turned OFF). The speed of the clock in
the high-poWer processing unit 304 is also reduced to a
minimum loW speed to support the loW poWer mode appli
cation. For instance, the speed of the clock during the loW
poWer mode can be set to a minimum speed that is speci?ed
for the high-poWer processing unit 304, a non-limiting and
purely illustrative example of Which is approximately 433
MHZ. As such, for transitioning to and operating in the S25
The BIOS 314 includes a real time clock (RTC)
manage and control the turning of certain components
(generally hardWare-related components) OFF or ON in
connection With loW poWer mode operation. The loW poWer
mode subsystem 508 can be embodied in softWare source
code, softWare object code, or other machine-readable
instructions. Furthermore, the BIOS 314 can control and
manage transitions into and out of the S0 and S3 poWer
states, as indicated in FIG. 5.
[0059] Transitioning or otherWise entering into the S25
poWer state (or also entering the S3 poWer state) according
to one embodiment can be performed by closing the lid of
the portable computer 100, thereby triggering or otherWise
activating the lid sWitch 112. Additionally, exiting the S25
poWer state (or also exiting the S3 poWer state) can be
performed by opening the lid of the portable computer 100,
Which also triggers a change in state of the lid sWitch 112.
An arroW 516 in FIG. 5 represents the entering into and
exiting from the S25 poWer state. The arroW 516 indicates
that the entering/exiting may be performed by a BIOS call,
an interrupt, or other communication to the BIOS 314 from
the lid sWitch 112. When entering the loW poWer mode of the
S25 poWer state, the loW poWer mode subsystem 508 of the
BIOS 314 then Wakes up a loW poWer mode service 520
(indicated by an arroW 522). Alternatively or additionally, a
broken arroW 518 represents that the transition to or from the
S25 poWer state can be performed by a direct communica
tion (as a result of activation of the lid sWitch 112) to the loW
poWer mode service 520 from the lid sWitch 112.
[0060] In an embodiment, entering the S25 poWer state
also can be performed via a loW poWer display module
(LPDM) 510 that includes the loW poWer display 114. The
LPDM 510 includes a user interface 512 (Which can be
embodied as controls, buttons, or menus on the loW poWer
display 114) that can communicate (indicated With an arroW
525) With the loW poWer mode subsystem 508 of the BIOS
314 to initiate transition into the S25 poWer state. Alterna
tively or additionally, the user interface 512 can communi
cate directly With the loW poWer mode service 520 (also
represented by the broken arroW 518) to initiate transition
into the S25 poWer state. Further alternatively or in addi
Mar. 24, 2005
US 2005/0066207 A1
tion, the LPDM 510 (including its user interface 512) can
communicate With an LPDM application service 524 (indi
cated by an arroW 526) to initiate transition into the S25
poWer state or to otherWise present information during the
loW poWer mode (such as playback of media ?les or pre
sentation of email on the loW poWer display 114). Auser 514
can operate the lid sWitch 112 or the LPDM 510 to trigger
transition into an applicable poWer state.
[0061]
In an embodiment, the user interface 512 can
operate in conjunction With a loW poWer media player, such
as a loW poWer MP3 player or other loW poWer media player.
Thus, the user interface 512 can display information such as
playlists, song titles, track number, time remaining to
completion of playback, length of song, artist names, and
other information associated With a media ?le. Furthermore,
until-interrupt) message to either or both the operating
system kernel 528 and the BIOS 314, so as to suspend tasks
that are not needed or unused during the loW poWer mode.
When a resume signal is sent from the loW poWer mode
service 520, the suspended tasks are resumed from the point
Where they Were suspended. It is noted that an embodiment
removes these tasks from suspension With a resume signal,
as compared to an interrupt. An interrupt often removes
elements from a standby state in eXisting systems. HoWever,
With an embodiment, interrupts are generated While operat
ing in the loW poWer mode, and therefore, resume signals
rather than interrupts are used to remove elements from
suspension to ensure that such elements remain suspended
during the loW poWer mode and do not perform unnecessary
tasks (and therefore unnecessarily consume poWer).
the user interface 512 can provide a user With controls such
[0065]
as playback, pause, stop, reWind, increase volume, skip, and
of the program/modules 324 shoWn in FIG. 3. In one
embodiment, the loW poWer mode service 520 comprises a
service that can be Written using the Microsoft Win32
SoftWare Development Kit (SDK), so as to alloW the service
to interact and interface With the operating system kernel
528. The operating system kernel 528, such as a WindoWs
XPTM kernel, can in turn comprise part of the overall
the like. As represented by the arroWs 518 or 526, these user
commands can then be conveyed by the user interface 512
to the loW poWer mode service 520, to the LPDM applica
tion service 524, and/or even directly to the loW poWer
media player.
[0062]
The loW poWer mode service 520 of one embodi
ment comprises a service, program, component, subroutine,
The loW poWer mode service 520 can comprise part
operating system 320.
module, or other softWare code or set of machine-readable
[0066]
instructions that is alWays running. In the S0 poWer state, the
loW poWer mode service 520 is running but is basically
can make calls to the BIOS 314 to turn ON or turn OFF
performing a minimal amount of tasks, or more speci?cally,
the loW poWer mode service 520 is monitoring for certain
activities that signal a need to transition to the S25 poWer
state. An eXample of such a monitored activity is activation
of the lid sWitch 112, Which indicates a closing or opening
of the lid of the portable computer 100.
[0063] When the lid is closed or some other activity
signals a need to transition to the loW poWer mode of the
S25 state, the loW poWer mode service 520 Wakes up or
otherWise becomes more active, and determines Which loW
poWer mode application is to be made active in the loW
In the case of the operating system kernel 528, it
certain elements during the S1-S5 poWer states, as repre
sented by an arroW 530. In one embodiment, this includes
direct BIOS calls to the loW poWer mode subsystem 508 to
turn OFF certain hardWare elements that are not necessary
for the loW poWer mode. Alternatively or additionally, the
operating system kernel 528 can turn OFF certain softWare
elements, such as unnecessary services 536 or applications,
by turning OFF their corresponding drivers 534. The oper
ating system kernel 528 can also selectively turn ON such
services 536 or applications by activating their drivers 534.
[0067] In an embodiment operating in the loW poWer
mode, the loW poWer mode service 520 and/or the LPDM
poWer mode (if any); determines the hardWare, softWare,
application service 524 interacts With one or more loW
and poWer needs for that loW poWer mode application from
poWer mode applications 538 (indicated as a loW poWer
media player 538A and at least one other loW poWer appli
information provided by the loW poWer mode application
and/or from poWer pro?les comprising part of the program
cation 538B in FIG. 5). A non-limiting eXample of the loW
arroW 532) to turn certain elements OFF in a speci?c
sequence; or otherWise performs tasks associated With oper
poWer application 538B is a client-side email program, such
as disclosed in US. application Ser. No.
, Attorney
Docket No. 930086.407, entitled “METHOD AND SYS
TEM FOR MANAGING EMAIL ATTACHMENTS FOR
ating the portable computer 100 in the loW poWer mode. The
AN ELECTRONIC DEVICE,” ?led May 7, 2004; US.
arroW 522 also represents this communication to the BIOS
314 by the loW poWer mode service 520, and an arroW 532
application Ser.
No.
, Attorney Docket
No.930086.408, entitled “METHOD AND SYSTEM FOR
POLLING AND CACHING EMAILS FOR AN ELEC
data 324; communicates With either or both the BIOS 314 or
With an operating system kernel 528 (as indicated by an
represents the communication to the operating system kernel
528 by the loW poWer mode service 520. The operating
system kernel 528 and/or the BIOS 314 can then selectively
begin poWering doWn unnecessary hardWare, softWare, ser
vices, and other elements. In the conteXt of email in one
embodiment, the arroW 522 also represents the turning ON
and OFF of the loW poWer mode subsystem 508 of the BIOS
314, to alloW activation and deactivation of elements of the
portable computer 100 (such as the transceiver 348) that are
used for periodic polling of an external server (such as the
server 350) for neW email.
[0064]
In an embodiment, the loW poWer mode service
520 sends a suspend-until-resume (as compared to suspend
TRONIC DEVICE,” ?led May 7, 2004; and US. application
Ser. No.
, Attorney Docket No. 930086.409, entitled
“METHOD AND SYSTEM FOR EMAIL SYNCHRONI
ZATION FOR AN ELECTRONIC DEVICE,” ?led May 7,
2004. All of these patent applications are assigned to the
same assignee as the present application and are incorpo
rated herein by reference in their entireties.
[0068] There may also be some type of netWork access
component 540 (either or both Wireless or Wired) that can be
selectively activated during the loW poWer mode. Examples
of the netWork access component 540 include the transceiver
348 or the netWork interface 346. The loW poWer mode
Mar. 24, 2005
US 2005/0066207 A1
applications 538 and the network access component 540 can
access a disk cache 542 or other suitable volatile memory
[0073] The loW poWer mode service 520 can control or
otherWise communicate With a plurality of different clients
606. Such clients 606 can include the loW poWer media
location as needed during the loW poWer mode, Wherein the
disk cache 542 can comprise part of the RAM 312 or other
player 538A and the loW poWer display 114 (or other loW
storage unit.
poWer mode user interface).
[0069]
[0074] In an embodiment, the application 556 comprises a
media player application that is installed in the portable
computer 100. An example is the WindoWs Media PlayerTM
9, and other suitable examples can include RealPlayerTM,
WinAmpTM, MusicmatchTM, and the like. As Will be
The loW poWer mode applications 538 can com
municate With installed applications 548 and 556 during the
loW poWer mode. Examples of these installed applications
include WindoWs Media PlayerTM 9 and Microsoft Out
lookTM 2003. In an embodiment, these installed applications
548 and 556 provide supporting functions and data for the
loW poWer mode applications 538 during the loW poWer
mode. As an example, if the installed application 556 is
WindoWs Media PlayerTM 9, then the loW poWer media
player 538A can interact With the installed application 556,
via an application program interface (API) 544 or other
suitable means for communicating information betWeen the
loW poWer media player 538A and the installed application
556, to use the play, stop, fast forWard, pause, reWind, or
other functions of the installed application 556. An arroW
552 represents this interaction. Use of these existing func
tions of the installed application 556 by one embodiment
avoids the need to create code for the loW poWer media
player 538A to perform the same functions.
[0070] Information such as playlists, songs, titles, artists,
time, etc. is maintained by the installed application 556
(depicted by an arroW 550) in one or more libraries 546,
Which is in turn accessible by the loW poWer media player
538A. ArroWs 554 and 526 represent that this library infor
mation can be forWarded by the loW poWer media player
538A to the LPDM application service 524 and then to the
LPDM 510 for presentation on the loW poWer display 114.
Thus, an embodiment of the LPDM application service 524
is usable for communicating information betWeen the loW
poWer media player 538A and the LPDM 510.
[0071] FIG. 6 is a block diagram 600 that illustrates
operation of a loW poWer media player 538A in conjunction
described beloW, the application 556 operates normally
during the full poWer mode, and is then transitioned into an
embedded mode by the loW poWer media player 538A
during the loW poWer mode. In this embedded mode, the
application 556 still operates to playback media ?les, but is
controlled by an embodiment of the loW poWer media player
538A, Wherein the loW poWer media player 538A controls
and uses the functionality of the application 556 for per
forming playback and related operations. Thus, one embodi
ment of the loW poWer media player 538A itself does not
perform the playback (e.g., decoding, sending to speakers,
and the like) of the media ?le. In another embodiment, a loW
poWer media player 538Amay be provided that performs the
playback and minimally uses functionality of the application
556.
[0075] The API 544 and library 546 are symbolically
represented in FIG. 6, Wherein the API exposes certain
functions or features of the application 556 to the loW poWer
media player 538A. These exposed functions and features
can include functions for play, stop, pause, reWind, and the
like, thereby alloWing the loW poWer media player 538A to
control the application 556 during the loW poWer mode.
Through the library 546, the loW poWer media player 538A
can obtain information such as playlists, artists, titles, and
the like from the application 556.
[0076] Through the LPDM application service 524 and/or
With other components of the portable computer 100,
an API 608, the loW poWer media player 538A can commu
nicate With the user interface 512 of the LPDM 510. The API
according to one embodiment. Certain elements from the
diagrammatic representation 500 of FIG. 5 are also shoWn
model (COM) objects comprising Player, Library, Playlist,
608 of one embodiment includes ?ve component object
in the block diagram 600 so as to provide context.
MediaItem, and StringCollection objects, for example.
[0072]
Among other features, the Player object provides core
First, the loW poWer mode service 520 is shoWn.
The loW poWer mode service 520 uses information from a
controls on the loW poWer media player 538A; the Library
poWer mode data store 618, Which includes the program data
326 shoWn in FIG. 3 to determine Which elements of the
portable computer 100 should be kept turned ON or turned
OFF, and to determine the poWer needs of certain elements
for certain applications or operations. The sequence and
duration for turning such elements ON or OFF can be stored
in and obtained from the poWer mode data store 618. In an
embodiment, the poWer mode data store 618 can include
information such as the poWer requirements of the loW
poWer media player 538A, identi?cation of the resources
that need to be turned ON during operation of the loW poWer
object contains all of the accessible Playlists; the Playlist
media player 538A, poWer requirements of such resources,
When such resources need to be turned ON/OFF and any
corresponding duration, and other information associated
With operation of the loW poWer media player 538A. An
arroW 602 represents the capability of the loW poWer mode
service 520 to obtain this information from the poWer mode
data store 618. ApoWer pro?le editor 604 or other tool can
be provided to add, modify, or remove any of the poWer
pro?le information in the poWer mode data store 618.
object(s) denote a sequence of MediaItems; a Medialtem
object provides access to information about a particular
media ?le; and the StringCollection object is a sequence of
strings that can be used to obtain a list of albums, artists, etc.
from the Library object.
[0077] In the case of the API 608, the API 608 exposes
several functions of the loW poWer media player 538A to the
user interface 512, thereby alloWing user-entered commands
(including song selections) to be sent to the loW poWer
media player 538A, Which can then convey these commands
to the application 556. Through the LPDM application
service 524 and/or the API 608, information such as playlists
can be sent from the loW poWer media player 538A to the
user interface 512 for display thereon.
[0078]
There may be other clients 610 With Which the loW
poWer media player 538A interacts during its operation in
the loW poWer mode. Some of these clients 610 include the
hard disk drive 316, the hard disk 318 (shoWn separately
Mar. 24, 2005
US 2005/0066207 A1
,
and may be performed by other elements, such as by the loW
poWer mode service 520 and/or by the application 556. The
various operations need not necessarily be performed in the
2004. In an embodiment, the loW poWer mode player 538A
uses the information provided from the application 556 to
exact order shoWn, and some operations can be added,
removed, modi?ed, or combined.
from the clients 610 in FIG. 6), and a loW power email client
(as described and claimed in Us. patent application Ser. No.
, Attorney Docket No. 930086.419, ?led
determine Which song is currently playing and Which songs
are next in the playlist. While a song is currently being
played by the application 556, the loW poWer media player
538A accesses the hard disk drive 316 and hard disk 318 to
read the songs remaining on the playlist, as depicted by an
arroW 612.
[0079] This reading operation inherently causes the oper
ating system 320 to store the read copies into an operating
system cache (as symbolically depicted by a broken arroW
614), such as the RAM 312 or other non-persistent or
otherWise volatile storage location in the system memory
306 usable for storing a portion of a media ?le as the portion
is read from the hard disk drive 316 or other persistent
memory location. After the application 556 has completed
playing the current song, the application 556 accesses the
system memory 306 to read the cached songs, as depicted by
an arroW 616, rather than accessing the hard disk drive 316
and hard disk 318.
[0084]
In a block 702, a media ?le is depicted as being
played back by the application 556 during the full poWer
mode. For example, a WindoWs Media PlayerTM 9 applica
tion may be playing back an MP3 audio ?le While the user
of the portable computer 100 is using a Word processing
program. In an embodiment, the application 556 provides
state information to the loW poWer media player 538A
during the loW poWer mode at a block 704. In this loW poWer
mode, the loW poWer media player 538A is running but is
substantially inactive, except to obtain and process the state
information, Which can include title of the song being
played, time remaining to complete its playback, volume,
and the like.
[0085] At a block 705, the loW poWer mode service 520 is
used for monitoring for an event that signals a need to
transition to the loW poWer mode. For instance, if the lid of
the portable computer is closed, the lid sWitch 112 can
generate an interrupt to signal the transition to the loW poWer
[0080] Accessing the cached songs from the operating
mode. If no event is detected at the block 706, then the
system cache, rather than via the hard disk drive 316 and
hard disk 318, is bene?cial for poWer conservation purposes
in a number of Ways. First, the application 556 typically has
to access/read the hard disk drive 316 and hard disk 318
repeatedly to obtain individual or multiple segments of each
monitoring continues at the block 705.
media ?le, including segments of the currently playing
media ?le as it is played. Thus, multiple disk access opera
tions need to be performed to search for and obtain all pieces
of a complete media ?le. These multiple disk access opera
tions to obtain all pieces of all media ?les from an entire
playlist result in signi?cant poWer consumption. An embodi
ment reduces or removes the need for such multiple disk
accesses during the loW poWer mode.
[0081] Second, by instead performing a substantially
single (or otherWise relatively limited number of) disk
access operation(s) for a relatively short duration of time to
read all media ?les, an embodiment reduces the amount of
searching and reading of the hard disk 318 that needs to be
performed—once read, the media ?les remain in the oper
ating system cache and can be read directly therefrom by the
application 556, instead of having to search for and read the
?les from the hard disk 318, since many applications by
default read from a cache before reading from a hard disk.
[0082] Third, because the portable computer 100 is in a
loW poWer mode in Which most of its components (e.g.,
applications) have been turned OFF (With the exception of
the loW poWer media player 538A), the data in the operating
system cache is substantially guaranteed to be present and
not overWritten by data from another application. This
feature, again, contributes to poWer conservation since the
need to access the hard disk 318 is reduced.
[0083] FIGS. 7-8 provide a ?oWchart 700 illustrating
operation of the loW poWer media player 538A according to
one embodiment. Features represented by the ?oWchart 700
can be embodied in softWare source, softWare object code,
[0086] HoWever, if an event is detected at the block 706,
then the loW poWer mode service 520 performs certain tasks
to transition into the loW poWer mode. These tasks include
reading the loW poWer mode poWer pro?le from the poWer
mode data store 618, and determining Which elements of the
portable computer 100 to turn OFF, to keep turned ON,
When to turn them OFF or ON, in Which sequence, duration,
and so forth. The appropriate devices, services, processes,
and other components are then turned OFF and/or sus
pended. Embodiments of techniques to monitor for events
and to transition into the loW poWer mode are described in
detail in US. patent application Ser. No.
(Attorney
Docket No. 930086.410), entitled “METHOD AND APPA
RATUS FOR OPERATING AN ELECTRONIC DEVICE
IN A LOW POWER MODE,” ?led
, assigned to the
same assignee as the present application, and incorporated
herein by reference in its entirety.
[0087] At a block 710, the loW poWer mode service 520
Wakes up or is otherWise used for activating the loW poWer
media player 538A, Which is running as a background
process. At the block 710, the loW poWer mode service 520
may also notify the LPDM application service 524 that the
portable computer 100 is transitioning into the loW poWer
mode, thereby also Waking up the LPDM application service
524, Which may have also been previously running in as a
background process. After being aWakened, the loW poWer
media player 538A takes control over the application 556,
Which is currently playing a song or other media ?le, and
instructs the application 556 to enter an embedded mode at
a block 712. In the embedded mode, the application 556
continues to play the song but its user interface becomes
hidden.
[0088]
At a block 714, the loW poWer media player 538A
obtains the playlist, titles, artist, volume, and other infor
or in other machine-readable instructions stored on a
mation from the application 556. In one embodiment, this
machine-readable medium. Some operations need not nec
information is obtained in response to a request sent to the
essarily be performed by the loW poWer media player 538A,
API 544 of the application 556 by the loW poWer media
Mar. 24, 2005
US 2005/0066207 A1
player 538A. In another embodiment, this information can
necessarily receiving a request from the loW poWer media
player 538A. This information may be read by the loW
poWer media player 538A from the library 546. It is noted
[0095] If no event is detected at the block 810, then
playback continues at the block 806. OtherWise if an event
is detected (such as if the user opens the lid of the portable
computer 100 to indicate a need to transition back to the full
poWer mode, or presses a button to turn OFF the portable
that in one embodiment, at least some of this information
computer 100), then the loW poWer media player 538A
may have been obtained previously at the block 704.
instructs the application 812 to stop playback at a block 812.
The portable computer 100 then eXits the loW poWer mode
be independently provided by the application 556 Without
[0089]
At a block 716, the loW poWer media player 538A
establishes a communication With the LPDM application
service 524 and provides it With the obtained information,
including the playlist. At a block 718, the LPDM application
service 524 and/or the loW poWer media player 538A sends
the playlist and other information to the LPDM 510 for
presentation on the loW poWer display 114.
[0090] Continuing to a block 800 in FIG. 8, the loW poWer
media player 538A reads the playlist to determine Which
songs are to be played subsequent to the current song. These
songs can be played back in sequence according to the order
in the playlist, or can be played out of sequence in accor
dance With a skip, repeat, or other user-provided sequencing
preference. The particular sequence to play back the song
can determine Which order the corresponding media ?les are
to be read from the hard disk 318 by the loW poWer media
player 538A.
[0091]
at a block 814, and the loW poWer media player 538A reverts
to operation as a background process, if appropriate, until
reaWakened again.
[0096] All of the above U.S. patents, US. patent applica
tion publications, US. patent applications, foreign patents,
foreign patent applications and non-patent publications
referred to in this speci?cation and/or listed in the Applica
tion Data Sheet, are incorporated herein by reference, in
their entirety.
[0097] The above description of illustrated embodiments,
including What is described in the Abstract, is not intended
to be exhaustive or to limit the invention to the precise forms
disclosed. While speci?c embodiments and eXamples are
described herein for illustrative purposes, various equivalent
modi?cations are possible and can be made Without devi
ating from the spirit and scope of the invention.
[0098] For eXample, While some embodiments have been
The loW poWer media player 538A is used for
described in the conteXt of interacting With a WindoWs XPTM
reading or otherWise obtaining a copy of at least a portion of
the media ?les from the hard disk at a block 802. In one
kernel and operating in conjunction With the poWer states
de?ned in the ACPI speci?cation, the invention is not
limited to these speci?c implementations. Other embodi
embodiment, the reading at the block 802 comprises a
single, or at least a relatively limited number, of disk access
operations to locate and obtain all portions of all the desired
media ?les from the hard disk 318. After the media ?les are
read, the hard disk drive 316 and the hard disk 318 are turned
OFF.
[0092]
At a block 804, the media ?les obtained from the
hard disk 318 are cached or otherWise stored or loaded in
memory. In an embodiment, the media ?les are inherently
placed in an operating system cache, in the RAM 312, or in
some other non-persistent or otherWise volatile storage
location in the system memory 306 by the operating system
320 during the reading process at the block 802. Thus, an
independent and separate operation is generally not required
to cache the media ?les.
[0093]
At a block 806 after the application 556 has com
pleted playback of the current song, the application 556 is
used for reading and playing back a subsequent song or
portion thereof from the cached media ?les. The application
556 by default ?rst checks the non-persistent storage loca
tion for the neXt song, as opposed to ?rst accessing the hard
disk 318. Since the application 556 locates the cached media
?le(s) in the non-persistent storage location, there Will be no
need to further access the hard disk 318, unless the cached
media ?le(s) may have been overWritten by a concurrently
running application. The located cached media ?le(s) are
read and then played back by the application 556 at the block
806.
[0094]
ments may be implemented With electronic devices that use
a different operating system and/or that have poWer states
that are de?ned using some other speci?cation.
[0099] Moreover, various embodiments have been
described With respect to speci?c products such as WindoWs
Media PlayerTM 9 and MP3 formats. These are merely
eXamples of possible implementations, and that other
embodiments can provide a loW poWer media player for
other formats (including audio and/or video formats differ
ent from MP3), or a loW poWer media player usable With
other types of media player applications. A separate stand
alone loW poWer media player can also be provided in one
embodiment, Wherein such a loW poWer media player does
not need to rely on functionality provided by some other
media player application present in the portable computer
100 and Which can cache media ?les instead of performing
repeated disk access operations.
[0100] An eXample has been described above Where the
loW poWer media player 538A commenced its operation in
the loW poWer mode in the middle of an eXisting playback
of a media ?le by the application 556. The loW poWer media
player 538A need not necessarily operate under this condi
tion. The loW poWer media player 538A can commence
operation during the loW poWer mode even if the application
Was not previously (and currently) playing back a media ?le.
A user-entered command from the LPDM 510 can be
provided, for eXample, to signal the loW poWer media player
538A to commence operation in the loW poWer mode to read
At a block 808, the loW poWer mode service 520
monitors for an event that signals a need to transition out of
the loW poWer mode. This monitoring can occur as a process
and cache media ?les, and control the application 556 to
playback these media ?les (or the loW poWer media player
538A may play back the media ?les itself in another embodi
separate from the caching and playback, and can include
ment).
events to signal a need to return to a full poWer mode or to
[0101]
go to a standby (or other inactive move).
invention in light of the above detailed description. The
These and other modi?cations can be made to the
Mar. 24, 2005
US 2005/0066207 A1
terms used in the following claims should not be construed
to limit the invention to the speci?c embodiments disclosed
in the speci?cation and the claims. Rather, the scope of the
invention is to be determined entirely by the following
claims, Which are to be construed in accordance With estab
lished doctrines of claim interpretation.
during the loW poWer mode to prevent data associated With
operation of such components from overWriting the loaded
portion of the media ?le.
10. The method of claim 1, further comprising:
receiving user-entered commands, directed toWards play
ing of media ?les, from a user interface on a loW poWer
display of the electronic device; and
What is claimed is:
1. A method usable for an electronic device that can
operate in a loW poWer mode, the method comprising:
applying the user-entered commands to control, using the
media player, playing of corresponding media ?les by
a media application.
monitoring for an event representative of a transition to
the loW poWer mode;
if the event is detected, activating a media player to
operate during the loW poWer mode;
11. A method usable for an electronic device that can
operate in a reduced poWer mode, the method comprising:
While at least a portion of a ?rst media ?le is being played
during the reduced poWer mode, determining at least
reading at least a portion of a media ?le, to be played
during the loW poWer mode, from a storage location;
loading in a memory the portion of the media ?le read
from the storage location;
reading the loaded portion of the media ?le from the
memory; and
one additional media ?le to play after the ?rst media
?le;
reading at least a portion of the additional media ?le from
a persistent storage location during playing of the ?rst
media ?le;
storing the portion of the additional media ?le read from
playing the read portion of the media ?le during the loW
poWer mode.
2. The method of claim 1 Wherein playing the read portion
of the media ?le includes playing the read portion of the
media ?le With a media application that is controllable by the
media player.
3. The method of claim 1, further comprising:
playing a media ?le When the transition to the loW poWer
mode occurs;
receiving, at the media player, information associated
With at least one of a plurality of media ?les stored in
the storage location; and
the persistent storage location in a volatile storage
location; and
playing the stored portion of the additional media ?le
from the volatile storage location.
12. The method of claim 11 Wherein playing the stored
portion of the additional media ?le includes, subsequent to
completion of playing of the ?rst media ?le, playing the
stored portion of the additional media ?le from the volatile
storage location instead of re-accessing the persistent stor
age location to play the portion of the additional media ?le.
13. The method of claim 11 Wherein playing the stored
portion of the additional media ?le includes playing an audio
?le.
using the received information to determine Which media
?le to read from the storage location and to load in the
memory.
4. The method of claim 3 Wherein receiving the informa
tion associated With the media ?les stored in the storage
location includes receiving a playlist of the media ?les.
5. The method of claim 3, further comprising providing
the information associated With the media ?les for presen
tation on a loW poWer display of the electronic device.
6. The method of claim 3 Wherein playing the media ?le
When the transition to the loW poWer mode occurs includes
playing that media ?le using a media application different
from the media player, the method further comprising:
controlling playing of other media ?les by the media
application during the loW poWer mode, using the
media player for control; and
placing the media application in an embedded mode
during the loW poWer mode.
7. The method of claim 1, further comprising keeping the
media player running in modes different from the loW poWer
mode.
8. The method of claim 1 Wherein loading the portion of
the media ?le read from the storage location includes storing
the portion of the media ?le in a cache While the portion is
read from the storage location.
9. The method of claim 1, further comprising suspending
operations of other components of the electronic device
14. The method of claim 11, further comprising:
obtaining playlist information associated With media ?les
stored in the persistent storage location;
using the playlist to determine Which of the media ?les
Will be the read from the persistent storage location and
stored in the volatile storage location during playing of
the ?rst media ?le; and
reading from the persistent storage location and storing in
the volatile storage location at least some the deter
mined media ?les during playing of the ?rst media ?le.
15. The method of claim 11 Wherein reading and storing
the portion of the additional media ?le is performed using a
media player that operates during the reduced poWer mode,
and Wherein playing the stored portion of the additional
media ?le is performed With a media application different
from and controlled by the media player.
16. The method of claim 11, further comprising:
presenting playlist information on a user interface of a
loW poWer display of the portable computer during
playing of a media ?le during the reduced poWer mode;
and
applying playing-related commands received via the user
interface on the loW poWer display to a background
media application that performs the playing of media
?les.
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement