WO2002030143A2 - Method and apparatus for appliance reconfiguration - Google Patents

Method and apparatus for appliance reconfiguration Download PDF

Info

Publication number
WO2002030143A2
WO2002030143A2 PCT/US2001/030801 US0130801W WO0230143A2 WO 2002030143 A2 WO2002030143 A2 WO 2002030143A2 US 0130801 W US0130801 W US 0130801W WO 0230143 A2 WO0230143 A2 WO 0230143A2
Authority
WO
WIPO (PCT)
Prior art keywords
configuration
string
configuration string
configuration information
appliance
Prior art date
Application number
PCT/US2001/030801
Other languages
French (fr)
Other versions
WO2002030143A3 (en
Inventor
Bilhan Kirbas
Eric Lekven
Jason Kenagy
Karthick Chinnaswami
Chidambaram Krishnan
Original Assignee
Qualcomm Incorporated
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 Qualcomm Incorporated filed Critical Qualcomm Incorporated
Priority to EP01977356A priority Critical patent/EP1323322A2/en
Priority to KR10-2003-7004853A priority patent/KR20030091936A/en
Priority to AU2001296482A priority patent/AU2001296482A1/en
Publication of WO2002030143A2 publication Critical patent/WO2002030143A2/en
Publication of WO2002030143A3 publication Critical patent/WO2002030143A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities

Definitions

  • This invention relates to appliance reconfiguration. More specifically, this invention relates to a method and apparatus for the reconfiguration of an appliance after manufacture.
  • the characteristics of the operational environment may vary from one geographic region to another, and it may be desirable for an appliance to be usable in either location.
  • an electric razor manufactured in Europe will be of little use in North America if it cannot be adjusted to utilize the supply voltage that is predominant in North America.
  • An ability to reconfigure ⁇ > the appliance to accept 110 volts makes the electric razor more useful to a user in North America, thus making the product more portable by extending its usefulness across multiple regions.
  • a communications device such as a television or a cellular telephone is designed to receive and/or send signals having particular characteristics.
  • the device may be rendered obsolete (e.g. unable to take advantage of available features) or even unusable.
  • An appliance as first released to the market will not be useful unless the manufacturer configures it to comply with the applicable standards or accepted practices currently in effect.
  • the characteristics of the operating environment may vary, leading to a lack of compatibility and a resulting high rate of obsolescence for consumer appliances such as cellular telephones, computer equipment and peripherals, and entertainment and communications products. It is not uncommon for technically advanced products to become obsolete within a few years or even months simply because they are unable to comply with a new version of the interface between the appliance and the environment.
  • One solution to the problems described above is to manufacture the appliance to have features that are compatible with a new context but are temporarily disabled.
  • the appliance is reconfigured to enable these features.
  • the manufacturer is faced with the task of updating the appliances somehow to take advantage of the new context. While the manufacturer might choose to recall the appliances for reconfiguration, such an option presents numerous logistical problems, including significant shipping expenses and delays.
  • the device configuration may be modifiable by a retailer or an end user via one or more switches, a menu, or a similar selection mechanism.
  • control of appliance reconfiguration is decentralized in this fashion, however, various problems may arise, including the problem of controlling the accuracy of the reconfiguration. Errors resulting from entering invalid reconfiguration information can cause frustration to the person performing the reconfiguration or may even damage the device being reconfigured.
  • An attempt to select a feature that is not yet supported in the operational environment may also render the device functionally inoperative and/or introduce system glitches that are difficult to trace. In any event, such uncontrolled access is likely to create additional user support expenses.
  • a method or apparatus for changing the configuration of an appliance may be beneficial when a manufacturer wishes to incorporate features into the device for activation at a later time. For example, the manufacturer may add features not yet supported by the environment without delaying the shipment of the device to the consumer. However, it is also desirable for a manufacturer to be able to control the reconfiguration process in order to avoid inadvertent reconfigurations and reduce the likelihood that building these reconfiguration capabilities into the appliance will bring unwanted results and added costs. Therefore, it is desirable to provide a method and apparatus for verifying a new reconfiguration for an appliance.
  • the apparatus has a processing unit that receives and verifies a configuration string and outputs configuration information based, at least in part, on the configuration string.
  • the apparatus also has a nonvolatile storage area for storing the configuration information.
  • FIG. 1 is a flowchart of a method according to an embodiment of the invention.
  • FIG. 2 shows an apparatus according to an embodiment of the invention.
  • FIG. 3 is a flowchart of a method according to an embodiment of the invention.
  • FIG. 4 is a flowchart of a method according to an embodiment of the invention.
  • configuration information may be altered or updated at some point after manufacture.
  • the apparatus may be reconfigured when external conditions change (e.g. when the environment reaches a level that supports new features or the apparatus is taken or shipped to a different location) or when it is desired to enable or disable existing functions.
  • an apparatus 110 according to an embodiment of the invention comprises a processor 120 and a nonvolatile storage area 130.
  • Processor 120 receives a configuration string, verifies that the string is valid, and outputs configuration information based at least in part on the configuration string.
  • FIG. 1 In the example of FIG.
  • processor 120 receives the configuration string from input device 115, which is any device by which information may be entered by a user (such as a numeric keypad or a typing keyboard) or supplied externally (such as an interface to a network or to the Internet) or from which information may be retrieved (such as a memory, storage unit, or data medium).
  • Nonvolatile storage area 130 stores the configuration information that is outputted by processor 120, retaining this information even after the appliance has been turned off.
  • the configuration information is referenced (e.g. by processor 120 or by another element of the appliance) such that the operation of the appliance is affected at least in part by this information.
  • the appliance may be initialized to have a base configuration.
  • a configuration string may be provided (e.g. by the manufacturer or by a service provider) to the subsequent possessor, who enters the configuration string to reconfigure the appliance. Correctness of the new configuration information is established by verification of the configuration string.
  • a cellular phone is reconfigured to alter or update its capabilities.
  • a technique called enhanced variable rate codec (EVRC) has been developed to maximize capacity on a wireless cellular telephone network by switching between coding rates based in part on signal activity. This technique is described, for example, in the Interim Standard 127 (IS -127) document entitled "Enhanced Variable Rate Codec, Speech Service Option 3 for Wideband Spread Spectrum Digital Systems,” published by the Telecommunications Industry Association Electronics Industry Association, July 19, 1996.
  • EVRC As EVRC is an emerging standard, it is not currently available in all markets. Some telephone networks are capable of supporting EVRC, while other networks recognize ENRC as a valid service option (i.e. are 'EVRC-aware') but cannot support it and will ignore a request for ENRC service. In yet other networks, however, a request for EVRC service will be interpreted as an invalid transmission, causing the network to drop the connection which issued the request.
  • the current state of EVRC-readiness among wireless networks (or mobile phones) thus includes at least the following possibilities: (1) ENRC-capable; (2) ENRC-aware; or (2) EVRC-unaware.
  • configuration information comprising several configuration options may be used to configure the phone to operate appropriately depending on the state of the present network.
  • options below are described in relation to a cellular telephone, reconfiguration of one or more of them may also be applicable to any other device communicating to a base station, such as a wireless local loop (WLL) set, a fixed or mobile data terminal, a point-of-sale (POS) terminal, or the like:
  • WLL wireless local loop
  • POS point-of-sale
  • Home Origination This configuration option indicates the service option to be used when the mobile station initiates a call while within the home system. Because the service provider in the home system knows the capabilities of its system with respect to
  • this configuration option may be set to conform to those capabilities.
  • the value of this configuration option may also be specified on the basis of other factors as well, such as a particular user's rate schedule.
  • the home origination option has a value indicating 'low' (e.g. a transmission rate of 8 kilobits/second [kb/s]), 'high' (e.g. a transmission rate of 13 kb/s), or 'EVRC • Roam Origination:
  • the roam origination configuration option determines the characteristic of the coding indication transmitted to the foreign base station.
  • the roam origination service option in the exemplary application has a value indicating 'low,' 'high,' or 'EVRC
  • the characteristics of a foreign system are impossible to predict in advance. If the phone indicates EVRC, and the foreign system is EVRC- unaware, the user may have difficulty placing a call within that system. Therefore, the choice for this option may represent a tradeoff between compatibility and performance.
  • This configuration option indicates whether the cellular phone may use EVRC when responding to notification of an incoming call (also called a 'network page') while in a foreign network.
  • the configuration option indicates the Boolean value 'TRUE.
  • the configuration option indicates the value 'FALSE.
  • This configuration option indicates the service option that the cellular phone will use when responding to notification of an incoming call while in the home system.
  • this option has a value indicating 'low,' 'high,' or 'ENRC If the notification indicates a service option that matches the home page service option, the ENRC-capable cellular phone will respond with EVRC. For example, if the notification indicates a service option of 'high,' and the home page service option also indicates 'high,' then the EVRC-capable cellular phone will negotiate to use EVRC. This action notifies the network that the cellular phone is capable of using EVRC and invites it to use ENRC if possible.
  • the cellular phone will respond with the indicated service option if the phone supports it. For example, if an EVRC-capable cellular phone receives a network page indicating a service option 'low,' and the value of the home page service option does not indicate 'low,' then the phone will respond in accordance with the service option 'low'.
  • a mapping between the configuration string received and the configuration options it specifies may have several forms.
  • these combinations may be distinctly represented with, for example, a configuration string comprising a two-digit decimal number or a six-digit binary number. Note that for a given application, the number of digits actually required may be lower than the number of possible combinations would indicate, as the number of meaningful combinations of configuration options may be less than the number of possible combinations. In the EVRC application above, for example, if the option ⁇ VRC-enabled' indicates 'FALSE,' then it would not be necessary to allow for an indication of ⁇ VRC in any of the other three options.
  • each of the first four symbols of the configuration string may correspond to a different configuration option.
  • the range of possible input symbols may be mapped to this valid range (i.e. more than one input symbol may specify the same option). Alternatively, certain possible input symbols may be rejected as invalid.
  • mappings are possible between the configuration string (received by processor 120 as described above) and the configuration options (outputted by processor 120 and stored in nonvolatile storage area 130 as described above). Verification of the configuration string (as described below) may be performed within this mapping or as a separable process. A non-exhaustive listing of several such possible mappings is now presented.
  • the number of symbols in the configuration options need not be the same number of symbols in the configuration string.
  • mapping function/ is applied separately to each individual symbol of the configuration string.
  • each such application may produce zero, one, or a plurality of symbols of the configuration options.
  • a mapping function includes a set of functions/, and each function/ is applied to a single corresponding symbol of the configuration string to obtain zero, one, or a plurality of symbols of the configuration options.
  • a mapping function / is applied separately to groups of symbols of the configuration string to produce from each group zero, one or a plurality of symbols of the configuration options.
  • the symbols in each group need not be consecutive within the configuration string.
  • a different mapping function/ may be applied to each group.
  • the configuration string may include symbols that are ignored during mapping, as determined by e.g. the symbol's value or the symbol's position within the string.
  • Such a feature may be desirable to produce a string that is meaningful to a human, to produce a string of a predetermined length, or to produce strings having similar appearance and/or corresponding to similar configuration information across different platforms.
  • the string of configuration options may be larger or shorter or to have the same number of symbols as the configuration string.
  • the input device In an appliance where the input device is also used for other operating functions, it may be desirable to distinguish a programming mode, in which the appliance is ready to receive and process a configuration string, from an operating mode, in which the appliance may perform various other functions (some or all of which may be affected by stored configuration information).
  • the keypad In a cellular telephone, for example, the keypad may be used to input the configuration string (in a programming mode) or to input a telephone number (in an operating mode).
  • the telephone may enter a programming mode when the user presses a predetermined sequence of keys on the telephone's keypad while the telephone is in standby mode: for example, the sequence of keys corresponding to the letters 'E,' 'V,' 'R,' and 'C (i.e. the keys '3,' '8,' '7,' and '2,' respectively), followed by an ENTER key.
  • a similar action may be performed remotely, or a switch may be provided in order to put the appliance into a programming mode.
  • the appliance may be designed to display the current settings for the configuration options (as a numeric string or in a tabular format, for example) when it enters a programming mode.
  • Verification of the configuration string may occur in several different ways. I-n a first example, the configuration string is compared to each among an internal set of valid strings. While this approach allows for the use of strings that are easy to remember, its use may limit the number of available combinations of configuration options. In a second example, a checksum calculated from the configuration string is compared to an internal set of valid checksums. In some cases this approach may require less local storage than the first, but it may also limit the number of valid configuration strings. In a third example, a checksum calculated from one part of a configuration string (or from the configuration information or a portion thereof) is compared to another part of the configuration string. Of these three approaches, the last one is the most flexible and consumes the least local storage.
  • the configuration string is verified under the third approach by using a checksum function to calculate a checksum sequence from a portion of the configuration string.
  • the checksum function may include factors that are prime numbers in order to minimize the occurrence of zeros in the result.
  • the configuration string is six characters long, the last two characters being checksum characters.
  • each character in the configuration string is represented by the ASCII value for that character. For example, if the first character of the configuration string is the number '0', the checksum calculation uses a value of 48 (the ASCII representation for the character '0') to represent the first digit in the calculation.
  • the checksum function uses a value of 48 (the ASCII representation for the character '0') to represent the first digit in the calculation.
  • the checksum function By applying the checksum function to the first four characters of the configuration string, the anticipated character values for the fifth and sixth characters are obtained. If the fifth and sixth characters of the configuration string coincide with the checksum-calculated values, the configuration string is successfully verified. On the other hand, if the fifth and sixth characters in the configuration string do not coincide with the checksum-calculated values, the verification procedure fails.
  • checksum_value_l ([(ASC[1] x a) + (ASC[2] x b) + (ASC[3] x c) + (ASC[4] x d)]/i) mod j
  • checksum_value_2 [(ASC[1] x e) + (ASC[2] x f) + (ASC[3] x g) + (ASC[4] x h)] mod m
  • checksum_value_l and checksum_value_2 correspond to the values of the fifth and sixth characters of the configuration string, respectively; and ASC[1], ASC[2], ASC[3], and ASC[4] are the ASCII values of the first four characters of the configuration string, respectively.
  • one or more of the factors a through h may be prime numbers.
  • Nonvolatile storage 130 may comprise any storage device that retains information after external power is removed, such as a semiconductor memory unit (such as a flash random-access memory [RAM], a field-programmable gate array [FPGA], or a RAM with battery backup) or a magnetic, optical, and/or phase-change storage medium (such as a hard, floppy, CD-R, CD-RW, or DVD disk).
  • a semiconductor memory unit such as a flash random-access memory [RAM], a field-programmable gate array [FPGA], or a RAM with battery backup
  • a magnetic, optical, and/or phase-change storage medium such as a hard, floppy, CD-R, CD-RW, or DVD disk.
  • the configuration information may remain in effect until it is erased or overwritten with new configuration information, or it may be retained permanently.
  • nonvolatile storage area 130 In the case of a small, portable device having relatively limited nonvolatile storage requirements, it may be desirable to use flash or ferroelectric RAM for at least a portion of nonvolatile storage area 130, as such RAM consumes relatively little space, requires relatively little energy for reading and writing, and may be easier and less expensive to incorporate into the fabrication process than alternatives such as microminiature Winchester drives. If the results of the checksum indicate that the configuration string received is not valid, the configured options may remain unchanged, and an error indication may also be returned. In an alternative implementation, another set of configuration options is stored to nonvolatile storage area 130 in the event of a verification failure. This set of options may cause the device to provide assistance to the user, may cause the device to sound an alarm locally and/or transmit an alarm indication to a remote location, or may cause certain capabilities of the device to become disabled.
  • the configuration information may be stored even before the configuration string has been verified. If the configuration string then fails the verification procedure, the new configuration information may be erased. Such operation may be used, for example, to disable the device (e.g. for reasons of security) in response to an unsuccessful reconfiguration attempt.
  • FIGURE 3 shows a flowchart of a method according to an embodiment of the invention.
  • a configuration string is received, e.g. from an input device such as a telephone keypad.
  • configuration options are calculated from at least a portion of the configuration string.
  • a checksum is calculated from at least a portion of the configuration string as described above.
  • FIGURE 4 shows a flowchart of an alternative implementation in which the configuration options are not calculated until the string has been verified.
  • task P020 may be performed in parallel with tasks P030 and/or P040.
  • a single appliance may contain multiple sets of configuration options.
  • a cellular phone may have several number assignment modules (NAMs), with a different configuration being associated with each NAM.
  • NAMs number assignment modules
  • an appliance is reconfigured to select a particular software application (such as a web browser) from among multiple such applications available. For example, the user may enter a configuration string to choose a particular web browser. Upon verification of the configuration string, the appliance is reconfigured to use the selected browser.
  • a particular software application such as a web browser
  • the appliance is reconfigured to use the selected browser.
  • a user interface of an appliance is customized.
  • a reseller of a device may wish to substitute a customized user interface (e.g. one that displays the logo of the reseller in each menu) for a default interface provided by the manufacturer.
  • the reseller may work with the manufacturer during the manufacturing stage to develop and incorporate a user interface that is specific to the reseller, and/or the reseller may download such configurability into the appliance after manufacture.
  • the reseller may then reconfigure the appliance to display the customized interface by entering the appropriate configuration string locally and/or remotely before retail sale.
  • an appliance is reconfigured to alter a menu such that certain menu items are revealed or hidden.
  • the service provider may provide a code (i.e. a configuration string) by which the user may reconfigure the appliance so that a menu item or items corresponding to that feature that were previously hidden are now available.
  • a code i.e. a configuration string
  • the additional feature is enabled.
  • continued support for a particular feature may require a new configuration string (supplied, for example, by subscription) to be inputted periodically, such that unless the configuration information is updated as required, the appliance will revert to a default configuration, thus hiding or otherwise disabling the feature.
  • the foregoing description of the invention is provided to enable any person skilled in the art to make or use the present invention.
  • Various modifications to these embodiments are possible, and the generic principles presented herein may be applied to other embodiments as well.
  • the invention may be implemented in part or in whole as a hard-wired circuit, as a circuit configuration fabricated into an application- specific integrated circuit, or as a firmware program loaded into non- volatile storage or a software program loaded from or into a data storage medium as machine-readable code, such code being instructions executable by an array of logic elements such as a microprocessor or other digital signal processing unit.
  • the present invention is not intended to be limited to the embodiments shown above but rather is to be accorded the widest scope consistent with the principles and novel features disclosed in any fashion herein.

Abstract

A novel method and apparatus are disclosed for reconfiguring a device after manufacture. The reconfiguration may be performed through physical manipulation of the device and/or by remote communication with the device using communications networks such as the Internet. In an exemplary use of an apparatus according to one embodiment of the invention, a processor receives a configuration string from an input device, verifies the configuration string, and stores configuration information based at least in part on the configuration string. In a particular implementation, a software (or firmware) application allows a user of a cellular telephone to reconfigure vocoder options be entering a numeric or alphanumeric configuration string into the cellular phone. By applying a method or apparatus according to an embodiment of the invention as disclosed herein, an appliance manufacturer may gain a competitive advantage in a changing marketplace while minimizing associated costs.

Description

METHOD AND APPARATUS FOR APPLIANCE RECONFIGURATION
BACKGROUND OF THE INVENTION Field of the Invention This invention relates to appliance reconfiguration. More specifically, this invention relates to a method and apparatus for the reconfiguration of an appliance after manufacture.
Description of Related Art and General Background Nearly all appliances operate in relation to an external environment. In order for such an appliance to function correctly, its particular configuration must be adapted to interact appropriately with its operational environment. For example, most appliances use power from an external source (e.g. a replaceable battery or a wall outlet). Therefore, the configuration of a powered appliance must correspond to the characteristics of the power being supplied (such as the voltage of the battery, or the frequency and phase of the outlet current).
In some cases, the characteristics of the operational environment (in this example, the power interface) may vary from one geographic region to another, and it may be desirable for an appliance to be usable in either location. For example, an electric razor manufactured in Europe will be of little use in North America if it cannot be adjusted to utilize the supply voltage that is predominant in North America. An ability to reconfigure ■> the appliance to accept 110 volts makes the electric razor more useful to a user in North America, thus making the product more portable by extending its usefulness across multiple regions. Likewise, a communications device such as a television or a cellular telephone is designed to receive and/or send signals having particular characteristics. If the characteristics of the operational environment change (for example, if the broadcaster or cellular service provider begins to use a different signaling format or the device is taken into a region where a different signaling format is in use), the device may be rendered obsolete (e.g. unable to take advantage of available features) or even unusable. An appliance as first released to the market will not be useful unless the manufacturer configures it to comply with the applicable standards or accepted practices currently in effect. Over time, however, the characteristics of the operating environment may vary, leading to a lack of compatibility and a resulting high rate of obsolescence for consumer appliances such as cellular telephones, computer equipment and peripherals, and entertainment and communications products. It is not uncommon for technically advanced products to become obsolete within a few years or even months simply because they are unable to comply with a new version of the interface between the appliance and the environment.
One solution to the problems described above is to manufacture the appliance to have features that are compatible with a new context but are temporarily disabled. When the new context has been established, the appliance is reconfigured to enable these features. In this case, however, the manufacturer is faced with the task of updating the appliances somehow to take advantage of the new context. While the manufacturer might choose to recall the appliances for reconfiguration, such an option presents numerous logistical problems, including significant shipping expenses and delays.
Alternatively, the device configuration may be modifiable by a retailer or an end user via one or more switches, a menu, or a similar selection mechanism. When control of appliance reconfiguration is decentralized in this fashion, however, various problems may arise, including the problem of controlling the accuracy of the reconfiguration. Errors resulting from entering invalid reconfiguration information can cause frustration to the person performing the reconfiguration or may even damage the device being reconfigured. An attempt to select a feature that is not yet supported in the operational environment may also render the device functionally inoperative and/or introduce system glitches that are difficult to trace. In any event, such uncontrolled access is likely to create additional user support expenses.
A method or apparatus for changing the configuration of an appliance may be beneficial when a manufacturer wishes to incorporate features into the device for activation at a later time. For example, the manufacturer may add features not yet supported by the environment without delaying the shipment of the device to the consumer. However, it is also desirable for a manufacturer to be able to control the reconfiguration process in order to avoid inadvertent reconfigurations and reduce the likelihood that building these reconfiguration capabilities into the appliance will bring unwanted results and added costs. Therefore, it is desirable to provide a method and apparatus for verifying a new reconfiguration for an appliance.
SUMMARY A method and apparatus to reconfigure a device after manufacture are described. The apparatus has a processing unit that receives and verifies a configuration string and outputs configuration information based, at least in part, on the configuration string. The apparatus also has a nonvolatile storage area for storing the configuration information.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a flowchart of a method according to an embodiment of the invention. FIG. 2 shows an apparatus according to an embodiment of the invention. FIG. 3 is a flowchart of a method according to an embodiment of the invention. FIG. 4 is a flowchart of a method according to an embodiment of the invention.
DETAILED DESCRIPTION In an apparatus according to an embodiment of the invention, configuration information may be altered or updated at some point after manufacture. For example, the apparatus may be reconfigured when external conditions change (e.g. when the environment reaches a level that supports new features or the apparatus is taken or shipped to a different location) or when it is desired to enable or disable existing functions.
In a method according to an embodiment of the invention, as shown in FIG. 1, reconfiguration of a device is accomplished using a configuration string received in task PI 00. The method includes verifying that the configuration string is valid in task P200 and storing configuration information (in task P300) that is based at least in part on the configuration string. In one exemplary application, a cellular telephone is reconfigured to use certain vocoder options. As shown in FIGURE 2, an apparatus 110 according to an embodiment of the invention comprises a processor 120 and a nonvolatile storage area 130. Processor 120 receives a configuration string, verifies that the string is valid, and outputs configuration information based at least in part on the configuration string. In the example of FIG. 2, processor 120 receives the configuration string from input device 115, which is any device by which information may be entered by a user (such as a numeric keypad or a typing keyboard) or supplied externally (such as an interface to a network or to the Internet) or from which information may be retrieved (such as a memory, storage unit, or data medium). Nonvolatile storage area 130 stores the configuration information that is outputted by processor 120, retaining this information even after the appliance has been turned off. During an operating mode of the apparatus, the configuration information is referenced (e.g. by processor 120 or by another element of the appliance) such that the operation of the appliance is affected at least in part by this information.
In order to reconfigure an appliance equipped with such an apparatus, it is not necessary to return it to the manufacturer, as subsequent possessors (including suppliers, retailers and end users) may also reconfigure the appliance reliably. For example, during manufacture the appliance may be initialized to have a base configuration. At an appropriate time, a configuration string may be provided (e.g. by the manufacturer or by a service provider) to the subsequent possessor, who enters the configuration string to reconfigure the appliance. Correctness of the new configuration information is established by verification of the configuration string.
In an exemplary application of such an apparatus, a cellular phone is reconfigured to alter or update its capabilities. A technique called enhanced variable rate codec (EVRC) has been developed to maximize capacity on a wireless cellular telephone network by switching between coding rates based in part on signal activity. This technique is described, for example, in the Interim Standard 127 (IS -127) document entitled "Enhanced Variable Rate Codec, Speech Service Option 3 for Wideband Spread Spectrum Digital Systems," published by the Telecommunications Industry Association Electronics Industry Association, July 19, 1996.
As EVRC is an emerging standard, it is not currently available in all markets. Some telephone networks are capable of supporting EVRC, while other networks recognize ENRC as a valid service option (i.e. are 'EVRC-aware') but cannot support it and will ignore a request for ENRC service. In yet other networks, however, a request for EVRC service will be interpreted as an invalid transmission, causing the network to drop the connection which issued the request. The current state of EVRC-readiness among wireless networks (or mobile phones) thus includes at least the following possibilities: (1) ENRC-capable; (2) ENRC-aware; or (2) EVRC-unaware.
This disparity in the level of ENRC capability among various wireless markets presents a logistical challenge to manufacturers of cellular phones seeking to implement ENRC. Cellular phones which are shipped to consumers with the ENRC capabilities activated may be unable to function within wireless networks that are not ENRC-capable, such as might happen when the consumer uses the cellular phone in an area outside of his or her home network. If the cellular phones are shipped to consumers with the EVRC capabilities inactive, however, they will not be able to take advantage of those capabilities when in an EVRC-capable wireless network.
In applying a method or apparatus according to an embodiment of the invention to such an application, configuration information comprising several configuration options may be used to configure the phone to operate appropriately depending on the state of the present network. Note that although the options below are described in relation to a cellular telephone, reconfiguration of one or more of them may also be applicable to any other device communicating to a base station, such as a wireless local loop (WLL) set, a fixed or mobile data terminal, a point-of-sale (POS) terminal, or the like: • Home Origination: This configuration option indicates the service option to be used when the mobile station initiates a call while within the home system. Because the service provider in the home system knows the capabilities of its system with respect to
EVRC support, this configuration option may be set to conform to those capabilities. The value of this configuration option may also be specified on the basis of other factors as well, such as a particular user's rate schedule. In an exemplary application, the home origination option has a value indicating 'low' (e.g. a transmission rate of 8 kilobits/second [kb/s]), 'high' (e.g. a transmission rate of 13 kb/s), or 'EVRC • Roam Origination: When the mobile station initiates a call while roaming in a foreign system, the roam origination configuration option determines the characteristic of the coding indication transmitted to the foreign base station. Like the home origination service option, the roam origination service option in the exemplary application has a value indicating 'low,' 'high,' or 'EVRC
Unlike the home system, the characteristics of a foreign system are impossible to predict in advance. If the phone indicates EVRC, and the foreign system is EVRC- unaware, the user may have difficulty placing a call within that system. Therefore, the choice for this option may represent a tradeoff between compatibility and performance.
• EVRC-Enabled: This configuration option indicates whether the cellular phone may use EVRC when responding to notification of an incoming call (also called a 'network page') while in a foreign network. In the exemplary application, if it is desired to allow an EVRC-capable cellular phone to indicate its EVRC capability, the configuration option indicates the Boolean value 'TRUE.' Alternatively, if the cellular phone is EVRC-incapable or if EVRC indication is not desired, this configuration option indicates the value 'FALSE.'
• Home Page Service Option: This configuration option indicates the service option that the cellular phone will use when responding to notification of an incoming call while in the home system. In the exemplary application, this option has a value indicating 'low,' 'high,' or 'ENRC If the notification indicates a service option that matches the home page service option, the ENRC-capable cellular phone will respond with EVRC. For example, if the notification indicates a service option of 'high,' and the home page service option also indicates 'high,' then the EVRC-capable cellular phone will negotiate to use EVRC. This action notifies the network that the cellular phone is capable of using EVRC and invites it to use ENRC if possible. If the notification indicates a service option that does not match the home page service option, the cellular phone will respond with the indicated service option if the phone supports it. For example, if an EVRC-capable cellular phone receives a network page indicating a service option 'low,' and the value of the home page service option does not indicate 'low,' then the phone will respond in accordance with the service option 'low'.
A mapping between the configuration string received and the configuration options it specifies may have several forms. In the ENRC application described above, 54
different combinations of configuration options are possible (3 x 3 x 2 x 3), so that all of
these combinations may be distinctly represented with, for example, a configuration string comprising a two-digit decimal number or a six-digit binary number. Note that for a given application, the number of digits actually required may be lower than the number of possible combinations would indicate, as the number of meaningful combinations of configuration options may be less than the number of possible combinations. In the EVRC application above, for example, if the option ΕVRC-enabled' indicates 'FALSE,' then it would not be necessary to allow for an indication of ΕVRC in any of the other three options.
It may be desirable to design the configuration string such that one or more separate digits specify each option. In this case, at least four decimal or seven binary digits (i.e. 2 + 2 + 1 + 2) would be used for the example above. Alternatively, it may be desirable to associate one or more other symbols (e.g. alphanumeric characters) with each configuration option. In the EVRC application discussed above, for example, each of the first four symbols of the configuration string may correspond to a different configuration option. In a case where only a limited number of values are available for each configuration option, the range of possible input symbols may be mapped to this valid range (i.e. more than one input symbol may specify the same option). Alternatively, certain possible input symbols may be rejected as invalid. Similarly, it is possible that only a limited number of combinations of the configuration options will be recognized as valid. Numerous mappings are possible between the configuration string (received by processor 120 as described above) and the configuration options (outputted by processor 120 and stored in nonvolatile storage area 130 as described above). Verification of the configuration string (as described below) may be performed within this mapping or as a separable process. A non-exhaustive listing of several such possible mappings is now presented. In a first exemplary mapping, a mapping function/is applied to the configuration string as a unit, thereby producing the configuration options. The number of symbols in the configuration options need not be the same number of symbols in the configuration string.
In a second exemplary mapping, a mapping function/is applied separately to each individual symbol of the configuration string. Depending upon the nature of the function/, each such application may produce zero, one, or a plurality of symbols of the configuration options.
In a third exemplary mapping, a mapping function /includes a set of functions/, and each function/ is applied to a single corresponding symbol of the configuration string to obtain zero, one, or a plurality of symbols of the configuration options.
In a fourth exemplary mapping, a mapping function /is applied separately to groups of symbols of the configuration string to produce from each group zero, one or a plurality of symbols of the configuration options. Note that the symbols in each group need not be consecutive within the configuration string. Also note that a different mapping function/ may be applied to each group. It is possible for the configuration string to include symbols that are ignored during mapping, as determined by e.g. the symbol's value or the symbol's position within the string. Such a feature may be desirable to produce a string that is meaningful to a human, to produce a string of a predetermined length, or to produce strings having similar appearance and/or corresponding to similar configuration information across different platforms. Also, it is possible for the string of configuration options to be larger or shorter or to have the same number of symbols as the configuration string.
In an appliance where the input device is also used for other operating functions, it may be desirable to distinguish a programming mode, in which the appliance is ready to receive and process a configuration string, from an operating mode, in which the appliance may perform various other functions (some or all of which may be affected by stored configuration information). In a cellular telephone, for example, the keypad may be used to input the configuration string (in a programming mode) or to input a telephone number (in an operating mode). In one example pertaining to the ENRC application above, for example, the telephone may enter a programming mode when the user presses a predetermined sequence of keys on the telephone's keypad while the telephone is in standby mode: for example, the sequence of keys corresponding to the letters 'E,' 'V,' 'R,' and 'C (i.e. the keys '3,' '8,' '7,' and '2,' respectively), followed by an ENTER key. In another example, a similar action may be performed remotely, or a switch may be provided in order to put the appliance into a programming mode. The appliance may be designed to display the current settings for the configuration options (as a numeric string or in a tabular format, for example) when it enters a programming mode.
Verification of the configuration string may occur in several different ways. I-n a first example, the configuration string is compared to each among an internal set of valid strings. While this approach allows for the use of strings that are easy to remember, its use may limit the number of available combinations of configuration options. In a second example, a checksum calculated from the configuration string is compared to an internal set of valid checksums. In some cases this approach may require less local storage than the first, but it may also limit the number of valid configuration strings. In a third example, a checksum calculated from one part of a configuration string (or from the configuration information or a portion thereof) is compared to another part of the configuration string. Of these three approaches, the last one is the most flexible and consumes the least local storage.
In one implementation of the ENRC application described above, the configuration string is verified under the third approach by using a checksum function to calculate a checksum sequence from a portion of the configuration string. The checksum function may include factors that are prime numbers in order to minimize the occurrence of zeros in the result.
In this example, the configuration string is six characters long, the last two characters being checksum characters. In the checksum calculation, each character in the configuration string is represented by the ASCII value for that character. For example, if the first character of the configuration string is the number '0', the checksum calculation uses a value of 48 (the ASCII representation for the character '0') to represent the first digit in the calculation. By applying the checksum function to the first four characters of the configuration string, the anticipated character values for the fifth and sixth characters are obtained. If the fifth and sixth characters of the configuration string coincide with the checksum-calculated values, the configuration string is successfully verified. On the other hand, if the fifth and sixth characters in the configuration string do not coincide with the checksum-calculated values, the verification procedure fails. The checksum function may have the following form: checksum_value_l = ([(ASC[1] x a) + (ASC[2] x b) + (ASC[3] x c) + (ASC[4] x d)]/i) mod j, checksum_value_2 = [(ASC[1] x e) + (ASC[2] x f) + (ASC[3] x g) + (ASC[4] x h)] mod m, where checksum_value_l and checksum_value_2 correspond to the values of the fifth and sixth characters of the configuration string, respectively; and ASC[1], ASC[2], ASC[3], and ASC[4] are the ASCII values of the first four characters of the configuration string, respectively. As mentioned above, one or more of the factors a through h may be prime numbers. In a particular implementation, a = e, b = f, c = g, and d = h. In a further implementation, i = j = m.
If the configuration string is successfully verified, the configuration information is stored into nonvolatile storage. Nonvolatile storage 130 may comprise any storage device that retains information after external power is removed, such as a semiconductor memory unit (such as a flash random-access memory [RAM], a field-programmable gate array [FPGA], or a RAM with battery backup) or a magnetic, optical, and/or phase-change storage medium (such as a hard, floppy, CD-R, CD-RW, or DVD disk). Depending on the nature of nonvolatile storage area 130, the configuration information may remain in effect until it is erased or overwritten with new configuration information, or it may be retained permanently. In the case of a small, portable device having relatively limited nonvolatile storage requirements, it may be desirable to use flash or ferroelectric RAM for at least a portion of nonvolatile storage area 130, as such RAM consumes relatively little space, requires relatively little energy for reading and writing, and may be easier and less expensive to incorporate into the fabrication process than alternatives such as microminiature Winchester drives. If the results of the checksum indicate that the configuration string received is not valid, the configured options may remain unchanged, and an error indication may also be returned. In an alternative implementation, another set of configuration options is stored to nonvolatile storage area 130 in the event of a verification failure. This set of options may cause the device to provide assistance to the user, may cause the device to sound an alarm locally and/or transmit an alarm indication to a remote location, or may cause certain capabilities of the device to become disabled.
Note that it is possible (if desired) to store the configuration information even before the configuration string has been verified. If the configuration string then fails the verification procedure, the new configuration information may be erased. Such operation may be used, for example, to disable the device (e.g. for reasons of security) in response to an unsuccessful reconfiguration attempt.
FIGURE 3 shows a flowchart of a method according to an embodiment of the invention. In task P010, a configuration string is received, e.g. from an input device such as a telephone keypad. In task P020, configuration options are calculated from at least a portion of the configuration string. In task P030, a checksum is calculated from at least a portion of the configuration string as described above.
If the checksum result matches the corresponding portion of the received configuration string (i.e. verification task P040 succeeds), then the configuration option calculated in task P020 are stored in task P050. If the checksum result does not match the corresponding portion of the received configuration string (i.e. verification task P040 fails), then an error is reported in task P060. In task P070, the user is prompted to reenter the configuration string or to abort the reconfiguration attempt. FIGURE 4 shows a flowchart of an alternative implementation in which the configuration options are not calculated until the string has been verified. In a further implementation, task P020 may be performed in parallel with tasks P030 and/or P040. Note that a single appliance may contain multiple sets of configuration options. For example, a cellular phone may have several number assignment modules (NAMs), with a different configuration being associated with each NAM. Thus, in one implementation of the EVRC application described above, a user may configure each NAM to have different EVRC characteristics.
In another exemplary use of a method or apparatus according to an embodiment of the invention, an appliance is reconfigured to select a particular software application (such as a web browser) from among multiple such applications available. For example, the user may enter a configuration string to choose a particular web browser. Upon verification of the configuration string, the appliance is reconfigured to use the selected browser. As described above, such a method or apparatus allows additional functionality to be added during manufacture or at some later time (e.g. by downloading a software upgrade or addition), while postponing the activation of such functionality until the appropriate reconfiguration is performed.
In a further exemplary application of a method or apparatus according to an embodiment of the invention, a user interface of an appliance is customized. For example, a reseller of a device may wish to substitute a customized user interface (e.g. one that displays the logo of the reseller in each menu) for a default interface provided by the manufacturer. In this application, the reseller may work with the manufacturer during the manufacturing stage to develop and incorporate a user interface that is specific to the reseller, and/or the reseller may download such configurability into the appliance after manufacture. The reseller may then reconfigure the appliance to display the customized interface by entering the appropriate configuration string locally and/or remotely before retail sale.
In another application of a method or apparatus according to an embodiment of the invention, an appliance is reconfigured to alter a menu such that certain menu items are revealed or hidden. For example, when a user requests a service provider to activate a new feature, such as faxing capability, the service provider may provide a code (i.e. a configuration string) by which the user may reconfigure the appliance so that a menu item or items corresponding to that feature that were previously hidden are now available. As a result, use of the additional feature is enabled. Alternatively, continued support for a particular feature may require a new configuration string (supplied, for example, by subscription) to be inputted periodically, such that unless the configuration information is updated as required, the appliance will revert to a default configuration, thus hiding or otherwise disabling the feature.
The foregoing description of the invention is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments are possible, and the generic principles presented herein may be applied to other embodiments as well. For example, the invention may be implemented in part or in whole as a hard-wired circuit, as a circuit configuration fabricated into an application- specific integrated circuit, or as a firmware program loaded into non- volatile storage or a software program loaded from or into a data storage medium as machine-readable code, such code being instructions executable by an array of logic elements such as a microprocessor or other digital signal processing unit. Thus, the present invention is not intended to be limited to the embodiments shown above but rather is to be accorded the widest scope consistent with the principles and novel features disclosed in any fashion herein.

Claims

CLAIMSWe claim:
1. An apparatus comprising: a processor; and a storage area, wherein said apparatus has an operating mode and a programming mode, and wherein, when said apparatus is in said prograrnming mode, said processor is configured and arranged to receive a configuration string, and wherein, at a time subsequent to receiving said configuration string, said processor is configured and arranged to verify said configuration string, and wherein said storage unit is configured and arranged to receive configuration information, and wherein said configuration information is based at least in part on said configuration string, and wherein, when said apparatus is in said operating mode, an operation of said apparatus is based at least in part on said configuration information.
2. The apparatus according to claim 1, wherein said apparatus is a wireless communications device, and wherein said configuration information comprises vocoding parameters.
3. The apparatus according to claim 2, wherein said vocoding parameters relate to at least one vocoding data rate.
4. The apparatus according to claim 1, wherein the storage area comprises a nonvolatile semiconductor random-access memory.
5. The apparatus according to claim 1, said apparatus further comprising a keypad, wherein the configuration string is entered via said keypad coupled to said processing unit.
6. The apparatus according to claim 1, wherein said apparatus is a wireless communications device, and wherein at least a portion of said configuration information comprises an indication of one among a plurality of vocoding options.
7. A method comprising: receiving a configuration string; verifying the configuration string; and storing into a nonvolatile storage area configuration information based at least in part on the configuration string; wherein an operation of an apparatus is based at least in part on the configuration information.
8. The method according to claim 7, wherein the configuration string comprises a string of alphanumeric characters.
9. The method according to claim 7, wherein verifying the configuration string comprises (1) performing a predetermined operation upon at least one value, said at least one value relating to a first portion of the configuration string, and (2) comparing a result of said predetermined operation to a predetermined checksum value.
10. The method according to claim 9, wherein the predetermined checksum value is based at least in part on a second portion of the configuration string.
11. A method comprising: changing from an operating mode to a programming mode in response to a programming action; while in the programming mode, receiving a configuration string; verifying the configuration string; and storing configuration information, wherein said configuration information is based at least in part on said configuration string, and wherein the operating mode depends at least in part on said configuration information.
12. The method according to claim 11, wherein verifying the configuration string comprises (1) performing a predetermined operation upon at least one value, said at least one value relating to a first portion of the configuration string, and (2) comparing a result of said predetermined operation to a predetermined checksum value.
13. The method according to claim 12, wherein the predetermined checksum value is based at least in part on a second portion of the configuration string.
14. The method according to claim 11, wherein at least a portion of said configuration information comprises an indication of one among a plurality of vocoding options.
PCT/US2001/030801 2000-10-05 2001-10-02 Method and apparatus for appliance reconfiguration WO2002030143A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP01977356A EP1323322A2 (en) 2000-10-05 2001-10-02 Method and apparatus for appliance reconfiguration
KR10-2003-7004853A KR20030091936A (en) 2000-10-05 2001-10-02 Method and apparatus for appliance reconfiguration
AU2001296482A AU2001296482A1 (en) 2000-10-05 2001-10-02 Method and apparatus for appliance reconfiguration

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US68023500A 2000-10-05 2000-10-05
US09/680,235 2000-10-05

Publications (2)

Publication Number Publication Date
WO2002030143A2 true WO2002030143A2 (en) 2002-04-11
WO2002030143A3 WO2002030143A3 (en) 2002-08-29

Family

ID=24730288

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/030801 WO2002030143A2 (en) 2000-10-05 2001-10-02 Method and apparatus for appliance reconfiguration

Country Status (5)

Country Link
EP (1) EP1323322A2 (en)
KR (1) KR20030091936A (en)
CN (1) CN1468497A (en)
AU (1) AU2001296482A1 (en)
WO (1) WO2002030143A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101714094B (en) * 2008-09-29 2013-04-17 佳能株式会社 System including image forming device and server, and system control method

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5046082A (en) * 1990-05-02 1991-09-03 Gte Mobile Communications Service Corporation Remote accessing system for cellular telephones
DE4237395C1 (en) * 1992-11-05 1994-02-17 Siemens Ag Method for programming a base station using a handset
EP0680189A2 (en) * 1994-04-25 1995-11-02 AT&T Corp. User programmable configuration of a telephone
WO1997016938A1 (en) * 1995-10-30 1997-05-09 Nokia Telecommunications Oy Upgrading software in a mobile telephone
DE19633919C1 (en) * 1996-08-22 1997-06-05 Siemens Ag Program module updating method for mobile communications appts
EP0804046A2 (en) * 1996-04-26 1997-10-29 Nokia Mobile Phones Ltd. Method and apparatus for updating the software of a mobile terminal using the air interface
US5742910A (en) * 1995-05-23 1998-04-21 Mci Corporation Teleadministration of subscriber ID modules
WO1998038820A2 (en) * 1997-02-26 1998-09-03 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for remotely upgrading control software in a cellular telephone
US5974311A (en) * 1995-10-30 1999-10-26 At&T Wireless Services Inc. Method and apparatus for storing activation data in a cellular telephone
DE19818515A1 (en) * 1998-04-24 1999-11-04 Siemens Ag Method for programming a programmable radio and a corresponding programmable radio

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5046082A (en) * 1990-05-02 1991-09-03 Gte Mobile Communications Service Corporation Remote accessing system for cellular telephones
DE4237395C1 (en) * 1992-11-05 1994-02-17 Siemens Ag Method for programming a base station using a handset
EP0680189A2 (en) * 1994-04-25 1995-11-02 AT&T Corp. User programmable configuration of a telephone
US5742910A (en) * 1995-05-23 1998-04-21 Mci Corporation Teleadministration of subscriber ID modules
WO1997016938A1 (en) * 1995-10-30 1997-05-09 Nokia Telecommunications Oy Upgrading software in a mobile telephone
US5974311A (en) * 1995-10-30 1999-10-26 At&T Wireless Services Inc. Method and apparatus for storing activation data in a cellular telephone
EP0804046A2 (en) * 1996-04-26 1997-10-29 Nokia Mobile Phones Ltd. Method and apparatus for updating the software of a mobile terminal using the air interface
DE19633919C1 (en) * 1996-08-22 1997-06-05 Siemens Ag Program module updating method for mobile communications appts
WO1998038820A2 (en) * 1997-02-26 1998-09-03 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for remotely upgrading control software in a cellular telephone
DE19818515A1 (en) * 1998-04-24 1999-11-04 Siemens Ag Method for programming a programmable radio and a corresponding programmable radio

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101714094B (en) * 2008-09-29 2013-04-17 佳能株式会社 System including image forming device and server, and system control method

Also Published As

Publication number Publication date
WO2002030143A3 (en) 2002-08-29
CN1468497A (en) 2004-01-14
EP1323322A2 (en) 2003-07-02
AU2001296482A1 (en) 2002-04-15
KR20030091936A (en) 2003-12-03

Similar Documents

Publication Publication Date Title
CN100416500C (en) Methods and apparatus for generating upgraded software from initial software and software upgrade packages
JP4059523B2 (en) Communication operating system and method
US6550010B1 (en) Method and apparatus for a unit locked against use until unlocked and/or activated on a selected network
EP0995326B1 (en) Method for updating a memory in an electronic device via wireless data transfer
JP4494541B2 (en) Dual mode communication apparatus and method
RU2351088C2 (en) System and method of using and filtering metadata based on functional capabilities of wireless devices
US20020178003A1 (en) Method and apparatus for providing voice recognition service to a wireless communication device
US8660529B2 (en) Mobile terminal for preventing illegitimate change of identification number by matching authentication information
JP4528328B2 (en) Modular data components for wireless communication devices
WO2008086255A2 (en) Mobile device activation
JP4313888B2 (en) Telephone and telephone setting method
WO2004089011A1 (en) A wireless mobile phone with authenticated mode of operation including finger print based authentication
AU767086B2 (en) Method and apparatus for a unit locked against use until unlocked and/or activated on a selected network
CN102542206A (en) Method and device for adding authorized users to terminal
WO2002030143A2 (en) Method and apparatus for appliance reconfiguration
JP2001197196A (en) Portable terminal and information managing method for display for the same
CN101272539B (en) Classmark change message system and method
CN1954627B (en) Modular data components for wireless communication devices
CN1951094B (en) User interface methods, such as for customer self-support on a mobile device
JP2002259367A (en) Information registering method for electronic equipment, electronic equipment and computer program
KR101847050B1 (en) Mobile Terminal with Application Installation/Management Function
JP2003032740A (en) Mobile telephone terminal and customizing method therefor
WO2006132449A2 (en) System and method for remotely controlling computer
KR100655685B1 (en) Method for handling loss of mebile terminal and terminal used for the same
KR20050014103A (en) Mobile Devices with Mode for Inputting Text Preferentially

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PH PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1020037004853

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 018169341

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2001977356

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2001977356

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 1020037004853

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 2001977356

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP