throbber
as) United States
`a2) Patent Application Publication co) Pub. No.: US 2004/0210752 Al
`(43) Pub. Date: Oct. 21, 2004
`
`Rao
`
`US 20040210752A1
`
`(54) ELECTRONIC DEVICE SUPPORTING
`MULTIPLE UPDATE AGENTS
`
`(52) US. Che
`
`secssssssstssssessstsntsntsnsistsee 713/2; 713/100
`
`(76)
`
`Inventor: Bindu Rama Rao, Laguna Niguel, CA
`(US)
`
`(57)
`
`ABSTRACT
`
`Correspondence Address:
`MCANDREWS HELD & MALLOY, LTD
`500 WEST MADISON STREET
`SUITE 3400
`CHICAGO,IT. 60661
`
`(21) Appl. No.:
`
`10/765,817
`
`(22)
`
`Filed:
`
`Jan. 27, 2004
`
`Related U.S. Application Data
`
`(60) Provisional application No. 60/446,494, filed on Feb.
`1, 2003.
`
`Publication Classification
`
`(SL)
`
`Inte CU? oaccscsssesssesssnsssssseenssntnasvesvee GO6F 9/445
`
`Disclosed herein is a method for updating at least one of
`firmware, software, device components, and device configu-
`ration in an electronic device. The method and apparatus
`may employat least one update agentor a plurality of update
`agents. An electronic device supporting multiple update
`agents may be adapted to prompt and facilitate an end-user
`to select at least one of the update agents to process update
`information contained in at least one update. The electronic
`device may also be adapted to prompt and facilitate an
`end-user to apply a particular update agent to update at least
`one of firmware, software, device components, device con-
`figuration, device information, and device parameters. The
`electronic device may also be adapted to prompt and facili-
`tate an end-user to select an appropriate update agent from
`a plurality of available update agents based upon some
`information, such as for example, the type of update that the
`update agent is adapted to perform.
`
`Mobile Handset
`
`Firmware
`
`Update App.
`Loader
`
`Non-Volatile
`Memory
`
`Bose Exhibit 1040
`
`Bose v. Koss
`
`

`

`Patent Application Publication Oct. 21,2004 Sheet 1 of 4
`
`US 2004/0210752 A1
`
`CT05
`
`121 125
`
`Non-Volatile
`Memory
`
`Update App.
`Loader
`
`127
`
`4411
`
`Mobile Handset
`
`107
`
`Figure 1
`
`

`

`Patent Application Publication Oct. 21,2004 Sheet 2 of 4
`
`US 2004/0210752 A1
`
`203s
`
`than one UA available
`
`Provide User with
`Choice of UA
`
`207
`
`209
`
`Accept User
`Input and
`Process
`
`211
`
`213
`
`Invoke user-
`specifiedf UA
`
`205 Determine if more
`
`215
`
`217
`
`Selectively
`Reboot
`
`Figure 2
`
`

`

`Patent Application Publication Oct. 21,2004 Sheet 3 of 4
`
`US 2004/0210752 A1
`
`303s
`
`307
`
`309
`
`Package Type
`
`Determine UA based
`on Update
`Package Type
`
`Security
`Check
`
`311
`
`313
`
`Invoke UA
`
`305 Determine Update
`
`315
`
`317
`
`Selectively
`Reboot
`
`Figure 3
`
`

`

`Patent Application Publication Oct. 21,2004 Sheet 4 of 4
`
`US 2004/0210752 A1
`
`Update
`Agent N Ref
`
`417 a
`
`405
`
`
`
`
`
`
`
`Update
`Agent B Ref
`
`Update
`Agent A Ref
`
`Update Agent
`Table
`
`Figure 4A
`
`co 455
`
`Update Agent Table
`
`Type for Update
`Agent B
`Type for Update
`Agent A
`
`UAB
`
`UAA
`
`Update
`Agent B Ref
`Update
`Agent A Ref
`
`Figure 4B
`
`

