IP Library Granted Patent US 7,913,234
Granted Patent B2
US 7,913,234 · App. 11/352,318 · Granted Mar 22, 2011

Execution of textually-defined instructions at a wireless communication device

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,913,234
App. No.
11/352,318
Granted
Mar 22, 2011
Kind
B2
Abstract

Software, methods and devices for executing textually-defined instructions at a wireless communication device are disclosed. The instructions may be for performing a mathematical operation upon specified integer or floating-point operands, for performing one or more specified actions for each pass through a loop, for performing one of two sets of actions based on a user selection of one of two user interface controls, or for triggering a timer for delaying a subsequent action by a specified time interval. The instructions may be defined in a markup language such as Extensible Markup Language (XML). The software, methods and devices may form part of a system for allowing varied wireless communication devices to interact with server-side software applications.

Claims (49)

1. A wireless communication device, comprising:

a processor;

machine-readable memory in communication with said processor, storing machine-executable virtual machine software controlling operation of said device, said virtual machine software, upon execution by said processor, causing said device to:

receive a single markup language element defining a mathematical operation to be performed upon specified numerical operands; and

create, based on said single markup language element, an instance of an object-oriented class representative of the mathematical operation, said object-oriented class containing instructions for performing said mathematical operation,

wherein said single markup language element comprises, for each of said operands of said mathematical operation, a separate attribute identifying said operand,

wherein said numerical operands are floating point operands and wherein said single markup language element comprises an attribute indicating a desired number of decimal places to be displayed to the right of a decimal point of a floating point result of said mathematical operation, and

wherein said performing said mathematical operation comprises rounding a least significant digit of said floating point result that is to be displayed in accordance with said desired number of decimal places based on a value of a most significant digit of said floating point result that is not to be displayed in accordance with said desired number of decimal places.

2. A non-transitory machine-readable medium including machine-executable code that, when executed by a wireless communication device, causes said device to:

receive a single markup language element defining a mathematical operation to be performed upon specified numerical operands; and

create, based on said single markup language element, an instance of an object-oriented class representative of the mathematical operation, said object-oriented class containing instructions for performing said mathematical operation,

wherein said single markup language element comprises, for each of said operands of said mathematical operation, a separate attribute identifying said operand,

wherein said numerical operands are floating point operands and wherein said single markup language element comprises an attribute indicating a desired number of decimal places to be displayed to the right of a decimal point of a floating point result of said mathematical operation, and

wherein said performing said mathematical operation comprises rounding a least significant digit of said floating point result that is to be displayed in accordance with said desired number of decimal places based on a value of a most significant digit of said floating point result that is not to be displayed in accordance with said desired number of decimal places.

3. A method comprising, at a wireless communication device having a processor in communication with machine-readable memory storing machine-executable virtual machine software, executing said software to cause said device to:

receive a single markup language element defining a mathematical operation to be performed upon specified numerical operands; and

create, based on said single markup language element, an instance of an object-oriented class representative of the mathematical operation, said object-oriented class containing instructions for performing said mathematical operation,

wherein said single markup language element comprises, for each of said operands of said mathematical operation, a separate attribute identifying said operand,

wherein said numerical operands are floating point operands and wherein said single markup language element comprises an attribute indicating a desired number of decimal places to be displayed to the right of a decimal point of a floating point result of said mathematical operation, and

wherein said performing said mathematical operation comprises rounding a least significant digit of said floating point result that is to be displayed in accordance with said desired number of decimal places based on a value of a most significant digit of said floating point result that is not to be displayed in accordance with said desired number of decimal places.

4. A wireless communication device comprising:

a processor;

machine readable memory in communication with said processor, storing machine-executable virtual machine software controlling operation of said device, said virtual machine software comprising:

a parser for receiving a markup language document comprising a single markup language element defining a mathematical operation to be performed upon specified numerical operands;

a screen generation engine, for presenting at least one user interface screen at said device in accordance with said markup language document;

at least one event handling routine for processing events arising in response either to interaction with said at least one user interface screen or to a message received over a wireless network in accordance with said text file; and

at least one object-oriented class corresponding to an action to be performed by said device in response either to said interaction with said at least one screen or to said message received over said wireless network, said action comprising performing said mathematical operation upon said specified numerical operands,

wherein said numerical operands are floating point operands and wherein said single markup language element comprises an attribute indicating a desired number of decimal places to be displayed to the right of a decimal point of a floating point result of said mathematical operation, and

wherein said performing said mathematical operation comprises rounding a least significant digit of said floating point result that is to be displayed in accordance with said desired number of decimal places based on a value of a most significant digit of said floating point result that is not to be displayed in accordance with said desired number of decimal places.

5. The wireless communication device of claim 4 wherein said markup language is Extensible Markup Language (XML).

6. The wireless communication device of claim 1 wherein said single markup language element comprises an attribute identifying a variable for storing a result of said mathematical operation.

7. The wireless communication device of claim 1 wherein said performing said mathematical operation comprises:

applying string manipulation and string conversion operations to string representations of said floating point operands to obtain integers associated with said floating point operands;

performing integer operations upon said integers to obtain interim integer results;

converting said interim integer results into corresponding interim string results; and

applying string manipulation to said interim string results to obtain a string representation of a floating point result of said mathematical operation.

8. The non-transitory machine-readable medium of claim 2 wherein said single markup language element comprises an attribute identifying a variable for storing a result of said mathematical operation.

9. The non-transitory machine-readable medium of claim 2 wherein said performing said mathematical operation comprises:

applying string manipulation and string conversion operations to string representations of said floating point operands to obtain integers associated with said floating point operands;

performing integer operations upon said integers to obtain interim integer results;

converting said interim integer results into corresponding interim string results; and

applying string manipulation to said interim string results to obtain a string representation of a floating point result of said mathematical operation.

10. The method of claim 3 wherein said single markup language element comprises an attribute identifying a variable for storing a result of said mathematical operation.

11. The method of claim 3 wherein said performing said mathematical operation comprises:

applying string manipulation and string conversion operations to string representations of said floating point operands to obtain integers associated with said floating point operands;

performing integer operations upon said integers to obtain interim integer results;

converting said interim integer results into corresponding interim string results; and

applying string manipulation to said interim string results to obtain a string representation of a floating point result of said mathematical operation.

12. The wireless communication device of claim 4 wherein said single markup language element comprises, for each of said operands of said mathematical operation, a separate attribute identifying said operand.

Assignments (5)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Nov 6, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 034179/0923 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2011
From: NEXTAIR CORPORATION
To: RESEARCH IN MOTION LIMITED
Reel/Frame 025670/0465 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2006
From: NEIL, TIM; GRENIER, STEVE; CHALMERS, PAUL
To: NEXTAIR CORPORATION
Reel/Frame 017561/0439 →