EP1421772A4 - Verfahren und vorrichtung zur optimierung der benutzung von autonomem speicher und zum herunterladen von softwaremerkmalen - Google Patents

Verfahren und vorrichtung zur optimierung der benutzung von autonomem speicher und zum herunterladen von softwaremerkmalen

Info

Publication number
EP1421772A4
EP1421772A4 EP01952223A EP01952223A EP1421772A4 EP 1421772 A4 EP1421772 A4 EP 1421772A4 EP 01952223 A EP01952223 A EP 01952223A EP 01952223 A EP01952223 A EP 01952223A EP 1421772 A4 EP1421772 A4 EP 1421772A4
Authority
EP
European Patent Office
Prior art keywords
feature
user
software code
processor
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP01952223A
Other languages
English (en)
French (fr)
Other versions
EP1421772A2 (de
Inventor
Rafael J Diaz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of EP1421772A2 publication Critical patent/EP1421772A2/de
Publication of EP1421772A4 publication Critical patent/EP1421772A4/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation

Definitions

  • the present invention relates generally to electronic devices with memory for storing programs and features, and in particular, to a method and apparatus for updating memory usage and features in a wireless electronic device.
  • Wireless communication devices are known and presently widely used. These devices include pagers, cellular telephones, personal digital assistants and other electronic devices.
  • wireless communication systems include portable or mobile subscriber units that communicate with fixed-end (i.e., not portable) systems that are geographically distributed or with other mobile subscriber units.
  • Most wireless communication devices presently include a processor or central processing unit and memory.
  • input and output devices are provided for a user interface, for example, a keyboard and a display.
  • the processor on the wireless communication device provides flexibility in that different stored programs are executed by the device to implement various features.
  • the memory provided on wireless communication devices typically includes a non-volatile memory as well as a volatile memory.
  • the non-volatile memory is used to store programs, for example, an operating system and applications and permanent and semi-permanent user data, such as address books, telephone numbers, etc.
  • the volatile memory is used by the processor for temporary storage in the execution of programs.
  • wireless communication devices are sold with a fixed set of stored programs in memory. The device manufacturer loads the stored programs into the device. Usually, only reprogramming by a manufacturer changes the stored programs. This limits the flexibility of the wireless communication device after initial manufacture. In particular, since memory is finite, the number and variety of features sold with a device must be limited. This often requires a user to purchase features that are not desirable and or not used. Moreover, feature updates are limited, since the device must be returned to a manufacturer for reprogramming.
  • One known method for increasing flexibility with communication devices is to supply the wireless communication device with a comprehensive set of features. Then, so-called "flex bits" are included with the device that may be set or reset via a wireless interface. The state of the flex bits determines whether a feature is enabled for use by the wireless communication device. While this solution provides some flexibility in the use of features, all possible features are required to be stored on the device, which is a non-optimal solution for the use of memory.
  • FIG. 1 is a block diagram of a wireless communication system with memory usage optimization and flexibility in accordance with the present invention.
  • FIG. 2 is a flow chart illustrating a method to optimize memory usage in accordance with the present invention.
  • FIG. 3 is a flow chart illustrating a method for downloading features to a wireless communication device in accordance with the present t invention.
  • a method and apparatus are provided for optimizing memory usage in an electronic device. More specifically, the method and apparatus free up memory space in the electronic device by deleting unused or undesirable features autonomously.
  • the features available for use on the device are monitored by the device to determine whether the features are actually utilized by a user. For example, an entry address for a particular feature is monitored by the processor on the device to determine whether the entry address is ever executed, reflecting whether the feature is ever utilized by a user. Preferably, the monitoring occurs over a predetermined period of time. Based on the utilization of the feature, the device determines whether the feature should continue to be made available to a user. This determination is alternatively automatic or performed with confirmation from the user.
  • the stored program code for execution of the feature is automatically deleted from the electronic device, making the space previously occupied by the feature available for use by another feature.
  • a fixed- end system requests or initiates the deletion of the feature using an over-the- air interface.
  • a method and apparatus are provided for down loading executable software code to an electronic device using a wireless or over-the-air interface.
  • a user is alerted to the availability of a new software feature by a broadcast message from a fixed-end system.
  • the electronic device receives executable software code via the wireless interface on the device.
  • the device is configured to execute the new software code.
  • reconfiguration of the electronic device includes updating a menu in a user interface and updating parameters to execute the new feature.
  • the wireless communication device then executes the downloaded software code.
  • FIG. 1 is a block diagram of a wireless communication system 100 in accordance with the present invention.
  • System 100 includes a wireless electronic device 102 and a fixed-end system 104.
  • Wireless communication device 102 and fixed-end system 104 communicate with each other via a wireless or over-the-air interface.
  • Wireless communication system 100 is alternatively a wireless telephone system, a paging system, a personal communication system or a combination of these.
  • Fixed-end system 104 includes a transceiver 106 and an antenna 108, which in combination implement an over-the-air or wireless interface for transmitting and receiving messages from devices 102.
  • Fixed-end system 104 includes, or has an interface to, a database 110 for storing a myriad of data, including stored programs for features for devices 102.
  • fixed-end system 104 is a processor-based device that uses stored programs to implement protocols for communicating with devices 102.
  • Fixed-end system 104 alternatively has interfaces to a telephone network and/or a data network, for example, the Internet, in accordance with the function of the wireless communication system 100.
  • Wireless communication device 102 includes a processor 112, a memory 114, a wireless interface 116 and an antenna 118.
  • Processor 112 is preferably a microprocessor that executes stored programs according to the function of device 102.
  • Memory 114 is coupled to processor 112 and stores code and data for device 102.
  • Wireless interface 116 is coupled to processor 112 and memory 114.
  • Wireless interface 116 includes a transmitter 120 and a receiver 122. In conjunction with antenna 118, transmitter 120 and receiver 122 implement a wireless interface for over-the-air communications in a manner well known to those of skill in the art.
  • memory 114 is optimized and updated to improve flexibility of device 102.
  • Memory 114 is partitioned in any suitable manner according to the function of device 102.
  • memory 114 includes nonvolatile and volatile components. Most preferably memory 114 includes a code space 124, a user space 126 and random access memory (RAM) 128.
  • Code space 124 is preferably nonvolatile RAM that is updateable, for example, electrically erasable, programmable, read-only memory (EEPROM) or FLASH memory.
  • Code space 124 is used to store executable software for device 102, including an operating system and application code.
  • the operating system and application code implement features for device 102.
  • the operating system and application code implement a menu-based user interface for a user to interact with device 102.
  • a display (not shown) and an input device, such as a keyboard (not shown) are included with device 102 for interaction with a user.
  • User space 126 is preferably updateable, nonvolatile memory, for example, FLASH memory.
  • User space 126 is used to store data that is unique to a particular user of device 102.
  • user space 126 includes an address book, and a list of phone numbers.
  • RAM 128 is preferably volatile RAM that is used for variables and other transient data utilized in the execution of stored programs by processor 112.
  • memory In prior wireless electronic devices, the memory, analogous to memory 114, is partitioned and loaded during the device manufacturing process. The configuration of the memory is not changed, except if the device is returned to the manufacturer for updating. This fixes the memory available to the processor as well as the features implemented in device. According to the present invention, memory 114 is reconfigured in accordance with use of certain features and updates to the features available for device 102. In particular, the features utilized by a user using device 102 are monitored to determine whether certain features should be deleted to free memory space on device 102. The new features are added to device 102 by updating the executable code on device 102 using wireless interface 116, thereby eliminating the need to return device 102 to a manufacturer. The operations required to implement these features are discussed below with respect to FIGS. 2 and 3.
  • Step 202 begins the autonomous process for deleting underutilized features to free memory space.
  • Feature utilization is preferably monitored for a predetermined period of time (202). More specifically, processor 112 executes a stored program that monitors an entry address for the executable code associated with the features available on device 102.
  • the predetermined period of time selected for monitoring feature utilization will vary depending upon device 102 and the functions and features associated therewith. Features may be monitored for hours, days, months or other periods of time. A preferred period of time for monitoring is one to two weeks.
  • features that are not readily utilized are identified as candidates for removal (204).
  • the algorithms selected to determine whether a feature is a candidate for removal will vary. A feature is identified as a candidate for removal based on no utilization or under utilization of the feature.
  • the user is queried to confirm whether or not a feature should be removed (206). Though optional, this step enhances a user's ability to customize the wireless communication device 102. Of course, if the user does not desire to have the identified feature removed, then no action is taken and monitoring continues. On the other hand, if the user confirms that the feature should be removed, then the software code, menu items and other parameters associated with the feature are removed from memory (208). In a preferred embodiment, updates are performed to the memory to reconfigure partitioning for the operating system such that the memory space freed by the deletion of code and parameters associated with the feature are made available for additional uses (210).
  • the fixed-end system is notified when a feature is removed (212).
  • the fixed-end system may use this information to update a database of subscriber features or to adjust billing that is associated with the feature.
  • the notification to the fixed-end system is accomplished via the wireless interface on device 102.
  • the software code and menu items associated with the feature are removed (208). No user confirmation is necessary. Removal of the software code and menu items (208) is followed by the reallocation of memory space (210), and optional notification of the removal of features to the fixed-end system (212). For the case where the communication system requests the removal of a feature (216), the user preferably receives a warning indicating that the feature will be removed (218) via wireless interface. Feature removal by the communication system or fixed-end system may be necessitated by a feature being obsolete or no longer supported. Following the warning of imminent removal, the software code, menu items and parameters associated with the feature are removed (208).
  • FIG. 3 is a flow chart illustrating a method for updating features on a wireless communication device by the addition of software code.
  • a manufacturer informs a wireless service provider of the availability of a new software feature or update (300). Any suitable form of communication, including electronic communication is used to notify the service provider of the available feature.
  • the manufacturer preferably uploads software code and associated documentation for the new features to a service providers database (302).
  • the service provider's database is equipped with the software code needed to update subscriber devices.
  • Distribution of the software to subscribers is preferably initiated by the service provider's fixed-end system broadcasting a message to the wireless devices indicating the availability of a new feature and any associated costs (304). This advantageously reduces the cost associated with individual notification of the availability of a particular feature to each subscriber. Algorithms are preferably employed, including acknowledgement or periodic rebroadcast or even individual messages to subscribers to ensure that subscribers are notified of features available for downloading.
  • subscribers are queried to determine if they desire to have the new feature (306).
  • demonstrations may be automatically provided to illustrate the desirability of the new feature to subscribers.
  • Device requirements including memory requirements are alternatively provided to subscribers.
  • a subscriber does not desire to accept a new feature immediately (308), the subscriber receives an offer to accept the new feature on a trial basis (309), as discussed further below.
  • an appropriate time for downloading software code for the new feature may be selected (312).
  • the user may be offered alternative times for download or a specific time for download may be indicated by the system.
  • the downloading occurs during a time when the wireless communication system is not busy. For example, subscribers may be instructed to leave their wireless communication devices on overnight for downloading during off-hours.
  • the wireless communication device receives the software code via the wireless interface (314). Documentation is downloaded if needed.
  • the code is made available for execution in the wireless device (316).
  • operating system parameters, new menus, and other parameters are updated to facilitate execution of the code and provide a user interface for the new features.
  • the software code is executed on the wireless device (318).
  • a trial version of the feature is offered to the user for a trial period, for example, 30 days (309). If the user does not accept the trial version, then no further action is taken (310). If the user accepts the trial version, then the fixed-end system or wireless communication device tracks the trial period (320) and confirms purchase or deletion of the feature at the end of the trial period (322). The trial period is tracked using a timer. If the feature is accepted, billing is completed and the feature is enabled for non-trial use (324). If the feature is not accepted, the feature is removed or otherwise made unavailable to the user (326).
  • memory on a wireless communication device is made available while the device is employed for use. Also, additional features are flexibly added to the wireless communication device without the need for a manufacturer to obtain the device for the update. Advantageously, the operation of the device is enhanced.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Circuits Of Receivers In General (AREA)
  • Telephonic Communication Services (AREA)
EP01952223A 2000-06-26 2001-06-26 Verfahren und vorrichtung zur optimierung der benutzung von autonomem speicher und zum herunterladen von softwaremerkmalen Withdrawn EP1421772A4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US60267700A 2000-06-26 2000-06-26
US602677 2000-06-26
PCT/US2001/020315 WO2002001319A2 (en) 2000-06-26 2001-06-26 Method and apparatus for autonomous memory usage optimization and downloading of software features

Publications (2)

Publication Number Publication Date
EP1421772A2 EP1421772A2 (de) 2004-05-26
EP1421772A4 true EP1421772A4 (de) 2007-03-21

Family

ID=24412330

Family Applications (1)

Application Number Title Priority Date Filing Date
EP01952223A Withdrawn EP1421772A4 (de) 2000-06-26 2001-06-26 Verfahren und vorrichtung zur optimierung der benutzung von autonomem speicher und zum herunterladen von softwaremerkmalen

Country Status (6)

Country Link
EP (1) EP1421772A4 (de)
JP (1) JP2004527806A (de)
KR (1) KR20040016767A (de)
CN (1) CN1559137A (de)
AU (1) AU2001273000A1 (de)
WO (1) WO2002001319A2 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072672B1 (en) * 2002-11-01 2006-07-04 Nokia Corporation Disposable mini-applications
CN100384270C (zh) * 2002-12-18 2008-04-23 英华达(南京)科技有限公司 用户定制移动电话应用程序的方法
US8737981B2 (en) 2002-12-19 2014-05-27 Qualcomm Incorporated Downloadable configuring application for a wireless device
TWI309782B (en) * 2002-12-19 2009-05-11 Qualcomm Inc System and method of activating features for a wireless device, wireless device of configuring features to be activated and computer readable medium having relevant instructions
JP3923921B2 (ja) 2003-03-31 2007-06-06 株式会社エヌ・ティ・ティ・ドコモ 情報処理装置及びプログラム
US20070204125A1 (en) * 2006-02-24 2007-08-30 Michael Hardy System and method for managing applications on a computing device having limited storage space
KR101292979B1 (ko) * 2006-08-17 2013-08-02 삼성전자주식회사 디바이스 관리 서버를 통한 단말 내부 소프트웨어 관리방법
US8065675B2 (en) 2007-03-21 2011-11-22 Yahoo! Inc. In-page installer
CN101625731A (zh) 2008-07-10 2010-01-13 鸿富锦精密工业(深圳)有限公司 程序仿生老化系统及其老化方法
CN101650787A (zh) * 2008-08-13 2010-02-17 鸿富锦精密工业(深圳)有限公司 仿生老化系统及其老化方法
JP5560213B2 (ja) * 2011-02-10 2014-07-23 株式会社Nttドコモ 情報提供サーバ及び情報提供方法
US11204806B2 (en) 2018-06-03 2021-12-21 Apple Inc. Systems and methods for user adaptive resource management

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0811942A2 (de) * 1996-06-07 1997-12-10 Cyber Media, Incorporated Automatische Aktualisierung von verschiedenen Softwareprodukten in Mehr-Client-Rechnersystemen
EP0825791A1 (de) * 1996-08-15 1998-02-25 BRITISH TELECOMMUNICATIONS public limited company Mobiles Telefonsystem
EP0959635A1 (de) * 1998-05-20 1999-11-24 Alcatel Vebindungsloses Herunterladen von Software nach drahtlosen Terminals
GB2341951A (en) * 1998-09-22 2000-03-29 Ibm Thin-client remote object execution
WO2001031846A2 (en) * 1999-10-29 2001-05-03 Koninklijke Philips Electronics N.V. System for broadcasting software applications and portable data communications device for use in such a system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5896566A (en) * 1995-07-28 1999-04-20 Motorola, Inc. Method for indicating availability of updated software to portable wireless communication units
FI114182B (fi) * 1996-06-06 2004-08-31 Nokia Corp Menetelmä teleliikenneverkon tarjoamien palveluiden käyttämiseksi, teleliikennejärjestelmä ja sen päätelaite
US6029065A (en) * 1997-05-05 2000-02-22 Nokia Mobile Phones, Ltd. Remote feature code programming for mobile stations

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0811942A2 (de) * 1996-06-07 1997-12-10 Cyber Media, Incorporated Automatische Aktualisierung von verschiedenen Softwareprodukten in Mehr-Client-Rechnersystemen
EP0825791A1 (de) * 1996-08-15 1998-02-25 BRITISH TELECOMMUNICATIONS public limited company Mobiles Telefonsystem
EP0959635A1 (de) * 1998-05-20 1999-11-24 Alcatel Vebindungsloses Herunterladen von Software nach drahtlosen Terminals
GB2341951A (en) * 1998-09-22 2000-03-29 Ibm Thin-client remote object execution
WO2001031846A2 (en) * 1999-10-29 2001-05-03 Koninklijke Philips Electronics N.V. System for broadcasting software applications and portable data communications device for use in such a system

Also Published As

Publication number Publication date
EP1421772A2 (de) 2004-05-26
AU2001273000A1 (en) 2002-01-08
KR20040016767A (ko) 2004-02-25
CN1559137A (zh) 2004-12-29
WO2002001319A3 (en) 2004-03-11
JP2004527806A (ja) 2004-09-09
WO2002001319A2 (en) 2002-01-03

Similar Documents

Publication Publication Date Title
US9992265B2 (en) Method for updating an application program on a wireless terminal in a controlled manner
KR100911604B1 (ko) 무선 통신 장치의 시스템 소프트웨어 다운로드 관리시스템 및 방법
US7752616B2 (en) Update system capable of updating software
US8479180B2 (en) Maintenance of over the air upgradeable wireless communication device software
US7542758B2 (en) Field downloading of wireless device software
US7143407B2 (en) System and method for executing wireless communications device dynamic instruction sets
EP1697836B1 (de) System und verfahren zur aktualisierung einer mobilen einrichtung
US7657884B2 (en) Electronic device supporting multiple update agents
CN1108718C (zh) 远程升级蜂窝电话控制软件的方法和装置
CN101390052A (zh) 通信系统、通信装置以及管理服务器装置
US20040068721A1 (en) Network for updating firmware and / or software in wireless communication devices
US20100095293A1 (en) Network for updating firmware and / or software in wireless communication devices
US20070015538A1 (en) Network and method for the localization and customization of new mobile devices employing SIM/smart card
EP1421772A2 (de) Verfahren und vorrichtung zur optimierung der benutzung von autonomem speicher und zum herunterladen von softwaremerkmalen
JP2003216430A (ja) ソフトウェア自動更新システムおよび端末
CA2267549A1 (en) Loading and unloading of application components
KR20020005127A (ko) 이동통신 단말기의 응용 프로그램 갱신 방법
KR100879547B1 (ko) 이동통신단말기의 펌웨어 업데이트 방법 및 이를 이용하는이동통신단말기
US20030022665A1 (en) System and method for organizing field upgradable wireless communication device software
KR20090037642A (ko) Fota 수행 방법 및 그 방법에 따른 단말기
US9554268B2 (en) System and method for updating persistent data in a wireless communications device
CN113849198A (zh) 一种卸载应用程序的方法、装置、设备和介质
KR100538627B1 (ko) 무선통신단말기의 소프트웨어 부분 업그레이드 방법
EP1624371B1 (de) Verfahren zur Verwaltung eines Speicherbereiches in einem mobilen Funkkommunikationsgerät
CN100412846C (zh) 无线设备的可下载配置应用

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR

17P Request for examination filed

Effective date: 20040913

A4 Supplementary search report drawn up and despatched

Effective date: 20070219

17Q First examination report despatched

Effective date: 20070802

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20080213

P01 Opt-out of the competence of the unified patent court (upc) registered

Effective date: 20230520