`

`US 2004/0210752 Al
`
`Oct. 21, 2004
`
`ELECTRONIC DEVICE SUPPORTING MULTIPLE
`UPDATE AGENTS
`
`CROSS-REFERENCE TO OTHER
`APPLICATIONS
`
`[0001] The present application claims the benefit of pri-
`ority of U.S. Provisional Patent Application having serial
`No. 60/446,494,filed on Feb. 11, 2003, and hereby incor-
`porates herein by reference the complete subject matter
`thereof in its entirety.
`
`[0002] The present application also hereby incorporates
`herein by reference the complete subject matter of PCT
`Application having publication number WO 02/41147 Al,
`and having application number PCT/US01/44034,filed on
`Nov. 19, 2001, in its entirety.
`
`[0003] The present application also hereby incorporates
`herein by reference the complete subject matter of U.S.
`Provisional Patent Application having serial No. 60/249,
`606, filed Nov. 17, 2000 inits entirety.
`
`FEDERALLY SPONSORED RESEARCH OR
`DEVELOPMENT
`
`[0004]
`
`[Not Applicable]
`
`MICROFICHE/COPYRIGHT REFERENCE
`
`[0005]
`
`[Not Applicable]
`
`BACKGROUND OF THE INVENTION
`
`In an embodimentaccording to the present inven-
`[0010]
`tion, the method may further comprise one of resuming and
`commencing characteristic electronic device operation after
`update completion.
`
`In an embodiment according to the present inven-
`{0011]
`tion, the method may further comprise detecting a need to
`update at least one of firmware, software, device compo-
`nents, and device configuration during one of power-up and
`reboot.
`
`In an embodimentaccording to the present inven-
`{0012]
`tion, the method may further comprise displaying a list of
`available updates. The plurality of update agents may each
`be adapted to process particular updates. Prompting an
`end-user to select a particular update agent may correspond
`to prompting an end-user to apply a particular update.
`[0013]
`In an embodimentaccording to the present inven-
`tion, the method may further comprise executing an update
`application loader, invoking a bootinitialization code, deter-
`mining a list of available update agents and corresponding
`updates, and determining whether the electronic device
`needsto be updated by evaluating the list of available update
`agents and corresponding updates.
`[0014]
`In an embodimentaccording to the present inven-
`tion,
`the method may further comprise determining an
`update agent to invoke from amonga plurality of available
`update agents based upon at least one of an update type, a
`name of an update, and a sub-component of a nameof an
`update, to update at least one of firmware, software, device
`components, and device configuration of the electronic
`device.
`
`[0006] Electronic devices (i.e., mobile electronic devices
`In an embodimentaccording to the present inven-
`{0015]
`having software/firmware), for example, mobile cellular
`tion, the method mayfurther comprise maintainingatable of
`phones, personal digital assistants (PDA’s), pagers, MP3
`update agents in the electronic device. The table of update
`players, digital cameras, etc. often contain firmware and/or
`agents maps update types to corresponding update agents.
`application software that are either provided by the manu-
`The method may also comprise employing the table of
`facturers of the electronic devices, telecommunication car-
`update agents to determine an update agent adapted to
`riers, or third parties. These firmware and application soft-
`process a particular update, and employing the determined
`ware often contain bugs. New versions (updates) of the
`update agent to process the particular update.
`firmware and software are periodically released to fix the
`[0016]
`In an embodimentaccording to the present inven-
`bugs, introduce new features, or both.
`tion, the method may further comprise conducting a security
`check to determine whether a selected update agent
`is
`permitted to update sections of non-volatile memory asso-
`ciated with a particular update.
`{0017]
`In an embodimentaccording to the present inven-
`tion, the method may further comprise selecting at least one
`update agent adapted to process a plurality of available
`updates, and applying the available updates using the
`selected at least one update agent.
`{0018]
`In an embodimentaccording to the present inven-
`tion,
`the method may further comprise maintaining an
`update agent table. The update agent table may comprise at
`least one of namesofa plurality of update agents available
`in the electronic device, references to the plurality of update
`agents, and referencesto locations of the plurality of update
`agents.
`
`[0007] Further limitations and disadvantages of conven-
`tional and traditional approaches will become apparent to
`one of skill in the art, through comparison of such systems
`with someaspects of the present invention as set forth in the
`remainder of the present application with reference to the
`drawings appendedhereto.
`
`SUMMARYOF THE INVENTION
`
`[0008] Aspects of the present invention may be found in a
`method of updating at least one of firmware and software in
`an electronic device comprising a plurality of update agents.
`The method may comprise displaying a list of available
`update agents to an end-user. The update agents may be
`associated with at least one update. The method may also
`comprise prompting the end-user to select an update agent,
`invoking the selected update agent based upon information
`corresponding to a particular update, and performing the
`particular update.
`
`In an embodimentaccording to the present inven-
`[0009]
`tion, the method may further comprise rebooting the elec-
`tronic device after update completion.
`
`In an embodiment according to the present inven-
`[0019]
`tion,
`the method may further comprise determining an
`update agent to perform an update, obtaining a reference to
`the update agent by evaluating an update agent table, and
`performing at least one update associated with the update
`agent.
`
`

`

