Embedded rule engine for rendering text and other applications
First Claim
Patent Images
1. A handheld computing apparatus, comprising:
- a display to present human-readable information;
a user input facility; and
a digital data processing apparatus coupled to the display and the user input facility and programmed to provide the following;
at least one application program module programmed to perform designated application program tasks and currently configured such that output is presented in a current operating language, the application programs module further programmed to perform operations comprising;
responsive to events requiring the application program module to present given data, before any presenting of said given data the application program determining any of;
(1) if a type of said given data matches any entry of a predetermined type listing, (2) if an operation being performed by said application program upon said given data matches any entry of a predetermined operation listing;
where entries of the type listing include various data types all having the following in common;
different languages would require presentation of data of said data types differently solely due to said type of data and independent of any translation;
where the entries of the operation listing include various operations having the following in common;
different languages would require presentation of data undergoing any of said operations differently solely due to a nature of said operation and independent of any translation;
if said determining operation answers NO, then the application program module presenting the data;
if said determining operation answers YES, then the application program module refraining from presenting said given data and instead performing operations including invoking a rules engine as to said given data and identifying the current operating language to the rules engine and thereafter instead of presenting the given data presenting manipulated data returned by the rules engine;
a rules module prescribing rules to manipulate any of data matching said type listing or said operation listing for presentation appropriate to said current operating language, said manipulation being independent of translation;
a rules engine responsive to being invoked by any of the application programs modules to perform operations comprising identifying in said rules module each rule applicable to the given data and the current operating language, applying the identified rule to manipulate the given data for presentation appropriate to the current operating language, and returning the manipulated data to the application program module that invoked the rules engine.
8 Assignments
0 Petitions
Accused Products
Abstract
A computing apparatus includes a display to present human-readable information and a user input facility. A rule data store contains a statement of rules governing prescribed aspects of presenting data upon the display. These aspects include those aspects subject to variation by language whenever the following changes: type of data, and/or nature of user-operation being performed involving the data. A rules engine is configured to implement the rules. One or more common programs are configured to recognize conditions for applying the rules, and in response, to invoke the rules engine.
-
Citations
20 Claims
-
1. A handheld computing apparatus, comprising:
-
a display to present human-readable information; a user input facility; and a digital data processing apparatus coupled to the display and the user input facility and programmed to provide the following; at least one application program module programmed to perform designated application program tasks and currently configured such that output is presented in a current operating language, the application programs module further programmed to perform operations comprising; responsive to events requiring the application program module to present given data, before any presenting of said given data the application program determining any of;
(1) if a type of said given data matches any entry of a predetermined type listing, (2) if an operation being performed by said application program upon said given data matches any entry of a predetermined operation listing;where entries of the type listing include various data types all having the following in common;
different languages would require presentation of data of said data types differently solely due to said type of data and independent of any translation;where the entries of the operation listing include various operations having the following in common;
different languages would require presentation of data undergoing any of said operations differently solely due to a nature of said operation and independent of any translation;if said determining operation answers NO, then the application program module presenting the data; if said determining operation answers YES, then the application program module refraining from presenting said given data and instead performing operations including invoking a rules engine as to said given data and identifying the current operating language to the rules engine and thereafter instead of presenting the given data presenting manipulated data returned by the rules engine; a rules module prescribing rules to manipulate any of data matching said type listing or said operation listing for presentation appropriate to said current operating language, said manipulation being independent of translation; a rules engine responsive to being invoked by any of the application programs modules to perform operations comprising identifying in said rules module each rule applicable to the given data and the current operating language, applying the identified rule to manipulate the given data for presentation appropriate to the current operating language, and returning the manipulated data to the application program module that invoked the rules engine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 20)
-
-
16. A computer-implemented method of operating a handheld computing apparatus including a display to present human-readable information, a user input facility, and a digital data processing apparatus coupled to the display and the user input facility and programmed to provide at least one application program module, a rules module, and a rules engine, the method comprising operations of:
-
the application program module performing designated application program tasks and presenting output in a current operating language, the application program module performing further operations including; responsive to events requiring the application program module to present given data, before any presenting of said given data the application program determining any of;
(1) if a type of said given data matches any entry of a predetermined type listing, (2) if an operation being performed by said application program upon said given data matches any entry of a predetermined operation listing;where entries of the type listing include various data types all having the following in common;
different languages would require presentation of data of said data types differently solely due to said type of data and independent of any translation;where the entries of the operation listing include various operations having the following in common;
different languages would require presentation of data undergoing any of said operations differently solely due to a nature of said operation and independent of any translation;if said determining operation answers NO, then the application program module presenting the data; if said determining operation answers YES, then the application program module refraining from presenting said given data and instead performing operations including invoking a rules engine as to said given data and identifying the current operating language to the rules engine and thereafter instead of presenting the given data presenting manipulated data returned by the rules engine; the first rules module prescribing rules to manipulate any of data matching said type listing or said operation listing for presentation appropriate to said current operating language, said manipulation being independent of translation; the rules engine responding to being invoked by any of the application program modules to perform operations comprising identifying in said first rules module each rule applicable to the given data and the current operating language, applying the identified rule to manipulate the given data for presentation appropriate to the current operating language, and returning the manipulated data to the application program module that invoked the rules engine. - View Dependent Claims (17, 18)
-
-
19. A digital data processing apparatus for use in a handheld computing device having a display to present human-readable information and a user input facility, where said digital data processing apparatus comprises circuitry of multiple interconnected electrically conductive elements arranged to provide components including:
-
at least one application program module programmed to perform designated application program tasks and currently configured such that output is presented in a current operating language, the application programs module further programmed to perform operations comprising; responsive to events requiring the application program module to present given data, before any presenting of said given data the application program determining any of;
(1) if a type of said given data matches any entry of a predetermined type listing, (2) if an operation being performed by said application program upon said given data matches any entry of a predetermined operation listing;where entries of the type listing include various data types all having the following in common;
different languages would require presentation of data of said data types differently solely due to said type of data and independent of any translation;where the entries of the operation listing include various operations having the following in common;
different languages would require presentation of data undergoing any of said operations differently solely due to a nature of said operation and independent of any translation;if said determining operation answers NO, then the application program module presenting the data; if said determining operation answers YES, then the application program module refraining from presenting said given data and instead performing operations including invoking a rules engine as to said given data and identifying the current operating language to the rules engine and thereafter instead of presenting the given data presenting manipulated data returned by the rules engine; a rules module prescribing rules to manipulate any of data matching said type listing or said operation listing for presentation appropriate to said current operating language, said manipulation being independent of translation; a rules engine responsive to being invoked by any of the application program modules to perform operations comprising identifying in said rules module each rule applicable to the given data and the current operating language, applying the identified rule to manipulate the given data for presentation appropriate to the current operating language, and returning the manipulated data to the application program module that invoked the rules engine.
-
Specification