throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2006/0026304 A1
`Price
`(43) Pub. Date:
`Feb. 2, 2006
`
`US 200600263O4A1
`
`(54) SYSTEM AND METHOD FOR UPDATING
`SOFTWARE IN ELECTRONIC DEVICES
`
`(76) Inventor: Robert M. Price, Seattle, WA (US)
`Correspondence Address:
`BLACKLOWE & GRAHAM, PLLC
`701 FIFTHAVENUE
`SUTE 4800
`SEATTLE, WA 98104 (US)
`(21) Appl. No.:
`11/124,366
`
`(22) Filed:
`
`May 4, 2005
`
`Related U.S. Application Data
`(60) Provisional application No. 60/567,903, filed on May
`4, 2004.
`
`Publication Classification
`
`(51) Int. Cl.
`(2006.01)
`G06F I3/10
`(52) U.S. Cl. .................................................................. 710/8
`(57)
`ABSTRACT
`A System and method for communicating with one or more
`Software-controlled devices.
`
`- -
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`- - - - - - - - - - - - - - - - - - - - - - - - - - -
`4. O O
`Receive Software
`Update
`404
`
`Connect and Activate
`Device
`410
`
`
`
`Build Software Device
`Database 408
`
`Software Update
`Required?
`412
`
`Retreive and load software update to device
`
`416
`
`Use Device
`
`1
`
`APPLE 1009
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 1 of 11
`
`US 2006/0026304 A1
`
`O
`N
`
`-
`
`8
`
`3
`
`:
`
`s
`
`/ 3
`
`
`
`2
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 2 of 11
`
`US 2006/0026304 A1
`
`
`
`3
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 3 of 11
`
`US 2006/0026304 A1
`
`- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
`Connect Device to
`200
`Coordinating
`Computer 204
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Register Device
`
`208
`
`
`
`
`
`
`
`Compare Device Software
`Versions to Available Software
`Database
`210
`
`Software Update
`Required?
`21
`
`Acquire software and load into coordinating Computer
`216
`
`w
`
`Deliver software update from coordination
`computer to software-controlled device
`
`220
`
`Use Device
`
`4
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 4 of 11
`
`US 2006/0026304 A1
`
`
`
`ldentify device to receive software updates
`
`204
`
`204-2
`
`Password protect identified devices
`
`- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
`
`Fig. 4
`
`5
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 5 of 11
`
`US 2006/0026304 A1
`
`
`
`210
`
`Activate Device
`
`Operate current version software
`
`Register device software
`
`Fig. 5
`
`6
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 6 of 11
`
`US 2006/0026304 A1
`
`
`
`210
`
`Ascertain Device Type
`
`Sort Device into Device Groups
`
`210-10
`Associate Software Versions with Device Groups
`
`ASSociate Software Versions with Device Models
`
`210-14
`
`------------------------------------
`
`Fig. 6
`
`7
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 7 of 11
`
`US 2006/0026304 A1
`
`- - - - - - - - - - - - - - - - - - -
`- - - - - - - - - - - -
`400
`Receive Software
`Update
`
`404
`
`Begin
`402
`
`
`
`Connect and Activate
`Device
`410
`
`Build Software Device
`Database
`408
`
`
`
`
`
`
`
`Software Update
`Required?
`412
`
`Retreive and load software update to device
`
`416
`
`Use Device
`
`424
`
`End
`428
`
`Fig. 7
`
`8
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 8 of 11
`
`US 2006/0026304 A1
`
`o
`
`
`
`404-2
`Coordinating computer communicates with software entity
`
`404
`
`404-6
`Coordinating computer receives software upgrade for device
`
`Fig. 8
`
`9
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 9 of 11
`
`US 2006/0026304 A1
`
`408-2
`Associate Software Versions with Device Groups
`
`408
`
`Associate Software Versions with Device models
`
`408-6
`
`to - - - - - - - - - - - - - - - - - - - - -o an - - - - - - - - - - -
`
`Fig. 9
`
`P
`
`
`
`
`
`ldentify device to receive software updates
`
`410
`
`41 O-2
`
`Password protect identified devices
`
`- - - - - - - - - - - - - - - - - - - - - - - -
`
`Fig. 10
`
`10
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 10 of 11
`
`US 2006/0026304 A1
`
`
`
`416
`
`Deliver software updates
`
`416-6
`Replace embedded software with current version
`
`
`
`s
`
`e
`
`e
`
`Fig.11
`
`11
`
`

`