`US 2004/0210752 Al
`
`Oct. 21, 2004
`
`In an embodimentaccording to the present inven-
`[0020]
`tion, the method mayfurther comprise maintaininga table of
`update agents. The table of update agents may comprise
`entries providing information corresponding to update
`agents and associated updates available in the electronic
`device.
`
`In an embodimentaccording to the present inven-
`[0021]
`tion,
`the method may further comprise maintaining an
`update agent table comprising references to a plurality of
`update agents in the electronic device. The update agent
`table may mapat least one of update agent names, update
`agent address locations, type information corresponding to
`updates that particular update agents are adapted to process,
`and availability of particular update agents.
`
`update application loader during one of power-up and
`reboot, invoke a boot initialization code, determine a list of
`available update agents and corresponding updates, and
`determine whetherthe electronic device needs to be updated
`by evaluating the list of available update agents and corre-
`sponding updates.
`
`In an embodimentaccording to the present inven-
`[0031]
`tion, the electronic device may be adapted to determine an
`update agent to invoke from amonga plurality of available
`update agents based upon at least one of an update type, a
`name of an update, and a sub-component of a nameof an
`update, to update at least one of firmware, software, device
`components, and device configuration of the electronic
`device.
`
`In an embodimentaccording to the present inven-
`[0032]
`In an embodimentaccording to the present inven-
`[0022]
`tion, the electronic device may be adapted to maintain a
`tion, type information may further comprise at least one of
`a file extension corresponding, to a particular update that an
`table of update agents in the electronic device. The table of
`
`update agent is adapted to process andalist of file exten- update agents may map update types to corresponding
`sions corresponding to a plurality of updates that an update
`update agents. The electronic device may also be adapted to
`agent is adapted to process.
`employ the table of update agents to determine an update
`agent adapted to process a particular update and to employ
`the determined update agent to processthe particular update.
`
`In an embodimentaccording to the present inven-
`[0023]
`tion, the electronic device may comprise one of a mobile
`cellular phone handset, a personal digital assistant, a pager,
`an MP3 player, and a digital camera.
`
`[0024] Aspects of the present invention may be found in
`an electronic device comprising a plurality of update agents
`in non-volatile memory. Each of the update agents may be
`adapted to update at least one of firmware, software, device
`configuration, and device components. The electronic
`device may also comprise random access memory, and an
`update application loader.
`
`In an embodimentaccording to the present inven-
`[0025]
`tion, the electronic device may be adapted to display a list
`of available update agents from the plurality of update
`agents in non-volatile memoryin the electronic device to an
`end-user, prompt the end-user to select an update agent,
`invoke the selected update agent based upon information
`corresponding to a particular update, and performing the
`particular update.
`
`In an embodimentaccording to the present inven-
`[0026]
`tion, the electronic device may be adapted to reboot after
`update completion.
`
`In an embodimentaccording to the present inven-
`[0027]
`tion, the electronic device may be adapted to one of resume
`and commence characteristic electronic device operation
`after update completion.
`
`In an embodimentaccording to the present inven-
`[0028]
`tion, the electronic device may be adapted to detect a need
`to update at least one of firmware, software, device con-
`figuration, and device components during one of power-up
`and reboot.
`
`In an embodimentaccording to the present inven-
`[0029]
`tion, the electronic device may be adapted to display a list
`of available updates. Each of the plurality of update agents
`may be adapted to process a particular update. An end-user
`may be prompted to select a particular update agent. Select-
`ing a particular update agent may correspondto selecting a
`particular update.
`
`In an embodimentaccording to the present inven-
`[0033]
`tion,
`the electronic device may be adapted to conduct a
`security check to determine whethera selected update agent
`is permitted to update sections of non-volatile memory
`associated with a particular update.
`
`In an embodimentaccording to the present inven-
`[0034]
`tion, the electronic device may be adapted to determine an
`update agent adapted to process a plurality of available
`updates and apply the available updates.
`
`In an embodimentaccording to the present inven-
`[0035]
`tion, the electronic device may be adapted to maintain an
`update agent table. The update agent table may comprise at
`least one of namesofa plurality of update agents available
`in the electronic device, references to the plurality of update
`agents, and referencesto locations of the plurality of update
`agents.
`
`In an embodimentaccording to the present inven-
`[0036]
`tion, the electronic device may be adapted to determine an
`update agent to perform an update, obtain a reference to the
`update agent by evaluating an update agent table, invoke the
`update agent, and perform at least one update associated
`with the update agent.
`
`In an embodiment according to the present inven-
`[0037]
`tion, the electronic device may be adapted to maintain a
`table of update agents. The table of update agents may
`comprise entries providing information corresponding to
`update agents and associated updates available in the elec-
`tronic device.
`
`In an embodimentaccording to the present inven-
`[0038]
`tion, the electronic device may be adapted to maintain an
`update agent table comprising references to a plurality of
`update agents in the electronic device. The update agent
`table may mapat least one of update agent names, update
`agent address locations, type information corresponding to
`updates that particular update agents are adapted to process,
`and availability of particular update agents.
`
`In an embodimentaccording to the present inven-
`[0030]
`tion, the electronic device may be adapted to execute an
`
`In an embodimentaccording to the present inven-
`[0039]
`tion, type information may further comprise at least one of
`
`

