The invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein:
The following description is of the best-contemplated mode of carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims.
Configurable unit conversion systems and methods thereof are provided in exemplary embodiments organized as:
1. System overview
2. Messaging
3. Configuration of the unit conversion system
4. Unit conversion
5. Hardware configuration
6. Variations
7. Conclusion
With reference to
User interface 107 receives a value of a unit to be converted (referred to as a source unit) and another unit to be converted into (referred to as a target unit).
Unit converter 101 performs unit conversion in response to user operations. With reference to
Communication module 104 transmits requests for new conversion information to an external device and receives response messages therefrom. With reference to
Update module 103 receives the message, extracts new conversion information therefrom, and integrates (or adds) the new conversion information to repository 105 or accordingly updates a set of existing conversion information therein. Unit converter 101 can accordingly utilize the new conversion information for unit conversion. Repository 105 is external to but readable by unit converter 101. Since the new conversion information is retrievable and readable by unit converter 101, no update, amendment, or recreation for unit converter 101 is required. In other words, unit converter 101 can offer new unit conversion functions in runtime without requiring suspension, update, recreation, or restart. The message may comprise a short message service (SMS) message, local messaging services (LMS) message, enhanced messaging services (EMS) message, multimedia messaging services (MMS) message, an e-mail, or a file. Update module 103 may transform unit conversion information in the received message to a predefined format. Update module 103 and communication module 104 may be also implemented by circuits or a computer program executed by a processor.
Unit conversion system 100, for example, transmits request 320 for new conversion information to device 300. Request 320 comprises sender ID 321 and receiver ID 322, required source unit 323 and target units 324. Sender ID 321 and receiver ID 322 may respectively comprise phone numbers, e-mail addresses, Internet protocol (IP) address or other identifiers of the sender and the receiver of request 320. Unit conversion system 100 can define the receiver ID as the phone number to which the desired conversion information is to be received for unit conversion. This number may be set as the self number of system 100 to allow self configuration. Device 300 can also be a server of an Internet or telecommunication service provider. Source unit 323 and target unit 324 respectively may be any unit of measure, such as length, speed, angle, mass, temperature, volume, density, time, currency, and others. An exemplary content of request message 320 content may be:
“From: 0977008321;
To: 0925696635;
Kg-Gm;
USD to INR
° F. to ° C.;
Feet-Inch”
After receiving request 320, device 300 transmits response 330 in response. Response 330 comprises signature 331, datasets 332 and 335. Each dataset comprises a unit identifier (such as unit identifier 333 or 336) and corresponding conversion information (such as conversion information 334 or 337) thereof. A response message may possibly include more or fewer datasets. An exemplary content of response message 330 content is given in the following.
Example One:
“Signature: E1D231459;
Kg-Gm 1000;
USD-INR 46.0;
F-C ((Tf−32)*5/9);
Feet-Inch 12”.
Signature 331 (such as “Signature: E1D231459”) may be compared to a predefined signature (such as signature 108 in
Device 300 may automatically utilize source unit 323 and target unit 324 as keywords to query a database of unit conversion information and compose response 330 with located conversion information. Note that the device may only locate desired unit information or more related units. For example, when conversion information of Fahrenheit (° F.) to Celsius (° C.) is requested in by request 320, device 300 may reply with Fahrenheit to Celsius, Celsius to Fahrenheit, and Fahrenheit to Kelvin (° K), and Celsius to Kelvin conversion information. When the ratio of a British length unit to a metric length unit is requested by request 320, device 300 may reply with ratios of respective British length units to respective metric length units. Alternatively, device 300 may provide a user interface to receive conversion information and compose response 330 thereby.
The request and response messages may be in various formats, such as tables, extensible markup language (XML) files or similar. Update module 103 can decode response messages, parse message content, extract unit conversion information therefrom, transform the same to a predefined format readable by unit converter 101, and stored the transformed data in a storage area retrievable by unit converter 101.
With reference to
When the retrieved signature is invalid, update module 103 saves the message in memory 102 (step S408). If necessary, the message may be recalled to apply conversion information therein. When the retrieved signature is valid, update module 103 issues a prompt asking a user to determine whether to apply conversion information in the received message (step S406). If not, update module 103 saves the message in memory 102 (step S408). If so, update module 103 parses the message (step S410) to extract new conversion information therefrom (step S412), and integrates the new conversion information to repository 105 (step S414).
Messages may be stored in an area of memory 102, referred to as an inbox, for future reviewing and re-application of conversion information therein to unit converter 101. That is, conversion information kept in messages in the inbox can be imported to repository 105 to provide unit converter 101 with a new unit conversion function based on the conversion information without updating the unit converter.
Additional security mechanisms may be applied. For example, update module 103 verifies the validity of the message (such as response 330) by identifying a sender ID (such as a phone number) therein, and integrates or adds the new conversion information to repository 105 only when the sender ID is valid. The sender ID is valid if matching the receiver ID (such as receiver ID 322) of the transmitted request (such as request 320).
During update of unit conversion information 106, unit identifiers (such as unit identifier 333 or 336) in the message are used as search key for locating a corresponding record in repository 105. If a record with the same ‘unit identifier’ is located in repository 105, update module 103 then prompts for overwriting confirmation.
A dataset in the message corresponds to a record in repository 105 if the source and target units in the dataset match those in the record. For each dataset extracted from the message, update module 103 searches unit conversion information 106 for corresponding records. In step S414, when a dataset in the message has a corresponding record in repository 105, update module 103 utilizes the dataset to update the record. Update module 103 integrates or adds a new dataset with no corresponding record to repository 105. For example, when data 201 in
When data 202 in
With reference to
Unit converter 101 utilizes the source and target units to search repository 105 for corresponding conversion information thereof (step S704) and determines if the corresponding conversion information is available in repository 105 (step S706). If so, unit converter 101 converts the value (such as 53 feet) of the source unit to a corresponding value in the target unit (such as inch) utilizing the corresponding conversion information (step S716), and displays the conversion result (step S718). If not, unit converter 101 directs communication module 104 to send a request for the corresponding conversion information (step S708). When receiving a corresponding response, such as response 330 (step S710), update module 103 extract and utilize new conversion information (such as “Feet-Inch 12”) therefrom to update unit conversion information 106 in repository 105 (step S712). Unit converter 101 retrieves (step S714) and utilizes the new conversion information (such as ratio “12” in “Feet-Inch 12”) corresponding to the source and target units to convert the value (such as 53 feet) (step S716) and display the result value of the conversion in the target unit (step S718). For example, unit converter 101 converts 53 feet to 636 inches.
With an update of unit conversion information 106 in repository 105, unit converter 101 may remain unchanged. Information 106 in repository 105 is independent from but retrievable by unit converter 101. Thus, unit converter 101 can offer new unit conversion functions in runtime without requiring suspension, update, re-creation, or restart.
Unit conversion system 100 may be implemented in various electronic devices, an example of which is given in the following.
With reference to
In electronic device 10, processor 1 controls operation of the entire system as it fetches and executes software codes stored in memory 3. Memory controller 2 serves as the bridge between processor 1 and memory 3 to transfer data therebetween. Input controller 4 detects states of input device 5 and provides input signals accordingly to processor 1. Input device 5 may comprise a keypad, a touch panel, a touch display, and/or a voice control device by which measurable quantity data may be input. Note that a source unit and a target unit may be selected via any control interface such as voice commands, a mechanical button on the keypad, a virtual button, drop list, or other graphical user interface (GUI) element shown on display 9.
Timer 6 provides timing information to processor 1, so that processor 1 can determine the occurrence time of certain events, such as reception of incoming messages, and duration, the starting or ending time of locating unit conversion information. Timer 6 may comprise a plurality of timing devices, such as a clock reporting current time and a timer triggering events or operations. Display 9 may display user interface 107 in
Communication module 7 receives and transmits data through a cabled or wireless communication channel. Communication module 7 may comprise infrared, radio frequency (RF), Bluetooth, or other transceiver. Additionally, when unit conversion system 100 is embodied in a mobile phone, communication module 7 can be a cellular MODEM unit, such as a GSM/GPRS or W-CDMA communication module, which communicates with the cellular network in compliance with the Wireless Application Protocol (WAP), GSM/GPRS or W-CDMA standards.
Data outgoing to computer 20 may be prepared and provided by processor 1, or preferably by DMA controller 8 which obtains a data unit from memory 3 through memory controller 2 without intervention of processor 1.
In some embodiments of the electronic device, two components (such as processor 1, memory controller 2, memory 3, or DMA controller 6) may be integrated into a single chip. Some embodiments of the electronic device may comprise only a portion of the elements in
Unit conversion system 100 may also provide options for deleting the existing conversion information. This helps control the number of unit conversion functions available on unit conversion system 100. Unit conversion system 100 may also provide options to re-apply the existing unit conversion information again from an inbox storing messages.
Signature identification may be disabled or excluded in some embodiments of the configurable unit conversion system. Message parsing may start immediately upon message reception or display. The signature identification time may be modified to any time after message reception, before message display or data repository update. Unit conversion information with no valid signature may be applied if authorized by a system user.
Receiving unit conversion logic as plug-ins to unit converter 10 is possible. A unit conversion logic comprises not only unit conversion information but also codes for implementing unit conversion formulas or enhancing user interface 107.
Because messages can be received to import new unit conversion information to a data repository of unit conversion system 100, the unit converter is highly adaptable to local needs. Since all countries have local currencies, length and mass units, the system may be dynamically configured to support unit conversion therebetween by message exchange and data update. Unit conversion system 100 can send messages to itself or get unit conversion information from external devices with desired unit conversion information. Additionally, because the communication may be based on standard messaging, most devices can support the communication.
While the invention has been described by way of example and in terms of preferred embodiment, it is to be understood that the invention is not limited thereto. To the contrary, it is intended to cover various modifications and similar arrangements (as would be apparent to those skilled in the art). Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.
Number | Date | Country | Kind |
---|---|---|---|
1501/DEL/2006 | Jun 2006 | IN | national |