`Patent Application Publication Feb. 2, 2006 Sheet 11 of 11
`
`US 2006/0026304 A1
`
`
`
`-
`
`3
`
`s
`
`3
`
`s /
`
`
`
`s
`
`wse O
`
`12
`
`

`

`US 2006/0026304 A1
`
`Feb. 2, 2006
`
`SYSTEMAND METHOD FOR UPDATING
`SOFTWARE IN ELECTRONIC DEVICES
`
`PRIORITY CLAIM
`0001. This application claims priority to U.S. Provisional
`Application Ser. No. 60/567,903 filed May 4, 2004, incor
`porated by reference in its entirety herein.
`
`COPYRIGHT NOTICE
`0002 This disclosure is protected under United States
`and International Copyright Laws. (C) 2005 Robert M. Price.
`All Rights Reserved. A portion of the disclosure of this
`patent document contains material which is Subject to copy
`right protection. The copyright owner has no objection to the
`facsimile reproduction by anyone of the patent document or
`the patent disclosure, as it appears in the Patent and Trade
`mark Office patent file or records, but otherwise reserves all
`copyright rights whatsoever.
`
`FIELD OF THE INVENTION
`0003. This invention relates generally to collecting data
`from, Sending data to, and/or updating Software or digital
`data in electronic devices.
`
`BACKGROUND OF THE INVENTION
`0004 Digital-based devices require software in order to
`interact with other devices, store, and manipulate informa
`tion and to perform its designed task. If the Software is
`deficient or otherwise corrupted, generally So is the ability of
`the device to reliably operate. Digital-based devices often
`require updated Software versions in order to fix poorly
`performing Software that originally was Supplied with the
`device, commonly referred to as Software patches. Other
`Software patches are obtained in order to prevent introduc
`tion of, repair, counter intervene, or otherwise eliminate
`malevolent code hacked in by Vandal Software authors.
`Other Software updating includes version replacement to
`optimize performance and/or broaden utility over what a
`customer had been Satisfactorily using, or introduction of
`additional Software modules to a device. Furthermore, addi
`tion of new data other than executable Software onto a
`device may be useful, for example to add new map data to
`a personal digital assistant or new music to a portable
`music-playing device.
`0005 Digital devices vary in their complexity. Compara
`tively simple devices require only a few hundred lines of
`machine code in an EEPROM (electrically erasable pro
`grammable read-only memory) as commonly found in a
`microwave oven or coffee maker with a simple keypad or a
`timer, and as Such can Support little modification to their
`Software. Moderately complex devices contain a Substantial
`amount of Software, but have no provision for making
`Software updates Simple or notifying the customer when
`they might be necessary. Complex digital devices require
`microprocessors that Sport only the Simplest Software, yet
`require firmware, an operating System, or other device
`specific software. Examples of such devices include DSL
`modems, cable modems, network routers, wireleSS acceSS
`points, digital cameras, MP3 or other music and Video
`players, memory card readers, combination printer/Scanner/
`copier devices, personal digital assistants, certain cellular
`phones, portable game-playing Systems, GPS receivers,
`
`other computers including Special-purpose computerS Such
`as dedicated word processing or calculation or entertainment
`computers, and combination devices which incorporate a
`plurality of one or more of these functions. Additional
`examples of Such devices which are not currently widely
`available include common home and kitchen appliances
`with added Software capability and even running Shoes with
`a microprocessor recently introduced to consumers. These
`moderately complex digital devices require interactions of
`the device user or purchaser to determine if Software updates
`are available, obtain (request and download) Software
`updates for the device, and/or to perform authentication or
`authorization to updated the device.
`0006 These devices often require multiple sessions by a
`user to Search, retrieve, and transfer the current Software
`updates for a device on a device-by-device basis. Such
`manual Search and retrieve process presents a laborious and
`inconvenient burden to the device end-user or owner. In the
`current State of the art Such Software updates are therefore
`infrequently performed, frequently resulting in replacement
`of faulty products, customer return of non-functional prod
`ucts, or telephone-based Support calls to troubleshoot prob
`lems which are time-consuming and expensive to both
`user-purchasers and manufacturers. Furthermore, because
`the process of obtaining device Software and installing it is
`limited, the market for third-party Software add-ons or
`improvements for Such devices is very limited in Scope.
`
`SUMMARY OF THE INVENTION
`0007 Particular embodiments include a system and
`method to enable a user-controlled proxy System or coordi
`nating computer to automatically or Semi-automatically
`communicate with multiple devices, determine the currently
`operating Software contents and versions for each device,
`and automatically or Semi-automatically upgrade each
`device with updated Software without requiring user inter
`vention. The Software may include communication, operat
`ing System or application-specific program codes that
`improve a given device's designed function.
`0008. The coordinating computer is able to search for
`updating Software upon connection with a given device, or
`alternatively, receive and Store updated Software presented
`by an originating Software entity, and automatically deliver
`the Software to a given device upon the device's re-connec
`tion to the proxy System.
`0009. The devices may be homogenously similar, or
`Substantially diverse and heterogeneous. The homogenous
`or heterogeneous digital devices may be in continuous or
`intermittent Signal communication with the proxy-coordi
`nating computer by Wired or wireleSS connections. The
`proxy computer is Similarly accessible by wired and wireleSS
`connection, and acts as an intermediate node for the Software
`updating of devices that may not necessarily have the
`capability to update themselves.
`0010 Alternate embodiments of the system maintain the
`elements of one or more devices and a coordinating com
`puter and employ these elements for other purposes related
`to management of devices. The System as described above is
`preferably optimized for updating Software. The pursuit of
`Such other purposes may include collection of other types of
`device data.
`
`13
`
`