`

`US 2004/0210752 Al
`
`Oct. 21, 2004
`
`a file extension corresponding to a particular update that an
`invention, its advantages, and the objects obtained byits use,
`
`update agent is adapted to process andalist of file exten- reference should be made to the drawings which form a
`sions corresponding to a plurality of updates that an update
`further part hereof, and to accompanying descriptive matter,
`agent is adapted to process.
`in which there are
`illustrated and described specific
`examples of an apparatus in accordance with the invention.
`
`In an embodimentaccording to the present inven-
`[0040]
`tion, the electronic device may comprise one of a mobile
`cellular phone handset, a personal digital assistant, a pager,
`an MP3 player, and a digital camera.
`
`[0041] Aspects of the present invention may be found in a
`mobile electronic device comprising an update application
`loader and a bootinitialization code. The update application
`loader may be adapted to be executed at one of startup and
`reboot. The update application loader mayalso be adapted to
`invoke the boot initialization code, determine whether the
`mobile electronic device needs to be updated, locate an
`update agent, and invoke the located update agent to update
`at least one of firmware and software in the mobile elec-
`tronic device.
`
`In an embodimentaccording to the present inven-
`[0042]
`tion, the located update agent may be an application. The
`update application loader may invoke the located update
`agent after determining that at least one of firmware and
`software needs to be updated.
`
`In an embodimentaccording to the present inven-
`[0043]
`tion, the update application loader may be adapted to invoke
`a located update agent and be updated by the located update
`agent.
`
`In an embodimentaccording to the present inven-
`[0044]
`tion, performing an update may compriseinstalling a second
`update agent. The mobile electronic device may be adapted
`to invokea first update agent to perform the update installing
`the second update agent in the mobile electronic device.
`
`In an embodiment according to the present inven-
`[0045]
`tion, the update application loader may be adapted to be
`updated to a new version by invoking an update agent to
`update the update application loader.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0049] FIG.1 isa block diagram illustrating an electronic
`device capable of employingat least one of several available
`update agents to update at least one of software and firmware
`according to an embodimentof the present invention;
`
`[0050] FIG. 2 is a flow chart illustrating an exemplary
`operation of the electronic device according to an embodi-
`ment of the present invention;
`
`{0051] FIG. 3 is a flow chart illustrating an exemplary
`operation of the electronic device according to an embodi-
`ment of the present invention;
`
`[0052] FIG. 4A is a block diagram illustrating an exem-
`plary update agent table located in non-volatile memory of
`an electronic device according to an embodiment of the
`present invention; and
`
`[0053] FIG. 4B is a block diagram illustrating an exem-
`plary update agent table located in a non-volatile memory of
`an electronic device according to an embodiment of the
`present invention.
`
`DETAILED DESCRIPTION OF THE DRAWINGS
`
`[0054] FIG. 1 is a block diagram 105 illustrating an
`electronic device capable of employing at
`least one of
`several available update agents to update at least one of
`software and firmware according to an embodimentof the
`present invention. An electronic device may be for example,
`a mobile electronic device having software/firmware, such
`as, mobile cellular phone handsets, personal digital assis-
`tants (PDA’s), pagers, MP3 players, digital cameras, etc.
`
`[0055] An electronic device, for example mobile handset
`[0046] Aspects of the present invention may be found in a
`107, may be capable of employing one of several available
`mobile electronic device comprising a boot initialization
`update agents to update at least one of software and firmware
`code and an update application loader. The mobile electronic
`in the mobile handset 107. An update agent may be a device
`device, during at least one of reboot and power up, may be
`or software application that is capable of updating firmware,
`adapted to execute the bootinitialization code. The update
`an operating system, or other application software, etc. An
`application loader may also be adapted to determine whether
`update agent may also be adapted to interact with one or
`the mobile electronic device needs to be updated. The update
`more memory devices. The electronic device may comprise
`application loader may be adapted to employat least one of
`random access memory (RAM) 125 and_non-volatile
`a plurality of update agents, each of the update agents
`memory 111. The non-volatile memory 111 may comprise a
`comprising at least one associated update. The update appli-
`plurality of software components, such as for example,
`cation loader may also be adapted to determine an update
`update application loader 127, update agent A 113, update
`agent to perform the at least one associated update and select
`agent B 115, firmware 117, operating system (OS) software
`the update agent from among the plurality of available
`119, and other components 121.
`update agents.
`
`In an embodimentaccording to the present inven-
`[0047]
`tion, the update application loader may be adapted to select
`at least one of the plurality of available update agents based
`upon at least one of a type of update the update agent is
`adapted to perform and a particular characteristic associated
`with a particular update.
`
`[0048] These and various other advantages and features of
`novelty which characterize the invention are pointed out
`with particularity in the claims annexed hereto and that form
`a part hereof. However, for a better understanding of the
`
`[0056] The electronic device may be capable of employing
`an update agent to update firmware 117, OS software 119, or
`other components 121. The electronic device may employ
`more than one update agent, if necessary. The electronic
`device may be capable of displaying a list of available
`update agents to an end-user to solicit or prompt the end-user
`to select a specific update. An update may comprise firm-
`ware/software updates that modify or change the version of
`a particular firmware/software, for example, upgrading to a
`newer version. An update may also add new services to the
`electronic device or delete services, as desired by the service
`
`

`

