Build message communication system utilizing data tables containing message defining data and corresponding codes5884248Abstract A communication paging device whereby the coding mechanism allows messages to be constructed using bit-stream syntax blocks. Each syntax block is designated with a category such as a sentence format, subject, verb, location modifier, location, date modifier, date, time, and etc. Within each syntax block category is a set of variable code values that will translate into a screen display of alphanumeric characters to form both words and graphical screen elements. By using the coding mechanism, the syntax blocks are concatenated to form meaningful sentences with words arranged in a logical syntax order for that particular language. The conjugation of words in the sentence are easier and require less Boolean type functions to arrive at the conjugate word. The use of syntax blocks gives flexibility to allow conversion of statement sentences to question sentences, and question sentences into statement sentences. The use of syntax blocks also allow sentence structure conversion from a pager of one language into a receiving pager of a different language. The use of syntax blocks also reduces the amount of memory, and transmission bandwidth needed to transmit the data. Claims What is claimed is: Description BACKGROUND OF THE INVENTION
______________________________________
IF (CATEGORY == THE MEETING IS)
THEN IF (FORMAT == STATEMENT)
THEN IF (STATEMENT FORMAT == POSITIVE)
THEN IF (VERB TENSE == PAST)
SUBJECT AND VERB = The meeting was;
ELSE IF (VERB TENSE == PRESENT)
SUBJECT AND VERB == The meeting is;
ELSE . . .
END IF
ELSE
THEN IF (VERB TENSE == PAST)
SUBJECT AND VERB = The meeting wasn't;
ELSE IF (VERB TENSE == PRESENT)
SUBJECT AND VERB = The meeting isn't;
ELSE . . .
END IF
ELSE
THEN IF (QUESTION FORMAT == WHERE)
THEN IF (VERB TENSE == PAST)
SUBJECT AND VERB = Where was the meeting;
ELSE IF (VERB TENSE == PRESENT)
SUBJECT AND VERB = Where is the meeting;
ELSE . . .
END IF
ELSE IF (QUESTION FORMAT == WHEN)
THEN IF (VERB TENSE == PAST)
SUBJECT AND VERB = When was the meeting;
ELSE IF (VERB TENSE == PRESENT)
SUBJECT AND VERB = When is the meeting;
ELSE . . .
END IF
ELSE . . .
END IF
END IF
ELSE IF (CATEGORY == I/YOU CALL)
THEN . . .
______________________________________
It is to be noted that the order and ranking of the decisions made would be different for each language to be displayed. Alternatively, the phrases could mostly be encoded into a series of tables, and the various code values used as offsets into these tables. Again, the exact data in the tables, and the order of use of the various code values and offsets would be different for each language to be displayed. The present invention presented here is not dependent on the precise mechanism used to interpret the code stream; rather, the present invention is the code mechanism, values and approach to encoding, and the capabilities they provide. As an illustration of the display resulting from a code stream input, the following shows the syntax structure to build an English statement sentence for EXAMPLE 2. ›Format (s)!+›Category!+›Verb tense and sense!+›Location modifier!+›Location!+›Data modifier!+›Data unit & value!+›Time!+›Time modifier!+›Diacritical mark! The following illustrates how syntax block code values generally correspond to the above syntax structure. ›0!›3!+›0! THE MEETING (IS)+›2! WILL BE+›1! AT MY+›1! OFFICE+›0!+›2!&›3! TUESDAY+›3!&›0!@3:00+›1! PM+›0! The following is a syntax structure of the syntax block categories to build an English question sentence for EXAMPLE 1. ›Format (s)!+›Verb tense!+›Subcategory!+›Verb (positive or negative)!+›Location modifier!+›Location!+›Date modifier!+›Date!+›Time!+›Time modifier!+›Diacritical mark! The following is a syntax structure of the syntax block code values to build an English question sentence for the above syntax structure. ›0!›3!+›1! WILL+›0! THE MEETING+›1! BE+›2!AT YOUR+›1! OFFICE+›0!+›1! TUESDAY+›3!&›0! @3:00+›1! PM+›0!? The mechanism used to display these messages, if based on IF . . . THEN . . . ELSE structure, is shown as follows.
______________________________________
GET CATEGORY FROM CODE STREAM INPUT
IF (CATEGORY == 0)
/* THE MEETING (TO BE) */
THEN
GET FORMAT FROM CODE STREAM INPUT
IF (FORMAT == 0)
/* STATEMENT */
THEN
GET STATEMENT FORMAT FROM CODE STREAM INPUT
IF (STATEMENT FORMAT == 3)
/* POSITIVE */
THEN
GET VERB TENSE FROM CODE STREAM INPUT
IF (VERB TENSE == 2)
SUBJECT AND VERB == THE MEETING WILL BE;
END IF
END IF
END IF
END IF
GET LOCATION CLAUSE FROM CODE STREAM INPUT
IF (LOCATION CLAUSE > 0 & LOCATICN CLAUSE < 25) THEN
IF (0 < LOCATION CLAUSE < 5)
LOCATION STRING == OFFICE
END IF
END IF
GET LOCATION MODIFIER FROM LOCATION CLAUSE
IF (LOCATION MODIFIER == 1)
LOCATION STRING == AT MY + LOCATION STRING
END IF
GET DATE UNIT FROM CODE STREAM INPUT
IF (DATE UNIT == 2) THEN
GET DATE VALUE FROM CODE STREAM INPUT
IF (DATE VALUE == 2) THEN
DATE STRING == TUESDAY
END IF
END IF
GET DATE MODIFIER FROM CODE STREAM INPUT
IF (DATE MODIFIER == 0) THEN
DATE STRING ==
+ DATE STRING
END IF
GET TIME HOURS FROM CODE STREAM INPUT
IF (TIME HOURS == 3) THEN
TIME STRING = 3:
END IF
GET TIME MINUTES FROM CODE STREAM INPUT
IF (TIME MINUTES == 0) THEN
TIME STRING = TIMESTRING + 00
END IF
GET TIME MODIFIER FROM CODE STREAM INPUT
IF (TIME MODIFIER == 1) THEN
TIME STRING = TIME STRING + PM
END IF
IF (FORMAT == 0) THEN
MESSAGE STRING = subject And verb + LOCATION STRING +
TIME STRING
MESSAGE STRING = MESSAGE STRING +
END IF
______________________________________
The following are various examples of English statement messages formed of ›Format+Category!+›Verb tense & sense!+›Location modifier!+›Location!+›Date modifier (unused)!+›Date unit & value!+›Date unit & value!+›Time!+›Diacritical mark!.
______________________________________
›THE MEETING! ›IS! ›AT THE! ›OFFICE! ›FRIDAY! ›@5:00 PM! ›.!
›THE MEETING! ›WILL BE! ›AT THE! ›OFFICE! ›FRIDAY!
›@5:00 PM! ›.!
›THE MEETING! ›WAS! ›AT THE! ›OFFICE! ›FRIDAY! ›@5:00 PM!
›.!
›THE MEETING! ›ISN'T! ›AT MY! ›HOME! ›TUESDAY! ›@2:00 PM!
›.!
›THE PACKAGE! ›WONT BE! ›AT MY! ›HOME! ›TUESDAY! ›@2:00
PM! ›.!
›THE PACKAGE! ›WASN'T! ›AT MY! ›HOME! ›TUESDAY! ›@2:00
PM! ›.!
›THE MEETING! ›IS! ›AT YOUR! ›SITE! ›WEDNESDAY! ›@9:30
AM! ›.!
›THE MEETING! ›WILL BE! ›AT YOUR! ›SITE! ›WEDNESDAY!
›@9:30 AM! ›.!
›THE MEETING! ›WAS! ›AT
YOUR! ›SITE! ›WEDNESDAY! ›@9:30AM! ›.!
›I! ›AM! ›AT THE! ›CLUB! ›TODAY! ›@6:15 PM! ›.!
›I! ›WILL BE! ›AT THE! ›CLUB! ›TODAY! ›@6:15 PM! ›.!
›I! ›WAS! ›AT THE! ›CLUB! ›TODAY! ›@6:15 PM! ›.!
›YOU! ›AREN'T! ›AT THE! ›PLANT! ›TOMORROW! ›@8:45 AM! ›.!
›YOU! ›WON'T BE! ›AT THE! ›PLANT! ›TOMORROW! ›@8:45 AM!
›.!
›YOU! ›WEREN'T! ›AT THE! ›PLANT! ›YESTERDAY! ›@8:45 AM!
›.!
______________________________________
The following are various examples in English question messages formed of ›Format+Verb tense!+›Category & subcategory!+›Location modifier!+›Location!+›Date modifier!+›Date!+›Time!+›Diacritical mark!.
______________________________________
›IS! ›THE MEETING! ›AT THE! ›OFFICE! ›FRIDAY! ›@5:00 PM! ›?!
›WILL (BE)! ›THE MEETING BE! ›AT
THE! ›OFFICE! ›NEXT! ›FRIDAY!
›@5:00 PM! ›?!
›WAS! ›THE MEETING! ›AT THE! ›OFFICE! ›LAST! ›FRIDAY!
›@5:00 PM! ›?!
›IS! ›THE MEETING! ›AT YOUR! ›SITE! ›WEDNESDAY! ›@9:30
AM!!›?!
›WILL (BE)! ›THE MEETING BE! ›AT YOUR! ›SITE! ›NEXT!
›WEDNESDAY! ›@9:30 AM! ›?!
›WAS! ›THE MEETING! ›AT YOUR! ›SITE! ›WEDNESDAY! ›@9:30
AM! ›?!
›AM! ›I! ›AT THE! ›CLUB! ›TODAY! ›@6:15 PM! ›?!
›WILL BE! ›I! ›AT THE! ›CLUB! ›TODAY! ›@6:15 PM! ›?!
›WAS! ›I! ›AT THE! ›CLUB! ›TODAY! ›@6:15 PM! ›?!
›WHERE IS! ›THE MEETING! ›TODAY! ›?!
›WHERE WILL (BE)! ›THE MEETING BE! ›NEXT! ›FRIDAY! ›?!
›WHERE WAS! ›THE MEETING! ›LAST! ›MONTH! ›?!
›WHEN IS! ›THE MEETING! ›AT YOUR! ›SITE! ›?!
›WHEN WILL (BE)! ›THE MEETING BE! ›AT! ›HOSPITAL! ›?!
›WHEN WAS! ›THE MEETING! ›AT THE! ›SCHOOL! ›?!
›WHERE & WHEN IS! ›THE MEETING! ›?!
›WHERE & WHEN WILL (BE)! ›THE MEETING BE! ›?!
›WHERE & WHEN WAS! ›THE MEETING! ›?!
›COULD (BE)! ›THE MEETING BE! ›AT YOUR! ›OFFICE!
›@2:30 PM! ›?!
›SHOULD (BE)! ›THE MEETING BE! ›AT YOUR! ›OFFICE!
›@2:30 PM! ›?!
›WHERE IS! ›THE PACKAGE! ›?!
›WHERE WILL (BE)! ›THE PACKAGE BE! ›?!
›WHERE WAS! ›THE PACKAGE! ›?!
›WHEN IS! ›THE PACKAGE! ›AT YOUR! ›OFFICE! ›?!
›WHEN WILL (BE)! ›THE PACKAGE BE! ›AT MY! ›HOME! ›?!
›WHEN WAS! ›THE PACKAGE! ›HERE! ›?!
›WHERE ARE! ›YOU! ›?!
›WHERE WILL (BE)! ›YOU BE! ›?!
›WHERE WERE! ›YOU! ›?!
›CAN (BE)! ›YOU BE! ›AT! ›HOME! ›TODAY! ›?!
›WHERE & WHEN WILL (BE)! ›YOU BE! ›?!
›CAN (BE)! ›THE MEETING BE! ›AT MY! ›OFFICE! ›NEXT!
›MONDAY! ›@9:45 AM! ›?!
______________________________________
It is to be noted that if the question starts with "where" (i.e., the question format is 0), then the location clause is unused (after all, the location is what is being asked). Similarly, if the question starts with "when", the date/time clauses are unused. Coding mechanism to conjugate messages will be described hereinafter. Conjugating messages is comprised of incorporating the right verb & tense for the category and subcategory, and constructing words or phrases as deemed appropriate for the language. The process uses Boolean functions in a series of YES or NO responses to a set of instructions. For example, to conjugate the correct verb for the category "I AM", the Boolean functions could present the following formula:
______________________________________
IF FORMAT = 0
IF SUBJECT CATERGORY = 0
THEN VERB = ›THE MEETING WAS, THE MEETING IS,
THE MEETING WILL BE, THE MEETING SHOULD BE, THE
MEETING SHOULD BE!
Else IF CATEGORY = 2
THEN IF SUBCATEGORY = 0
VERB = ›I WAS, I AM, I WILL BE, I SHOULD BE,
COULD BE!
ELSE
VERB = ›YOU WERE, YOU ARE, YOU WILL BE, YOU
SHOULD BE, COULD BE!
END IF
ELSE . . .
______________________________________
The process is useful not only for displaying the results of received codes, but also makes the process of building a message simpler. Unlike the prior art, which requires display of all available words for category, verb, verb tense, etc., the present invention allows for display of only the currently relevant data. One of the embodiments of the present invention guides the user by first asking them to select from a list which category they wish. The user then answers various appropriate questions, such as whether the message is a statement or question, or if a statement is positive or negative. When just two or three queries have been answered, the message can be displayed, as text, properly formed and conjugated. Furthermore, the Boolean functions could then direct the sequence along the proper path to the next set of choices, always forming a proper sentence. In an example of fitting the verb/noun choice into the proper order, the following two examples show how the noun "THE MEETING" and the verb "TO BE" are used in different positions between a statement sentence and a question sentence. An example for a syntax structure code value for an English statement sentence. ›0!+›0! THE MEETING+›1! WILL BE+ . . . An example for a syntax structure code value for an English question sentence. ›1!+›1! WILL+›0! THE MEETING+›1! BE+ . . . The steps are as follows: 1) The coding mechanism reads the code value for format, statement/question format, category, subcategory, and verb tense, and directs the Boolean functions to display the phrase "THE MEETING WILL BE" for the statement sentence, and split the verb to display "WILL THE MEETING BE" for the question sentence. 2) The coding mechanism continues to read all the code values in the message, and directs the Boolean functions to properly conjugate and contract the words based on the format and subject category of the sentence, such words for: Verb, Location modifier, Location, Date modifier, Date, Time, Time modifier. This results in creating meaningful sentences while reducing the chance that nonmeaningful sentences will be created. In essence, the paging device may appear as if it has some intelligence, although the resulting screen displays are preprogrammed, and the decisions are acted upon to YES or NO responses to the user input. The coding mechanism to transpose messages will be described hereinafter. Transposing messages is the process of automatically changing certain syntax code values, and thus rearranging the position of the sentence elements to follow a different syntax pattern. This transposition is particularly useful for automatically generating replies to messages by converting statement sentences into question sentences, and question sentences into statement sentences. The process is illustrated in EXAMPLE 1 and EXAMPLE 2 of the code values-and-displays examples. The question "WILL THE MEETING BE AT YOUR OFFICE TUESDAY @3:00 PM?" is transposed to the reply "THE MEETING WILL BE AT MY OFFICE TUESDAY @3:00 PM" by only two changes. The format value is changed from ›1!(question) to ›0!(statement), and the modifier subcode of the location clause is changed from ›2!(at your) to ›1!(at my). The rearrangement is all accomplished by the display mechanism. In all cases, the basic format for a reply is created by transposing at most three values; the format, the subcategory, and the location modifier. The need for some further decisions are recognized by Boolean functions, and appropriate substitutions made. For example, when a statement message has either its location or date/time clause blank (or both) (e.g. THE MEETING IS TODAY.), then an automatically transposed question would ask for the information (e.g. WHERE IS THE MEETING TODAY?). This process not only serves to keep communication on topic, but saves the process of having the user create such a response from scratch. If the user desires a different response/reply, the option is available, but the code values and coding mechanism allow the most likely answer to be generated directly. The coding mechanism to translate messages will be described hereinafter. Translating messages is displaying a sentence from one language into another and adjusting for word change and syntax order to fit each particular language. The only change necessary to support languages other than English is to change the coding/display mechanisms. The list of choices shown in FIGS. 3 to 6 need not be modified for each particular language; only the resulting displays do. To translate an English message into a French message, the French paging device reads the code values that are transmitted from the English paging device, and looks up the preprogrammed phrases, words, and diacritical marks that correspond to the code stream input, and repeats the search and display until the entire message is displayed on-screen in French. An important point is that the message is not translated directly; rather, the code stream is interpreted to display a message in the other language. The following shows a French syntax order and translation of an English message (THE MEETING WILL BE AT MY OFFICE TUESDAY @3:00 PM). The steps are as follows: 1) The French paging device's coding mechanism looks up the format code value transmitted by the English paging device, and structures the syntax according to the rules of the French language. 2) The coding mechanism continues to read the code values and displays the French counterpart of the words for: Statement/Question Format, Category, Subcategory, Verb tense, Location clause, Date modifier, Date, Hours, Minutes, Time modifier. This results in translating meaningful sentences and making translation even possible. In essence, the paging device may appear as if it has some intelligence, although the resulting screen displays are preprogrammed, and the code stream acted upon by IF . . . THEN . . . ELSE decisions. Another aspect of the particular coding mechanism represented in the current invention is that a class of messages can benefit from considerable data compression. The coding mechanism as compression will be described hereinafter. The limited choices shown in FIGS. 3 to 6 can be represented in a binary-based code, allowing the message to be sent in a compact, coded form rather than as a stream of ASCII characters. The information coded by the coding mechanism is communicated between devices as a binary data stream. The stream is constructed by concatenating the code bits (code value binary encoding), representing the code value shown in FIGS. 3 to 6 into a single stream of either 31 or 103 bits, as follows.
______________________________________
Code Value Name Code Bits
______________________________________
Format 1
Statement/Question Format
2
Category 3
Subcategory 1
Verb Tense 3
Location Clause 5
Date Modifier 2
Date Unit 3
Date Value 4
Date Value 2
Time (Hours) 1
Time (Minutes) 2
Time Modifier 1
Total Message Bits 31
Optional Custom Location
72
Worst Case Total 103
______________________________________
The 103-bits code is used in the case of a location clause calling for a custom location string, and the added 72 bits represent 12 ASCII characters. To illustrate how this contributes to compression, the message "THE MEETING WILL BE AT MY OFFICE TUESDAY @3:00 PM." (EXAMPLE 2) will be used. This message contains 51 characters; standard Alphanumeric systems use 7 bits to represent each character, resulting in a message length of 357 bits: 51 (characters/message).times.7 (bits/character)=357 (bits/message) The built message coding mechanism, on the other hand, uses just 31 bits (without a custom location string), regardless of the length of the ASCII equivalent. In the above example, this represents almost a 12-to-1 compression. Even if the message contains a custom location string, ratios of at least 3-to-1 are obtained. For this particular embodiment, in a paging device, this compression directly results in the ability for a paging system to carry more messages, and thus increase subscribers and profits. The detailed operation will be described with reference to the flowcharts shown in FIG. 8 et seq. When the power of the device is turned on, the screen display 12 displays a main menu at step S1 of FIG. 8. The main menu is comprised of three lines of display; READ MESSAGE, SEND MESSAGE, MAINTAIN DEVICE, as shown in FIG. 9A. If the function-1 button 20 is depressed to select READ MESSAGE, the screen display 12 displays a read message menu at step S2. The read message menu is comprised of four lines of display: READ SAVED MESSAGES, READ NEW MESSAGES, READ SENT MESSAGES, and a new message icon 70 indicating that a new message has been received, as shown in FIG. 9B. On the read message menu, if the function-2 button 22 is depressed to select READ NEW MESSAGES, the screen display 12 displays a new message at step S3. If the exit/enter button 34 is depressed after reading the new message, the screen display 12 displays a message option menu at step S4. The message option menu is comprised of four lines of display: REPLY TO/RESEND MESSAGE, PREVIOUS MESSAGE, NEXT MESSAGE, DELETE MESSAGE, as shown in FIG. 9C. On the message option menu, if the function-1 button 20 is depressed to select REPLY, the screen display 12 displays a reply menu at step 5. The reply menu is comprised of four lines of display: YES, NO, AUTO REPLY, BUILD REPLY, as shown in FIG. 9D. On the other hand, on the main menu, if the function-2 button 22 is depressed to select SEND MESSAGE, the screen display 12 displays a send message menu at step S6. The send message menu is comprised of three lines of display: BUILD MESSAGE, SELECT ADDRESS, TRANSMIT MESSAGE, as shown in FIG. 9E. On the send message menu, if the function-1 button 20 is depressed to select BUILD MESSAGE, the screen display 12 displays a build message menu at step S7. The build message menu is comprised of four lines of display: CHOOSE A CATEGORY (a heading), THE MEETING IS, THE PACKAGE IS, I AM/YOU ARE, as shown in FIG. 9F. As described, the user of the present paging unit can easily select suitable options according to the guidance menu display. FIG. 10 is a flowchart showing a build message procedure of step S7 in FIG. 8. At step S11, a category "THE MEETING IS" is selected on the build message menu (FIG. 9F). At step S12, a statement/question menu as shown in FIG. 11A is displayed. The statement/question menu displays: DO YOU WANT A STATEMENT OR A QUESTION ABOUT A MEETING?. The user designates a statement or a question. It is determined at step S13 whether the question is designated. If the question is designated, a question format menu as shown in FIG. 11B is displayed at step S14. The question format menu displays: WHERE WHEN . . . , WHERE AND WHEN . . . , {NO PREFIX}. It is determined at step S15 whether the subcategory should be designated. If the subcategory should be designated, I/YOU selection is executed at step S16. If the statement is designated at step S13, it is determined at step S17 whether the subcategory should be designated. If the subcategory should be designated, I/YOU selection is executed at step S18. At step S19, a statement format menu is displayed. After steps S16 and S19, a conjugation procedure is executed at step S20. At step S20, a conjugation message menu as shown in FIG. 11C is displayed. The conjugation message menu displays: IS THE MEETING, {AT LOCATION}, {INSERT DATE/TIME}. FIG. 12 is a flowchart showing a conjugation procedure of step S20 in FIG. 10. At step S31, a verb tense (in this example, present) is changed to a future tense. At step S32, a location clause "AT YOUR OFFICE" is added. Therefore, as shown in FIG. 13A, the screen displays: WILL THE MEETING BE AT YOUR OFFICE {INSERT DATE/TIME}?. At step S33, a time/date "TUESDAY @10:30 AM" is inserted. Therefore, as shown in FIG. 13B, the screen displays: WILL THE MEETING BE AT YOUR OFFICE TUESDAY @10:30 AM ?. As described above, the message can be easily built according to the guidance menu display. The detailed process to build a message will be described with reference to a flowchart shown in FIGS. 14 to 16. The process to create a message is done by the user entering functions that are prompted by the paging device. The paging device then responds to the user input and brings up the next submenu list of choices. The various choices made are saved as code values for the final message code. This process is repeated until the message is completed and the code is transmitted. For example, to build a message that displays: THE MEETING IS AT MY OFFICE TOMORROW @10:30 AM, the following steps are taken. When the user starts the paging device, the main menu is displayed at step S100. The screen displays: READ MESSAGE, SEND MESSAGE, MAINTAIN DEVICE. The user invokes the function-2 button 22 to select SEND MESSAGE at step S102. The screen displays: BUILD MESSAGE, SELECT ADDRESS, TRANSMIT MESSAGE. The user invokes the function-1 button 20 to select BUILD MESSAGE at step S104. The screen displays category choices of: A MEETING, A PACKAGE, WHERE I/YOU ARE, A PHONE CALL. The user invokes the function-2 button 22 to select A MEETING at step S106. This choice is recorded as the value for category. The screen displays: DO YOU WANT A STATEMENT OR A QUESTION ABOUT A MEETING?. The user invokes the function-2 button 22 to select STATEMENT at step S108. This choice is recorded as the value for format. The screen displays: THE MEETING IS, THE MEETING ISN'T. The user invokes the function-1 button 20 to select THE MEETING IS at step S110. This choice is recorded as the value for statement format. The screen displays: THE MEETING IS {AT LOCATION} {INSERT DATE/TIME}. The user invokes the function-3 button 24 to select {AT LOCATION} at step S112. The screen displays: NO LOCATION PHRASE, RELATIVE (HERE, THERE), AT {GENERIC}, AT {CUSTOM}. The user invokes the function-3 button 24 to select AT {GENERIC} at step S114. The screen displays: OFFICE, HOME, SCHOOL, SITE, HOSPITAL, RESTAURANT. The user invokes the function-1 button 20 to select OFFICE at step S116. The screen displays: AT THE OFFICE, AT MY OFFICE, AT YOUR OFFICE, AT OFFICE. The user invokes the function-2 button 22 to select AT MY OFFICE at step S118. This choice is recorded as the value for location clause. The screen displays: THE MEETING IS AT MY OFFICE {INSERT DATE/TIME}. The user invokes the function-4 button 26 to select {INSERT DATE/TIME} at step S120. The screen displays: {INSERT DATE}, @{INSERT TIME}. The user invokes the function-1 button 20 to select {INSERT DATE} at step S122. The screen displays: RELATIVE DAY, DAY OF WEEK, MONTH OF YEAR, YEAR. The user invokes the function-1 button 20 to select RELATIVE DAY at step S124. This choice is recorded as the value for date units. The screen displays: YESTERDAY, TODAY, TOMORROW. The user invokes the function-3 button 24 to select TOMORROW at step S126. This choice is recorded as the value for date value. The screen displays: TOMORROW, @{INSERT TIME}. The user invokes the function-2 button 22 to select {INSERT TIME} at step S128. The screen displays: 12:00 PM, 1:00 PM, 2:00 PM, 3:00 PM. The user invokes the up button 30. The screen displays: 8:00 AM, 9:00 AM, 10:00 AM, 11:00 AM. The user invokes the function-3 button 24 to select 10:00 AM at step S132. This choice is recorded as the values for time modifier and time hour. The screen displays: 10:00 AM, 10:15 AM, 10:30 AM, 10:45 AM. The user invokes the function-3 button 24 to select 10:30 AM at step S134. This choice is recorded as the value for time minutes. The screen displays: THE MEETING IS AT MY OFFICE TOMORROW @10:30 AM. The user invokes the exit button 34 at step S136 to end the build message procedure. The screen displays: BUILD MESSAGE, SELECT ADDRESS, SEND MESSAGE. The user invokes the function-2 button 22 to select SEND MESSAGE at step S138. The screen displays: NORMAL PRIORITY, REPLY NOT REQUESTED, ADD TELEPHONE NUMBER, TRANSMIT. The user invokes the function-4 button 26 to select TRANSMIT at step S140. The message thus built is then transmitted to the base station through the transmitter 52 and the antenna 50. The screen display returns to the main menu. The detailed process to send a message will be described with reference to the flowchart shown in FIG. 17. When the user starts the paging device, the main menu is displayed at step S200. The screen displays: READ MESSAGE, SEND MESSAGE, MAINTAIN DEVICE. The user invokes the function-2 button 22 to select SEND MESSAGE at step S202. The screen displays: BUILD MESSAGE, SELECT ADDRESS, TRANSMIT MESSAGE. The user invokes the function-2 button 22 to select SELECT ADDRESS at step S204. The screen displays: USE ADDRESS BOOK, CREATE ADDRESS. The user invokes the function-1 button 20 to select USE ADDRESS BOOK at step S206. The screen displays: ADDRESS BOOK ENTRY #N; TEXT, ADDRESS BOOK ENTRY #N+I; TEXT, ADDRESS BOOK ENTRY #N+2; TEXT, ADDRESS BOOK ENTRY #N+3; TEXT. "ADDRESS BOOK ENTRY #N; TEXT" indicates that the text portion of entry #N of the address book is displayed. The user invokes the function-1 button 20 to select ADDRESS BOOK ENTRY #N; TEXT at step S208. The screen displays: BUILD MESSAGE, SELECT MESSAGE, SEND MESSAGE. The user invokes the function-2 button 24 to select SEND MESSAGE at step S210. The message is then transmitted to the base station through the transmitter 52 and the antenna 50 at step S212. The screen display returns to the main menu. The detailed process to reply to a message will be described with reference to the flowchart shown in FIGS. 18 and 19. When the user starts the paging device, the main menu is displayed at step S300. The screen displays: READ MESSAGE, SEND MESSAGE, MAINTAIN DEVICE. The user invokes the function-1 button 20 to select READ MESSAGE at step S302. The screen displays: READ SAVED MESSAGES, READ NEW MESSAGES, READ SENT MESSAGES. The user invokes the function-1 button 20 to select READ SAVED MESSAGES at step S304. At step S306, a subroutine "message text menu" is called. The user invokes the exit button 234 at step S308. At step S310, a "message option menu" is displayed. The screen displays: REPLY TO/RE-SEND MESSAGE, PREVIOUS MESSAGE, NEXT MESSAGE, DELETE MESSAGE. Optionally, before step S306, a "message summary menu" could be inserted, which presents the user with a list of messages to choose from. Each message would be presented as a short "summary", displaying just the first few words of each message. One such summary would be displayed on each line; the user would select one of the message summaries using the function buttons, and processing would continue to step S306, as described. The user invokes the function-1 button 20 to select REPLY TO/RE-SEND MESSAGE at step S312. The screen displays: YES, NO, AUTO REPLY, BUILD REPLY. If YES is selected, a simple Yes/affirmative reply is sent. The message is automatically constructed, and control passes to a transmit message menu. After the message is transmitted, control returns to a message text menu. If NO is selected, a simple No/negative reply is sent. The message is automatically constructed, and control passes to the Transmit message Menu. After the message is transmitted, control returns to the message Text Menu. If the AUTO REPLY is selected, the characteristic of the built message coding mechanism is used to transpose the received message to an appropriate reply. Control passes to the conjugate message menu, where any desired changes to the reply can be made. After the changes are made (using the same techniques as in a message building process), control passes to the transmit message menu, after which control returns to the message text menu. If BUILD REPLY is selected, a reply is built from scratch. Control passes to the build message menu. After the message is complete, control passes to transmit message menu, and subsequently back to message text menu. The user invokes the function-3 button 24 to select AUTO REPLY at step S314. At step S316, the current message is transposed to a reply. At step S318, the format, subcategory, and location modifier are changed. At step S320, the conjugate message menu is displayed. The screen displays: {MESSAGE OPENING: FORMAT, STATEMENT/QUESTION FORMAT, CATEGORY, SUBCATEGORY, VERB TENSE}, {LOCATION CLAUSE}, {DATE/TIME CLAUSE}. The use of the braces ("{}") indicates that the text portion corresponding to the included codes is displayed. At step S322, a message text menu is displayed. The screen displays: {MESSAGE SOURCE}, {MESSAGE TEXT}, {MESSAGE TIME}. The details of MAINTAIN DEVICE in the main menu will be described. The processes to maintain the unit are as follows: 1) Press the function-3 button 24 to select MAINTAIN DEVICE. 2) To maintain the address book, press the function-1 button 20 corresponding to ADDRESS BOOK. 3) To view entries, press the function-1 button 20 corresponding to VIEW ENTRIES. The display shows the name and number associated with an address book entry, and displays: DELETE? on display line-4. If more entries are available (as indicated by the presence of scroll up or scroll down arrows), press the up button 30 or down button 32 to view more entries. 4) Press function-4 button 26 to delete the current entry. 5) To add entries, press the function-2 button 22 corresponding to ADD ENTRY. 6) Follow the text and number entry procedure to create a new address book entry. 7) To sort entries, press the function-3 button 24 corresponding to SORT ENTRIES. 8) Press the exit/enter button 34 when finished the maintaining device procedure. FIGS. 20 to 25 show flowcharts illustrating the display process. Other embodiments of the present invention will be described below. Embodiments of the present invention other than in a paging device or system are possible. One such is a software simulation of a paging device, encoded to allow the software to interact and perform on a hardware machine such as a personal computer (PC). The software simulation may also form the basis for a PC-based subscriber front-end for an overall Paging system. In applications which allow for larger data bandwidth to be used the size of the coding table may be increased to cover more options while retaining the advantages of the meaning-based encoding. Another embodiment of the present invention is its application from within a computer device. Given the multitude of different computer platforms and hardware models, the user interface can be designed to be used in accordance with any particular computer system. For example, using a personal computer running the MICROSOFT WINDOWS (trademark) interface, a software simulation program based upon the paging coding mechanism runs under the MICROSOFT WINDOWS system. Its basic appearance is a graphical interface similar to the interface described for a portable paging device but where the function buttons, up/down buttons, exit/enter button are now part of the screen display and activated through the use of a keyboard or a mouse pointing device that are attached peripherally to the computer. The buttons are selected using a pointing device such as a mouse, and the various responses and choices appear on the display similar to the above embodiment. In general, choices are made by selecting a function button that corresponds to the line of the display where a desired selection appears. If more choices are available, then this is indicated with the up and down scroll arrows either on the display screen or on another input device such as a keyboard. To create a message, the codes illustrated in FIGS. 3 to 6 must be set by the user, by following a series of prompts and menus. First, a category is selected. If the user does not select a category, then the build message process terminates. Otherwise, the user is requested to select whether the message is a statement or a question. If the user selects the exit button 34, control is returned. If the user has selected a question, then one of an available list of question formats is selected. At this point, the subcategory, if appropriate, of the sentence/message is selected. Finally, in the case of a statement message, the choice of a Positive or Negative sense is presented. The information selected at this point is sufficient to display the message as a complete sentence, in whatever language is currently being used (English, in this example). As the screen displays the conjugate submenu, this presents an opportunity to enter more information, such as verb tense, a location clause and a day/date clause. When the message/sentence is complete, the routine/process returns the coded information to the level which called on its services. For a message about actions, as opposed to things (e.g., telephone calls as opposed to packages), the user is presented with a further choice of subcategory for the message. The choice is presented in the form of an inquiry, with the available selections displayed on separate lines of the display. The user selects the appropriate row button, or selects EXIT to terminate the process. The user input is saved as the subcategory value, and control is passed to the next step in the build message process. Sufficient choices have been made by the user (category, format, question/ statement format and subcategory) to allow for the message to be displayed as ASCII text, using defaults for the values as yet unspecified. The defined and defaulted codes are passed to the display message process (described above) to be converted to ASCII text, and the result is displayed. The display sentence of CAN THE MEETING BE AT MY OFFICE NEXT TUESDAY @2:00 PM? is an example of the result of this process. The main clause is displayed on the first line of the display, and subsequent lines are used to present the result of the location clause and date/time clause parts of the message. Changes to the location clause portion of the message are made through another menu. The row buttons are used to select a type of location from the list displayed. Choices of RELATIVE, GENERIC, CUSTOM SELECTION are available. Each can also be modified with a prefix such as AT THE or AT MY. The selection made is returned as the location clause value, and control is returned. Changes to the date/time clause portion of the message are made through another menu. First, a choice is made to modify either the date or time part of the clause. The date clause has available choices. Choices of RELATIVE DAY, DAY OF WEEK, MONTH OF YEAR, YEAR are available. Most can be further modified by adding a prefix of LAST, THIS, NEXT. The selections are saved as the date modifier, date unit and date value values. Similarly, the time part of the date/time clause can be set. The choices made here are saved as the time modifier, time hours, and time minutes values. Additional advantages and modifications will readily occur to those skilled in the art. Therefore, the present invention in its broader aspects is not limited to the specific details, representative devices, and illustrated examples shown and described herein. Accordingly, various modifications may be made without departing from the spirit or scope of the general inventive concept as defined by the appended claims and their equivalents.
|
Same subclass Same class Consider this |
||||||||||