`

`US 2006/0026304 A1
`
`Feb. 2, 2006
`
`These and similar data assist in enabling one or
`0.011
`more or any combination of the following and other actions:
`Software updates, timely product Support, warranty admin
`istration, inventory or insurance or depreciation of devices,
`market research, Sales and promotion of device upgrades or
`replacements or of additional devices or device Software or
`Services or device accessories, design research for improve
`ment of reliability or functionality or compatibility or ease
`of use of current and future devices, and competitive analy
`SS.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`0012. The preferred and alternative embodiments of the
`present invention are described in detail below with refer
`ence to the following drawings.
`0013 FIG. 1 is a schematic of a particular embodiment
`of the Software updating System;
`0.014
`FIG. 2 is a schematic of an alternate embodiment
`of the Software updating System;
`0.015
`FIG. 3 is a schematic of a particular embodiment
`of a method for updating Software in devices,
`0016 FIG. 4 is an expansion of the Connect process
`block of FIG. 3;
`0017 FIG. 5 is an expansion of the Register process
`block of FIG. 3;
`0.018
`FIG. 6 is an expansion of the Compare Software
`Version block of FIG. 3;
`0019 FIG. 7 is an alternate embodiment of a method for
`updating Software in devices,
`0020 FIG. 8 is an expansion of the Receive Software
`Update block of FIG. 7;
`0021 FIG. 9 is an expansion of the Build software
`Device Database block of FIG. 7; and
`0022 FIG. 10 is an expansion of the Connect and Acti
`vate Device block of FIG. 7; and
`0023 FIG. 11 is an expansion of the Retrieve and Load
`Software block of FIG. 7.
`0024 FIG. 12 is an alternate embodiment of a software
`updating System.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`0.025 To facilitate the system, the user will designate one
`device with user interface and communications capabilities
`(typically a PC, but a TiVo-like device, Palm, or Pocket PC
`could work as well, for example). This device serves as a
`central point of communications as a “coordinating PC, and
`hereafter referred to as the proxy System. This device acts as
`a proxy in the common lay Sense of acting on behalf of one
`or more other devices, and may include but does not require
`operation as a proxy server in the particular Sense commonly
`used in discussions of Internet browsing and connectivity. In
`alternate embodiments, the “device' can be a virtual device,
`Such as a Specified domain on the Internet, enabling the user
`to access the System from any device that can access the
`Internet.
`
`0026. One preferable step in the process comprises iden
`tifying to the coordinating PC the Set of one or more devices
`to be kept up-to-date. This can be done by manually entering
`device identification including current Software revision
`levels, or (better) by connecting the device to the coordi
`nating PC via USB/1394/serial/other communications port,
`Wi-Fi, infra-red, Bluetooth, or other wireless means (FM,
`etc.), or even optically (for example, by Scanning a bar code
`on the device or its packaging). In one embodiment, the
`system has the ability to offer the user the option (when a
`device is connected) to omit this device from the collection
`of devices to be kept up-to-date. For example a device that
`is already Subject to update Service is provided by another
`coordinating PC. A further optional embodiment is for the
`coordinating PC to Store an identifying code on the device
`So that if the device having the identifying code is connected
`to other coordinating PCS, these computerS may default to
`not updating the device already having the identifying code.
`0027. Another step, preferably performed at this point or
`later (although in alternate embodiments it could be per
`formed earlier) would be to establish a communications
`channel between the device and the coordinating PC which
`would be used for updates. In addition to a communications
`means, Security could be established, for example by Storing
`on the PC an administrative password for the device (as
`nearly every wireleSS access point, network router, or broad
`band modem has), and/or setting the password on the device
`to a known or determinable value. In Some environments,
`Security may be particularly important in the case where the
`communication was wireleSS. In one embodiment, the Sys
`tem multiple forms of connection, for example establishes a
`physical connection the first time to initiate Security, and
`then uses wireleSS media for Subsequent connections. In
`other embodiments, the Security can be active or dynamic,
`updating periodically or at random intervals, depending on
`user preferences or other variables.
`0028. In a preferred mode of operation, the list of devices
`and their Software revision levels are compared with a list
`installed on or accessible to the coordinating PC or on a
`central Service (e.g., an Internet site maintained for the
`purpose). Based on the comparison it the System has the
`capability of determining that there are optional updates,
`critical updates, or additional Software components available
`for one or more of the devices. Optionally, in addition to
`performing a comparison (which places no private data
`outside the home or office other private space of the user),
`the System optionally Stores a copy of the user's data, So that
`if they change coordinating PCs (for example) no informa
`tion is lost.
`0029 While the system is capable of updating any elec
`tronic devices, in a preferred mode of operation the devices
`to be updated include preferably those having field-replace
`able Software content and a means of connection to the
`proxy update System. The Software content may be of the
`embedded type such as a BIOS (basic input-output system)
`or firmware typically stored in an EEPROM, application
`Software Such as games or Small applications with user
`interface, or indeed all or part of any Stream of digital
`information Such as ring-tones for cellphones or Street maps
`or digital imageS. The means of Storage for this Software
`content may be EEPROM or flash memory, memory cards
`such as SD, XD, CF, or Sony memory stick, volatile
`memory, hard disk, CD or magnetic disk, or other media
`
`14
`
`

`

`US 2006/0026304 A1
`
`Feb. 2, 2006
`
`capable of Saving and/or retrieving digital information.
`Preferably, the system has the capability of providing a
`connection from the device to the proxy update System in
`one or more of multiple different optional ways. For
`example, the connection may be intermittent or continuous,
`and/or may be wired or wireless, and/or may include Serial
`or parallel port, USB or PC1394 ("firewire') connection,
`connection via AC power wiring Such as that found in X-10
`devices, Ethernet, Bluetooth or 802.11 wireless, infrared, or
`any other means, or any combination or Sub-combination of
`the foregoing. The means by which the Software content can
`be updated may vary widely and are discussed below.
`Examples of Such devices include, potentially, cell phones,
`digital cameras, MP3 and Video media players, all-in-one or
`combo printer devices, network routers and wireleSS acceSS
`points, media readerS Such as those for compact flash or chip
`memory, PDAS, and indeed even home appliances Such as
`microwaves with “Smart” features, i.e. a processing chip and
`on-board Software.
`0.030. Another, and preferably the next, step in the pro
`ceSS is an optional notification about the updates. The user
`can optionally Select to be notified that updates are available
`via email, instant message or on-screen pop-up, or other
`means. In Some embodiments, the user can view a list of
`devices and their status at their own initiation, at any time.
`Determination that updates are available can be via “pull”
`where the coordinating PC checks the Service periodically,
`and/or via “push” where the Service learns that a new update
`is available, and optionally notifies all candidate users with
`the appropriate device and (older) Software versions.
`0.031) An optional capability of the system is to bill or
`charge the user for the notification Service or for updated or
`additional software for their devices. In this way, device
`manufacturers either could provide free Support Services to
`their customers or could actually Sell extended Service and
`Support or Software upgrades, or both. Examples include
`Support for new media formats, interface improvements,
`technical improvements (digital Sound processing for audio
`enhancement, for example), additional data (maps, phone
`numbers, Songs), new Software modules, more games on
`one’s iPod, or improved Security (e.g., upgrading a Wi-Fi
`access point from WEP to WPA security). In alternate
`embodiments, Such improvements for devices are offered by
`one or more third parties other than or in addition to the
`devices original manufacturer.
`0.032 Assuming the user wishes to perform any available
`updates, another, and preferably next Step is to transfer the
`new Software to the coordinating computer. The network
`Service in Some embodiments actually Stores the updated
`Software, or (more likely) merely maintains an address for
`obtaining it, for example a link to a file on the website of the
`device manufacturer or other third party. The coordinating
`PC automatically or manually downloads the updated device
`Software onto the PC's storage. The coordinating PC could
`also optionally download a PC application used to update
`the device.
`0033 Preferably next, (although alternative sequences
`are provided in other embodiments) the coordinating PC
`performs the update. It can optionally request that the user
`establish communications with the device to be updated
`(“please connect your Nikon CoolPix 950 camera to your
`Serial port now”) or wait and perform the update automati
`
`cally, the next time the device is connected. It can use a
`Specific application that had been installed or downloaded to
`perform the update, and/or it can use a Standard protocol.
`These protocols can be specified Simply, for example by
`choosing a specific TCP/IP port number and packet
`Sequence for establishing authentication and initiating Soft
`ware upload.
`0034. Upon success or failure of the update, or at any
`other interval, the coordinating PC updates its record of the
`device Status. In addition to maintaining the current list of
`Software installed on each device, it can also maintain an
`update history and allow the user to easily “roll back” to an
`earlier version if the new version has undesirable charac
`teristics (instability, incompatibility, changes in user opera
`tion, Security flaws, etc.) The user might receive a notifica
`tion that an update was performed, especially in the case
`where they did not manually initiate it, and Such notification
`might include details about what was changed or new
`capabilities added to their device.
`0035. Note that in one embodiment of the system, the
`entire update process can be performed with little, or even
`no user intervention at all, or optionally only with a notifi
`cation after-the-fact that an update was performed. For
`example, devices can be Sold with a default "stay current
`Setting (that can be overridden by the users at their option)
`that instructs the device to automatically update itself peri
`odically without user request or intervention.
`0036 With this system in place, an additional capability
`is available, namely the capability to use the communication
`system (from the device through the coordinating PC and
`preferably to the central Service, and thence back to the
`manufacturer or its agent) to perform additional trouble
`shooting. Even after devices have been Sold and are in use
`by customers, manufacturers can Still interact with devices,
`obtain diagnostic information ("dumps” following crashes,
`up-time statistics, configuration data, and So on), and gen
`erally use the communication channel to measure reliability,
`gather information used for making further Software
`improvements, measure the popularity of device features or
`monitor usage profiles (for example, to determine how much
`Storage future models of audio playerS or cameras should
`include or what inventory to produce based on measure
`ments from current customers).
`0037. A preferred embodiment 10A of the software
`updating system is shown in FIG. 1. In the system 10A, a
`coordinating computer 12 is in communication 14 with a
`network 18 in communication 20 with a network data store
`22. Alternatively, the computer 12 is in direct wireleSS
`communication 34 with the network 18 and data store 22.
`The coordinating computer 12 is shown in communication
`with three electronic devices having Software for updating.
`At least one electronic device is preferred for communica
`tion with the computer 12, and communication is not limited
`to three devices as shown. Any number of devices can
`communicate with coordinating computer 12. A first elec
`tronic device 50 is in wireless communication 70 with the
`computer 12. A Second electronic device is in line or wired
`communication 74 with the computer 12. A third electronic
`device 58 includes a barcode 60 that is readable by a barcode
`reader 78 in communication with the computer 12. Alterna
`tively, bar code reader 78 is an optical Scanner that transmits
`the bar code image to the coordinating computer for pro
`
`15
`
`

`

`US 2006/0026304 A1
`
`Feb. 2, 2006
`
`cessing and interpretation later or elsewhere. Alternatively,
`bar code 60 is replaced with an optical or wireleSS radio tag
`as the device identifier. Alternatively, the computer writes
`data on an intermediate form of Storage Such as a compact
`disc, portable hard drive, or memory card (such as USB
`memory drive, compact flash, SD, XD, Sony memory Stick,
`or other type) for later insertion to or connection with the
`device. Alternatively, the computer communicates with the
`device by audible means Such as touch tones or voice
`commands.
`0.038
`Preferably, software code for updating the software
`in the electronic devices is delivered from the data Store 22,
`to the network 18, and then to the coordinating computer 12
`via wired communication 14 or Via direct wireleSS commu
`nication 34 from the network 18, or alternately bypassing the
`network, by delivery from the data store 22 to the computer
`12 Alternatively, software code may be delivered to the
`computer by indirect wireleSS communication. The indirect
`wireleSS communication includes a wireleSS uplink channel
`80 to a radio or cell tower 84, then a downlink channel 88
`to the computer 12.
`0039. Updated software code received by the computer
`12 from either the line communication 14, the direct wireless
`communication 34, or by the downlink channel 88 is pro
`cessed by the computer 12 for delivery to the electronic
`devices. Such processing can optionally include any one or
`more, or any combination of the following: un-compression
`of data, Verification of digital signatures, de-encryption of
`the data, Security authorization, confirmation of payment, if
`any, etc. The processed and/or updated Software code is
`amenable to the Software-controlled devices in communica
`tion with the computer 12. The system preferably accom
`modates any number of devices, and no particular number is
`necessary or required. For explanatory purposes only, an
`example of three devices is described in this Figure. The first
`device 50 receives the processed and/or updated software
`code from the computer 12 via the wireless channel 70.
`Similarly, the second device 54 receives the processed
`and/or updated Software code from the computer 12 via the
`communication line or channel 74. The third device 58 is
`identified by the scanning the barcode 60 affixed to or
`associated with the third device 58 by the barcode reader 78.
`The third device is 58, preferably once identified, receives
`the processed and/or updated Software code from the com
`puter 12 via the line channel 74 or the wireless channel 70
`or using intermediate Storage. Once the updated and pro
`cessed software code is delivered to the first 50, second 54
`and/or, third 58 devices, the Software in these devices is
`updated with the new code.
`0040 Alternatively, coordinating computer 12 can coor
`dinate the updating of Software of one device based on
`relationships with other related devices or with software on
`the communicating computer itself or other computers
`attached via a network interface. For example, if the user
`purchases a new digital camera, and the System of the
`present invention updates the Software on the camera three
`(3) months later, the System will realize (by Scanning its
`inventory of Software on related devices and/or accessing
`related databases) that the digital images generated by the
`camera (now that it has been updated) are no longer com
`patible, or not ideal, or possibly even optional, with the
`version of Photoshop(R) (for example), resident on the local
`PC. The coordinating PC 12 also then updates Photoshop(R)
`
`to resolve the incompatibility or Sub-optimum compatibility.
`In another example involving devices and no conventional
`computer Software, a user might add the capability to a
`Sound-recording device to Support a new Sound-encoding
`format and wish to add capability to decode and play back
`this format to a Sound-replay device.
`0041) A preferred embodiment 10B of the software
`updating system is shown in FIG. 2. In the system 10B, a
`coordinating computer 12 is in communication 14 with a
`network 18 in communication 20 with a data store 22.
`Alternatively, the computer 12 is in direct wireleSS commu
`nication 34 with the network 18 and data store 22. The
`computer 12 is shown in communication with (by way of
`example only) three electronic devices having Software for
`updating, and computer 12 Serves to act as a coordinating
`PC. At least one electronic device is preferred for commu
`nication with the computer 12, and is not limited to three
`devices. A first electronic device 50 is in wireless channel
`communication 70 with the computer 12. A second elec
`tronic device is in line channel communication 74 with the
`computer 12. A third electronic device 58 includes a barcode
`60 that is readable by a barcode reader 78 in communication
`with the computer 12. Software codes for updating the
`Software in the electronic devices is delivered from the
`server 22, to the network 18, and then to the computer 12 by
`line communication 14 or via direct wireleSS communication
`34 from the network 18. Alternatively, Software codes may
`be delivered to the computer by indirect wireless commu
`nication. The indirect wireless communication includes a
`wireless uplink channel 80 to a satellite 94, then a downlink
`channel 88 to the computer 12.
`0042. Updated Software code received by the computer
`12 from either the line communication 14, the direct wireless
`communication 34, or by the downlink channel 88 prefer
`ably can be processed by the computer 12 for delivery to the
`electronic devices. Such processing can include any kind of
`data processing, including by way of example any one or
`more of the following kinds of processing, alone or in any
`kind of combination: uncompression of data, Verification of
`digital signatures, de-encryption of the data, or any other
`kinds of processing, including, without limitation, any pro
`cessing described elsewhere in this application. The pro
`cessed and/or updated Software code is amenable to, or is
`executable by, the Software-controlled devices in commu
`nication with the computer 12. The first device 50 receives
`the processed and/or updated Software code from the com
`puter 12 via the wireless channel 70. Similarly, the second
`device 54 receives the processed and/or updated Software
`code from the computer 12 via the line channel 74. The third
`device 58 is identified by scanning the barcode 60 affixed to
`or associated with the third device 58 by the barcode reader
`78. The third device 58, preferably once identified, receives
`the processed and/or updated Software code from the com
`puter 12 via the line channel 74 or the wireless channel 70.
`Once the updated and/or processed Software code is deliv
`ered to the first 50, second 54 and, third 58 devices, the
`Software in these devices is updated with the new code.
`0043. The coordinating computer 12 which serves as the
`nucleus of a proxy update System preferably has a direct or
`indirect means of connection to or communication with the
`device to be updated, optionally as described above, and
`typically has a means of connection to or communications
`with one or more Sources of Software updates. In a typical
`
`16
`
`

`

`US 2006/0026304 A1
`
`Feb. 2, 2006
`
`case, this System preferably includes a processor, Storage
`mediums, and has a user interface capability. Connection to
`or communication with Sources of update Software from
`primary and Secondary entities is preferably via the Internet
`or intranet and use of hypertext transfer protocol (HTTP)
`and/or file transfer protocol (FTP). The coordinating com
`puter 12 is capable of accepting requests for Specific infor
`mation items or Streams and providing those items or
`Streams on demand, for example, an Internet Server respond
`ing to FTP and/or HTTP requests. This system may often be,
`but need not always be, provided by the manufacturer
`(primary Software entity) of the device to be updated.
`Alternatively, Secondary Software entities, Such as website
`addresses having device Software databases, can Similarly be
`accessed by the coordinating computer 12.
`0044 FIG. 3 is a schematic of a preferred embodiment of
`a method 200 for updating software in devices attached to or
`in communication with a coordinating PC or computer 12.
`A method 200 establishes a coordinating computer 12 to
`function as an agent that runs or provides continuous or
`non-continuous Surveillance of primary and Secondary Soft
`ware entities or Services for Software code upgrades for
`devices, including, without limitation those devices that can
`be or are att

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