`US 2004/0210752 Al
`
`Oct. 21, 2004
`
`provider or an end-user. The electronic device may be
`capable of invoking an appropriate update agent based upon
`the update content or characteristics. The electronic device
`mayalso be capable of rebooting the electronic device, after
`update completion, as necessary.
`
`end-user may be provided an opportunity, or be prompted,to
`select at least one of a plurality of available update agents to
`apply update information by employing at least one avail-
`able update. Processing is initiated 205 whenthe electronic
`device is rebooted or powered-up and the update application
`loader 127 is executed and invokes the boot initialization
`
`code. The update application loader 127 may also determine
`update necessity.
`
`In an embodiment according to the present inven-
`[0057]
`tion, the electronic device may detect the need to update at
`least one of firmware and software during power up or
`reboot. The electronic device may also display a list of
`[0062] The update application loader 127 may then deter-
`available update agents to the end-user. Each of the update
`mine if more than one update agentis available (block 207)
`agents may correspond toalist of available updates or a
`and assemble a displayable list of update agent names. The
`single update. The electronic device may prompt the end-
`displayable list of update agent names may be displayed and
`user to select at least one of the update agents/updates for
`the end-user may be prompted to select at least one of the
`update processing.
`available update agents to perform an update (block 209).
`The end-user’s selection may be processed to determine and
`accept the update agent selected by the end-user (block 211).
`
`[0058] During power-up or reboot, the electronic device
`may execute update application loader 127. Update appli-
`cation loader 127 may invoke bootinitialization code before
`determining whether the electronic device needs to be
`updated. The update application loader 127 may also deter-
`minea list of available update agents in the electronic device
`for performing a particular update. For
`the exemplary
`mobile handset 107 of FIG. 1, the list of update agents may
`contain at least a reference to, for example, update agent A
`113 and update agent B 115, and may be displayed to the
`end-user. The end-user mayselect at least one of the update
`agents displayed. The selected update agent may be
`employed to update at least one of firmware, software, and
`device components or configuration in the electronic device.
`The update application loader 127 may also invoke the
`selected update agent, such as for example, update agent A
`113, and transfer control to the selected update agent.
`
`‘The selected update agent, such as for example,
`[0063]
`update agent A 113 of FIG. 1, may be invoked (block 213).
`The update agent selected may access one or more updates
`and update at least one of firmware, software, configuration
`parameters, other components 121, etc., in the electronic
`device. The electronic device may be rebooted. For example,
`if the firmware 117 or operating system 119 has been
`updated, a reboot may be determinedto be necessary. In an
`embodiment according to the present invention, if the other
`components 121 are updated, such as configuration param-
`eters, third-party software, etc., then reboot of the electronic
`device may be determined to be unnecessary. Update related
`processing ends (block 217) and normal operation of the
`electronic device resumes or commences.
`
`[0064] FIG. 3 is a flow chart 303 illustrating another
`In an embodimentaccording to the present inven-
`[0059]
`exemplary method of operating an electronic device accord-
`tion, during power-up or reboot, the electronic device may
`ing to an embodimentof the present invention. The follow-
`execute the update application loader 127 after invoking the
`ing description of FIG. 3 makes reference to elements
`boot initialization code. The update application loader 127
`illustrated in FIG. 1. The electronic device, for example
`may determine the appropriate update agent to invoke from
`mobile handset 107, may select at least one of a plurality of
`amongaplurality of available update agents, such as, for
`available update agents to apply one or more available
`example, update agent A 113 and update agent B 115, based
`updates. Processing is initiated (block 305) when the elec-
`upon the type of update selected or displayed for selection,
`tronic device is rebooted or powered up, update application
`or based upon the particular characteristics of the update
`loader 127 is executed, and boot initialization code deter-
`selected or displayed for selection. The nameof the update,
`mines that an update is necessary.
`or a sub-componentof the nameof the update, may provide
`sufficient information and be used by update application
`loader 127 to determine at
`least one of a plurality of
`available update agents which may be invoked to update at
`least one of firmware, software, and configuration,etc. of the
`electronic device.
`
`In an embodimentaccording to the present inven-
`[0060]
`tion, update agent A 113 for example, may be employed to
`update firmware 117 and operating system 119. The device
`may be rebooted, after update completion. Update agent B
`115, for example, may be used to update other components
`121, such as for example, configuration parameters, gaming
`engines, third-party software, etc. There may not be a need
`to reboot the electronic device after updating these types of
`components.
`
`FIG.2 is a flow chart 203 illustrating an exemplary
`[0061]
`method of operating an electronic device, such as,
`for
`example, the mobile handset 107 of FIG. 1, according to an
`embodiment of
`the present
`invention. The
`following
`description of FIG. 2 makesreference to elementsillustrated
`in FIG. 1. FIG. 2 illustrates an embodiment wherein an
`
`[0065] The update application loader 127 may determine
`if more than one update agent is available and may also
`determine the type of the update to be performed (block
`307). The update application loader 127 may determine
`whichofthe plurality of available update agents are adapted
`to process and apply the particular update type (block 309).
`In an embodiment according to the present invention, the
`name of the update or portions of the name of the update
`may be employed to determine which of the plurality of
`available update agents may be employed to process the
`update.
`
`In an embodimentaccording to the present inven-
`[0066]
`tion, a table of update agents may be maintained, wherein
`the table may map update types to corresponding update
`agents. The table may also be used to determine an appro-
`priate one of the multiple update agents adapted to process
`the update.
`
`[0067] A security check may be conducted to determine
`whether the update agent selected is permitted to update
`sections of non-volatile memory associated with a particular
`
`

`

`US 2004/0210752 Al
`
`Oct. 21, 2004
`
`corresponding update (block 311). The selected update agent
`may be invoked, select one or more updates, and apply the
`corresponding updates (block 313). The electronic device
`may be rebooted (block 315). If firmware 117 or operating
`system software 119 has been updated, a reboot may be
`determined to be necessary. In an embodiment according to
`the present invention, however, if other components 121 are
`updated, such as for example, configuration parameters, a
`third-party software, etc. then rebootof the electronic device
`may be determined to be unnecessary. Update related pro-
`cessing ends (block 317) and normal operation of the
`electronic device resumes or commences.
`
`[0068] FIG. 4A is a block diagram 405 illustrating an
`exemplary update agent table 411 located in non-volatile
`memoryof an electronic device according to an embodiment
`of the present invention. The following description of FIG.
`4A makes reference to elements illustrated in FIG. 1. The
`update agent table 411 may contain referencesto a plurality
`of update agents currently available in the electronic device,
`for example mobile handset 107. The update agent table 411
`may also comprise referencesto the location of a plurality of
`update agents, such as for example, update agent A reference
`413 and update agent B reference 415, for update agents
`such as, update agent A 113 and update agent B 115 of FIG.
`1, located in non-volatile memory 111, respectively. When
`the electronic device determines which update agent should
`be invoked, the electronic device may obtain a reference to
`the selected update agent by employing update agent table
`411, and subsequently invoking the selected update agent.
`When a new update agent is incorporatedinto the electronic
`device, a new entry may be added to the update agent table
`411. The update agent table 411 may also be managed in
`terms of adding new entries and deleting oldentries,etc., for
`example.
`
`FIG.4Bis a block diagram 455illustrating another
`[0069]
`exemplary update agent table 461 located in non-volatile
`memoryof an electronic device according to an embodiment
`of the present invention. The following description of FIG.
`4B makes reference to elements illustrated in FIG. 1. The
`
`update agent table 461 may contain referencesto a plurality
`of update agents currently available in the electronic device,
`for example, mobile handset 107. The update agenttable 461
`may also maintain mapping between update agent names,
`the update agent corresponding addresslocation(i.e., where
`the update agentis located in non-volatile memory), and the
`type of update(s) that the update agent is adaptedto process,
`for all of the available update agents in the electronic device.
`For example, an entry 463 in update agent table 461 may
`provide mapping between the update agent name ‘UAA’, the
`address location ‘Update Agent A ref’, and the type of
`update(s) the update agent is adapted to process. The type
`information may be provided as ‘file extensions’ in an
`embodiment according to the present
`invention. For
`example, the file extension ‘dup’ may correspond to updates
`generated by an update application generator. An update
`application generator may be adapted to determine appro-
`priate update(s) for an electronic device. The type field in
`each entry in the update agent table 461 mayalso bea list
`of file extensions that the update agent is adapted to process
`in an embodiment according to the present invention.
`
`[0070] Other structures and schemas are also contem-
`plated for update agent table 461. An update agent table 461
`may map the nameof an update agentto the location where
`
`the update agent resides in memory, andalso to the type of
`update(s)
`the update agent
`is adapted to process,
`as
`described above. An electronic device supporting multiple
`update agents may prompt and facilitate an end-user in
`selecting at least one update agent for processing a particular
`update(s). The electronic device may also subsequently
`apply an update to at least one of firmware, software, or
`device configuration, etc. in the electronic device Theelec-
`tronic device may also prompt and facilitate an end-user in
`selecting an appropriate update agent from a plurality of
`available update agents based upon update information, such
`as for example, the type of update(s) that the update agent
`may be adapted to perform.
`
`{00

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

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

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket