throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2004/0210752 A1
`(43) Pub. Date: Oct. 21, 2004
`
`Rao
`
`US 20040210752A1
`
`(54) ELECTRONIC DEVICE SUPPORTING
`MULTIPLE UPDATE AGENTS
`
`(52) us. Cl.
`
`................................................. 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, IL 60661
`
`(21) Appl. No.:
`
`10/765,817
`
`(22)
`
`Filed:
`
`Jan. 27, 2004
`
`Related US. Application Data
`
`(60) Provisional application No. 60/446,494, filed on Feb.
`11, 2003.
`
`Publication Classification
`
`(51)
`
`Int. Cl.7 ..................................................... G06F 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 employ at least one update agent or 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.
`
`
`
`Non-Volatile
`
`Memory
`
`Mobile Handset
`
`Bose Exhibit 1040
`
`Bose v. Koss
`
`

`

`Patent Application Publication Oct. 21, 2004 Sheet 1 0f 4
`
`US 2004/0210752 A1
`
`{105
`
`121 125
`
`Non-Volatile
`Memory
`
`111
`
`Mobile Handset
`
`107
`
`Figure 1
`
`

`

`Patent Application Publication Oct. 21, 2004 Sheet 2 0f 4
`
`US 2004/0210752 A1
`
`203
`
`I 2
`
`05
`
`
`
`Determine if more
`
`207
`
`than one UA available
`
`Provide User with
`
`209
`
`Choice of UA
`
`Accept User
`Input and
`Process
`
`21 1
`
`Invoke user-
`
`specifiedf UA
`
`
`
`21 3
`
`
`
`
`
`
`
`
`Selectively
`Reboot
`
`21 5
`
`21 7
`
`Figure 2
`
`

`

`Patent Application Publication Oct. 21, 2004 Sheet 3 0f 4
`
`US 2004/0210752 A1
`
`303
`
`I 3
`
`05
`
`
`
`Determine Update
`
`Package Type
`
`307
`
`
`
`
`
`
`Determine UA based
`
`309
`
`on Update
`Package Type
`
`31 1
`
`Invoke UA
`
`31 3
`
`Selectively
`Reboot
`
`31 5
`
`31 7
`
`Figure 3
`
`

`

`Patent Application Publication Oct. 21, 2004 Sheet 4 0f 4
`
`US 2004/0210752 A1
`
`Update
`Agent N Ref
`
`417
`
`405
`
`:-
`
`
`15
`
` 13
`
`Update
`Agent B Ref
`
`Update
`Agent A Ref
`
`Update Agent
`Table
`
`411
`
`Figure 4A
`
`;- 455
`
`UA N
`
`Update
`Agent N Ref
`
`Type for Update
`Agent N
`
`Update Agent Table
`
`UA B
`
`UA A
`
`Update
`Agent B Ref
`
`Type for Update
`Agent B
`
`Update
`Agent A Ref
`
`Type for Update
`Agent A
`
`Figure 4B
`
`

`

`US 2004/0210752 A1
`
`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 US. 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 A1,
`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 US.
`Provisional Patent Application having serial No. 60/249,
`606, filed Nov. 17, 2000 in its entirety.
`
`FEDERALLY SPONSORED RESEARCH OR
`DEVELOPMENT
`
`[0004]
`
`[Not Applicable]
`
`MICROFICHE/COPYRIGHT REFERENCE
`
`[0005]
`
`[Not Applicable]
`
`BACKGROUND OF THE INVENTION
`
`[0006] Electronic devices (i.e., mobile electronic devices
`having software/firmware), for example, mobile cellular
`phones, personal digital assistants (PDA’s), pagers, MP3
`players, digital cameras, etc. often contain firmware and/or
`application software that are either provided by the manu-
`facturers of the electronic devices, telecommunication car-
`riers, or third parties. These firmware and application soft-
`ware often contain bugs. New versions (updates) of the
`firmware and software are periodically released to fiX the
`bugs, introduce new features, or both.
`
`[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 some aspects of the present invention as set forth in the
`remainder of the present application With reference to the
`drawings appended hereto.
`
`SUMMARY OF 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 embodiment according 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-
`[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 embodiment according 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.
`
`In an embodiment according to the present inven-
`[0013]
`tion, the method may further comprise executing an update
`application loader, invoking a boot initialization code, deter-
`mining a list of available update agents and corresponding
`updates, and determining Whether the electronic device
`needs to be updated by evaluating the list of available update
`agents and corresponding updates.
`
`In an embodiment according to the present inven-
`[0014]
`tion,
`the method may further comprise determining an
`update agent to invoke from among a 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 name of an
`update, to update at least one of firmware, software, device
`components, and device configuration of the electronic
`device.
`
`In an embodiment according to the present inven-
`[0015]
`tion, the method may further comprise maintaining a table of
`update agents in the electronic device. The table of update
`agents maps update types to corresponding update agents.
`The method may also comprise employing the table of
`update agents to determine an update agent adapted to
`process a particular update, and employing the determined
`update agent to process the particular update.
`
`In an embodiment according to the present inven-
`[0016]
`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.
`
`In an embodiment according to the present inven-
`[0017]
`tion, the method may further comprise selecting at least one
`updatc agcnt adapted to process a plurality of available
`updates, and applying the available updates using the
`selected at least one update agent.
`
`In an embodiment according to the present inven-
`[0018]
`tion,
`the method may further comprise maintaining an
`update agent table. The update agent table may comprise at
`least one of names of a plurality of update agents available
`in the electronic device, references to the plurality of update
`agents, and references to locations of the plurality of update
`agents.
`
`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 A1
`
`Oct. 21, 2004
`
`In an embodiment according to the present inven-
`[0020]
`tion, the method may further comprise maintaining 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 electronic
`device.
`
`In an embodiment according 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 map at 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 embodiment according to the present inven-
`[0022]
`tion, type information may further comprise at least one of
`a file extension corresponding to a particular update that an
`update agent is adapted to process and a list of file exten-
`sions corresponding to a plurality of updates that an update
`agent is adapted to process.
`
`In an embodiment according 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 embodiment according 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 memory in 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 embodiment according to the present inven-
`[0026]
`tion, the electronic device may be adapted to reboot after
`update completion.
`
`In an embodiment according 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 embodiment according 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 embodiment according 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 correspond to selecting a
`particular update.
`
`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 whether the electronic device needs to be updated
`by evaluating the list of available update agents and corre-
`sponding updates.
`
`In an embodiment according to the present inven-
`[0031]
`tion, the electronic device may be adapted to determine an
`update agent to invoke from among a 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 name of an
`update, to update at least one of firmware, software, device
`components, and device configuration of the electronic
`device.
`
`In an embodiment according to the present inven-
`[0032]
`tion, the electronic device may be adapted to maintain a
`table of update agents in the electronic device. The table of
`update agents may map update types to corresponding
`update agents. The electronic device may also be adapted to
`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 process the particular update.
`
`In an embodiment according to the present inven-
`[0033]
`tion,
`the electronic device may be adapted to conduct a
`security check to determine whether a selected update agent
`is permitted to update sections of non-volatile memory
`associated with a particular update.
`
`In an embodiment according 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 embodiment according 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 names of a plurality of update agents available
`in the electronic device, references to the plurality of update
`agents, and references to locations of the plurality of update
`agents.
`
`In an embodiment according 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 embodiment according 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 map at least one of update agent names, update
`agcnt addrcss locations, type information corresponding to
`updates that particular update agents are adapted to process,
`and availability of particular update agents.
`
`In an embodiment according to the present inven-
`[0030]
`tion, the electronic device may be adapted to execute an
`
`In an embodiment according to the present inven-
`[0039]
`tion, type information may further comprise at least one of
`
`

`

`US 2004/0210752 A1
`
`Oct. 21, 2004
`
`a file extension corresponding to a particular update that an
`update agent is adapted to process and a list of file exten-
`sions corresponding to a plurality of updates that an update
`agent is adapted to process.
`
`In an embodiment according 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 boot initialization code. The update application
`loader may be adapted to be executed at one of startup and
`reboot. The update application loader may also 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 embodiment according 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 embodiment according 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 embodiment according to the present inven-
`[0044]
`tion, performing an update may comprise installing a second
`update agent. The mobile electronic device may be adapted
`to invoke a 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.
`
`[0046] Aspects of the present invention may be found in a
`mobile electronic device comprising a boot initialization
`code and an update application loader. The mobile electronic
`device, during at least one of reboot and power up, may be
`adapted to execute the boot initialization code. The update
`application loader may also be adapted to determine whether
`the mobile electronic device needs to be updated. The update
`application loader may be adapted to employ at least one of
`a plurality of update agents, each of the update agents
`comprising at least one associated update. The update appli-
`cation loader may also be adapted to determine an update
`agent to perform the at least one associated update and select
`the update agent from among the plurality of available
`update agents.
`
`In an embodiment according 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
`
`invention, its advantages, and the objects obtained by its use,
`reference should be made to the drawings which form a
`further part hereof, and to accompanying descriptive matter,
`in which there are
`illustrated and described specific
`examples of an apparatus in accordance with the invention.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0049] FIG. 1 is a block diagram 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 embodiment of 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 embodiment of 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
`107, may be capable of employing one of several available
`update agents to update at least one of software and firmware
`in the mobile handset 107. An update agent may be a device
`or software application that is capable of updating firmware,
`an operating system, or other application software, etc. An
`update agent may also be adapted to interact with one or
`more memory devices. The electronic device may comprise
`random access memory (RAM) 125 and non-volatile
`memory 111. The non-volatile memory 111 may comprise a
`plurality of software components, such as for example,
`update application loader 127, update agent A 113, update
`agent B 115, firmware 117, operating system (OS) software
`119, and other components 121.
`
`[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 A1
`
`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
`may also be capable of rebooting the electronic device, after
`update completion, as necessary.
`
`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
`available update agents to the end-user. Each of the update
`agents may correspond to a list of available updates or a
`single update. The electronic device may prompt the end-
`user to select at least one of the update agents/updates for
`update processing.
`
`[0058] During power-up or reboot, the electronic device
`may execute update application loader 127. Update appli-
`cation loader 127 may invoke boot initialization code before
`determining whether the electronic device needs to be
`updated. The update application loader 127 may also deter-
`mine a 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 may select 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.
`
`In an embodiment according to the present inven-
`[0059]
`tion, during power-up or reboot, the electronic device may
`execute the update application loader 127 after invoking the
`boot initialization code. The update application loader 127
`may determine the appropriate update agent to invoke from
`among a plurality of available update agents, such as, for
`example, update agent A 113 and update agent B 115, based
`upon the type of update selected or displayed for selection,
`or based upon the particular characteristics of the update
`selected or displayed for selection. The name of the update,
`or a sub-component of the name of 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 embodiment according 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.
`
`[0061] FIG. 2 is a flow chart 203 illustrating an exemplary
`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 makes reference to elements illustrated
`in FIG. 1. FIG. 2 illustrates an embodiment wherein an
`
`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 when the 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.
`
`[0062] The update application loader 127 may then deter-
`mine if more than one update agent is available (block 207)
`and assemble a displayable list of update agent names. The
`displayable list of update agent names may be displayed and
`the end-user may be prompted to select at least one of the
`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).
`
`[0063] The selected update agent, such as for example,
`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 determined to 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
`exemplary method of operating an electronic device accord-
`ing to an embodiment of the present invention. The follow-
`ing description of FIG. 3 makes reference to elements
`illustrated in FIG. 1. The electronic device, for example
`mobile handset 107, may select at least one of a plurality of
`available update agents to apply one or more available
`updates. Processing is initiated (block 305) when the elec-
`tronic device is rebooted or powered up, update application
`loader 127 is executed, and boot initialization code deter-
`mines that an update is necessary.
`
`[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
`which of the 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 embodiment according 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 A1
`
`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 reboot of 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
`memory of 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 references to a plurality
`of update agents currently available in the electronic device,
`for example mobile handset 107. The update agent table 411
`may also comprise references to the location of a plurality of
`update agents, such as for example, update agentAreference
`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 incorporated into 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 old entries, etc., for
`example.
`
`[0069] FIG. 4B is a block diagram 455 illustrating another
`exemplary update agent table 461 located in non-volatile
`memory of 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 references to a plurality
`of update agents currently available in the electronic device,
`for example, mobile handset 107. The update agent table 461
`may also maintain mapping between update agent names,
`the update agent corresponding address location (i.e., where
`the update agent is located in non-volatile memory), and the
`type of update(s) that the update agent is adapted to 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 may also be a 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 name of an update agent to the location where
`
`the update agent resides in memory, and also 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 The elec-
`tronic device may also prompt and facilitate an end-user in
`selecting an appropriate update agent fr

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