WO1998039929A2 - Performing updates to multiple information service topics using a single command - Google Patents

Performing updates to multiple information service topics using a single command Download PDF

Info

Publication number
WO1998039929A2
WO1998039929A2 PCT/US1998/003251 US9803251W WO9839929A2 WO 1998039929 A2 WO1998039929 A2 WO 1998039929A2 US 9803251 W US9803251 W US 9803251W WO 9839929 A2 WO9839929 A2 WO 9839929A2
Authority
WO
WIPO (PCT)
Prior art keywords
sub
message
address
selective call
messages
Prior art date
Application number
PCT/US1998/003251
Other languages
French (fr)
Other versions
WO1998039929A3 (en
Inventor
Robert Nathan Nelms
Tom Klein
Scott Christopher Smith
Frederick Loring Kampe
Original Assignee
Motorola Inc.
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 Motorola Inc. filed Critical Motorola Inc.
Priority to AU64365/98A priority Critical patent/AU6436598A/en
Publication of WO1998039929A2 publication Critical patent/WO1998039929A2/en
Publication of WO1998039929A3 publication Critical patent/WO1998039929A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1804Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for stock exchange and similar applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/022Selective call receivers

Definitions

  • This invention relates in general to communication systems transmitting information service messages to selective call devices, and more specifically to a method for reducing overhead of such messages.
  • a conventional selective call device e.g., a selective call receiver or a transmitter and a selective call receiver, often can receive messages from more than one source.
  • Sources are distinguished from each other typically by an address information associated with each message.
  • the address information correlates, or matches, a predetermined address in the selective call device, the selective call device receives and stores the message from a particular information source.
  • Modern selective call service providers are capable of sending multiple types of data including information services, for example, news, stock market data, weather forecasts, and sport scores, periodically to a subscribing selective call device.
  • information services for example, news, stock market data, weather forecasts, and sport scores
  • information service messages are more lengthy than a personal message.
  • information service messages are repetitive of a prior information service message but for a relatively small portion of changed or new data.
  • Information service messages include both headers and numerical data together and often only the numerical data changes from one information service message to the next. For example, when transmitting stock price information, the stock name, year high and year low information will change much less frequently than the stock's current trading price.
  • both sports scores and weather information service messages comprise, in one part, information that is updated on an infrequent basis such as team names or geographic data.
  • another part of such information service messages comprises information that is frequently updated such as team scores and atmospheric conditions.
  • the messages are typically retransmitted whenever any part of the message is updated. This is costly in terms of air time and system throughput.
  • U. S. Patent No. 5,173,688 issued to Deluca, et al., and assigned to the assignee of the present invention discloses a method for sending blank forms or tables to a pager that are filled in by subsequent communication or by the user.
  • data is divided into fields that contain header information or update information that are separately given protected or unprotected status.
  • header fields generally contain alphanumeric data such as stock or team names and are given protected status while update fields such as current trading price or scores are given unprotected status. The effect of having "protected status" is that such data is not overwritten by new incoming data.
  • an unprotected field is overwritten by subsequent messages. Formatting techniques are used to define protected and unprotected fields. Specifically, field titles or designators are periodically transmitted to the selective call receivers. These titles or designators form the protected fields and are semipermanently stored in the selective call receiver's memory. The data which changes regularly comprises the unprotected fields that are transmitted without designators, each field being separated from the next by only a carriage return symbol. Upon reception of a new message, the pager clears all unprotected fields and inserts the new update data into the unprotected fields and then displays both the protected and unprotected fields at the output of the selective call receiver.
  • Fascenda Another example of sending a blank form is disclosed by Fascenda in U. S. Patent Nos. 5,241,305 and 5,345,227. As disclosed, Fascenda teaches the use of mask blocks that are set aside for storing eight complete forty-character masks for use when receiving database type messages. Typically, a mask has zeros everywhere but where certain portions of the database are to be updated using a mask fill code-word.
  • a mask fill message including a mask fill code word can be transmitted to fill in the non-masked memory locations.
  • a first code-word including a mask fill command, a mask ID and a database ID is transmitted.
  • a second code-word comprising a start block, (i.e., the starting block number counting from the start of the database) and skip bits, which tell the microprocessor how many blocks are skipped after each mask is filled, is transmitted.
  • Fascenda discloses yet another way to increase the rate of database transmissions that contain identical information that arises in a recurring pattern in a database.
  • One example would be in a stock database where the words "open”, “close” and “high” occur on a regular basis.
  • Fascenda uses a format code-word that includes a format command, a database ID and start block to reproduce identical information in several memory locations without transmitting the identical information several times.
  • Chan, et al. provides satisfactory performance under most, but not necessarily all, operating circumstances.
  • the Multiple Short Offset command and the Multiple Long Offset command of Chan, et al. allow updating of selected multiple fields within a previously sent single information services sub-message.
  • the embedded protocol of Chan et al. lacks provision for a single command that allows updates to both selected multiple fields and selected multiple information service sub-messages.
  • FIG. 1 is an electrical block diagram of a selective call system for providing information services in accordance with a preferred embodiment of the present invention.
  • FIGS. 2-5 are timing diagrams illustrating the transmission format of the signaling protocol utilized by the selective call system of FIG. 1 in accordance with the preferred embodiment of the present invention.
  • FIG. 6 is an electrical block diagram of a selective call device in accordance with the preferred embodiment of the present invention.
  • FIG. 7 is an example of sets of sub-messages as presented on a display of a selective call device.
  • FIG. 8 is a flow diagram showing creation of a message updating the sets of sub-messages shown in FIG. 7, in accordance with the preferred embodiment of the present invention.
  • FIG. 9 is an example of sets of sub-messages as presented on a display of a selective call device.
  • FIG. 10 is a flow diagram showing creation of a message updating the sets of sub-messages shown in FIG. 9 in accordance with the preferred embodiment of the present invention.
  • FIG. 11 is an example of sets of sub-messages as presented on a display of a selective call device.
  • FIG. 12 is a flow diagram showing creation of a message updating the sets of sub-messages shown in FIG. 11, in accordance with the preferred embodiment of the present invention.
  • FIG. 13 is an example of sets of sub-messages as presented on a display of a selective call device.
  • FIG. 14 is a flow diagram showing creation of a message updating the sets of sub-messages shown in FIG. 13 in accordance with the preferred embodiment of the present invention.
  • FIG. 1 shows an electrical block diagram of a paging system, or selective call system 100, for generating and transmitting (or broadcasting) a selective call signal (or communication signal) including a plurality of information services in accordance with a preferred embodiment of the present invention.
  • the functions of the selective call system 100 are preferably implemented within software, for example within a MODAX 500 Selective Call Terminal that is manufactured by Motorola Inc., of Schaumburg, Illinois.
  • a subscriber can send a message by using a telephone 102 to initiate a transmission of a selective call message.
  • the telephone 102 couples to the selective call system 100 via a telephone network 104, the operation of which is well known to one of ordinary skill in the art.
  • a computer/modem 106 is also coupled to the telephone network 104 to enter information, for example alphanumeric or numeric messages.
  • the telephone network 104 couples to a message receiver 108 which receives the messages to be transmitted (broadcast) to at least one of a plurality of selective call devices 130, typically from the public switched telephone network 104.
  • a plurality of information services 140-146 are coupled to the telephone network 104 which is coupled to a processor 109 via the message receiver 108.
  • the plurality of information services 140-146 can be received via radio frequency signals.
  • the providers of the information services send to the selective call system 100 updates of previously sent information services messages.
  • the processor 109 When the processor 109 receives updates, the information is encoded as a message in the form of a selective call signal (or communication signal). Specifically, the processor 109, coupled to the message receiver 108, determines an appropriate protocol, preferably the FLEXTM protocol, and an address to encode the information service. If the processor 109 determines that the message is to be sent via another signal format, it is passed to one of another protocol generator 116. When the processor has determined that the information services messages are to be transmitted on the FLEX protocol, the messages are then encoded and stored in a frame queue buffer 110 which has queues (FRAME 0-N QUEUES) for the corresponding frames of the signal. Preferably the number of frames N is 128.
  • FRAME 0-N QUEUES queues
  • the predetermined frame identification (ID) of the selective call device 130 corresponding to the message is determined and the message is stored in the corresponding frame queue.
  • a capacity analyzer and frame ID /cycle generator 112 determine the sequence of frame IDs to be transmitted and analyze the capacity of each frame to determine the cycle value to be used.
  • the capacity analyzer and frame ID /cycle generator 112 is also responsive to other protocols being transmitted. For example, if the expected occurrence of a frame is to be replaced by the transmission of one of the other protocols (thereby diminishing the capacity of the frame), the capacity analyzer and frame ID /cycle generator 112 can account for this with the determined cycle value.
  • a bit and frame sync generator 118 synchronously generates bit and frame synchronization signals.
  • a message formatter 114 determines, in response to the address of selective call devices 130 and the frame queue, a frame in which the message is to be included. The messages are then formatted for transmission.
  • a transmitter 120 accepts signals from message formatter 114, from other protocol generator 116 and from bit and frame sync generator 118, and transmits radio frequency selective call signals to selective call devices 130 via antenna 122 in a manner well known to those of ordinary skill in the art.
  • FIG. 2 shows a standard protocol format, the FLEX protocol, encoded into one-hundred-twenty-eight (128) message packets or frames 200.
  • Each of the frames 200 is preferably 1.875 seconds in duration and has a preferred base data rate of 6400 bits per second.
  • each frame is comprised of a bit sync signal 302, preferably 32 bits of alternating 1, 0 patterns, followed by a FRAME SYNC #1 signal 304 preferably having a predetermined thirty-two bit word and its thirty-two bit inverse, and a FRAME INFO word signal 306, preferably one thirty-two bit word having twenty-one variable information bits containing information such as a cycle number and a frame number.
  • the BIT SYNC signal 302 provides bit synchronization to the selective call device(s) 130 while the FRAME SYNC #1 signal 304 provides frame synchronization and includes a signal indicative of the data rate of the message information.
  • FRAME SYNC #2 308 Following the FRAME SYNC #2 308 is a block info word signal 310 including information such as the number of priority addresses, end of block information field, and vector start field.
  • the code word of each frames 200 is preferably encoded as 31, 21 Bose-Chaudhuri-Hocquenghem (BCH) code words having twenty-one information bits and ten parity bits generated according to the well-known BCH algorithm. An additional even parity bit extends the word to a 32, 21 code word.
  • the addresses are located in block 312, the vectors pointing to the messages are located in block 314, and the messages are located in the remaining blocks, such as block 316.
  • all the address signals within the frame are located in a first portion, or address portion, of the frame, such as in block 312, and all the message signals are located in a subsequent portion, or message portion, of the frame, such as in block 316. It is well known to those skilled in the art how to locate addresses in a first portion and messages in a second portion of the frame 200. Words 310, 312, 314 and 316 are shown in a vertical orientation to indicate that these words may be interleaved in order to improve the immunity of the transmission to burst errors.
  • All binary, and selected alphanumeric, outbound messages in one-way selective call systems, and all binary, and selected alphanumeric, forward channel messages in two-way selected call systems comprise a protocol-defining header, or Status Information Field, followed by a data field.
  • the FLEX protocol is more fully explained in U. S. Patent No. 5,555,183, entitled Method and Apparatus For Synchronizing To A Synchronous Selective Call Signal, issued September 10, 1996, to Willard, et al., which is assigned to the assignee of the present invention, and which is hereby fully incorporated by reference herein.
  • a selective call device is preprogrammed with one or more transport-level communication protocol addresses for receiving messages.
  • a selective call device 130 is pre-programmed with one FLEX address for receiving personal messages and with a plurality of additional, unique FLEX addresses for receiving each of the plurality of information services 140-146 to which the selective call device subscribes. It is also well known that each message received by the FLEX address corresponding to any one of the information services 140-146 is formatted similarly, if not identically. Subscribers to an information service 140-146 receive original messages, and thereafter receive updates to the original messages. Typically, only a relatively small portion of the information within each original message changes with time; therefore, only the relatively small portion need be updated, i.e., transmitted as an update message.
  • a person who subscribes to Financial /Stock Market Information 144 service usually pre-designates the stocks for which the person wishes to receive prices.
  • Each of the stocks associated with the Financial /Stock Market Information 144 service is pre-assigned a sub-address, or Topic Number.
  • the sub-address, or Topic Number is separate from the FLEX address.
  • a sub-message associated with each stock contains several types of information, in separate fields, for presentation on the display, such as: a stock symbol, current price, an indication of a change in the prices and the direction of the change, if any, the volume, the high and low price for the day and /or for the year, an ex-dividend date indication, etc.
  • each field within of each Financial/Stock Market Information 144 service message is located in a substantially similar location, means that it is possible to update the current price and volume of a plurality of stocks in one update message by compactly transmitting, within an update command, the Topic Numbers of stocks that are to be updated and location information of each field to be updated, as described more fully hereinbelow.
  • Other information services messages such as sport scores and weather, having different FLEX addresses, are updated in a similar fashion.
  • Updates to the information services 140-146 are encoded in one of the messages, such as message 316, for transmission to the selective call devices 130.
  • a Status Information Field 402 identifies that an embedded protocol message 401, preferably a FLEXsuiteTM embedded protocol message, as opposed to a regular selective call message, is being transmitted.
  • embedded protocol means an application-layer communication protocol carried by a transport-layer communication protocol.
  • FLEXsuite comprises several embedded protocols used to transfer applications, i.e., computer programs, and data for use by such applications, over a selective call system 100 that uses the FLEX protocol.
  • applications i.e., computer programs, and data for use by such applications
  • the Status Information Field 402 defines which method among several possible methods of transferring information to a selective call device from the selective call system 100 is used.
  • the Status Information Field is defined as the first eight bits of application-layer information in a FLEXsuite embedded protocol message 401.
  • a message 316 can comprise one or more FLEXsuite embedded protocol messages 401, or sub-message, in which case, each of the one or more embedded protocol messages has a separate Status Information Field 402. It should also be understood that a message 316 can comprise one or more FLEXsuite embedded protocol messages 401 and one or more regular selective call messages.
  • the purpose of the Status Information Field 402 is to provide to the controller 210 the information needed by the software of the selective call device 130 to correctly process the information content of the associated message field that immediately follows the Status Information Field.
  • the Status Information Field 402 comprises an application-layer protocol identifier, preferably represented by two hexadecimal digits.
  • the application-layer protocol is FLEXinfoTM and the application-layer protocol identifier for FLEXinfo is preferably "80".
  • the absence of the application identifier indicates that the message is a regular selective call message.
  • a different application identifier indicates that the message is a regular selective call message.
  • the Status Information Field is the first portion of the message 316.
  • a Global Status Information Field (not shown, but substantially similar to the Status Information Field 402) can precede the Status Information Field 402.
  • a Global Status Information Field comprises bytes that form a global identifier and bytes that indicate the size of the global payload.
  • Global Status Information Fields are compression and scrambling, i.e., encryption.
  • the global identifier is preferably two hexadecimal digits.
  • the global identifier for encryption is preferably "F0".
  • the encryption for FLEXsuite is preferably carried out using the technique taught in U. S. Patent No. 5,283,832 entitled Paging Message Encryption, issued February 1, 1994, to Lockhart, Jr. et al., which is assigned to the assignee of the present invention, and which is hereby fully incorporated by reference herein.
  • Multiple global protocols can be concatenated in a single transmission by transmitting successive Global Status Information Fields.
  • the Global Status Information Field is an indication of the FLEXsuite message size, or length, of the FLEXsuite payload (in number of bytes).
  • the indication of the message size allows a plurality of FLEXsuite messages to be transmitted within a single FLEX message, such as message 316.
  • the FLEXsuite message size comprises the bytes within blocks 403-427, which, in this example, represent only one FLEXsuite message, i.e., a FLEXinfo command.
  • a selective call device 130 receives an original information services message in conventional ways, preferably through the use of a FLEXinfo Original Message Command.
  • the formatting of an information services message is more fully explained in U. S. patent application having serial No. 08/807933, entitled Selective Call Message Formatting, filed February 28, 1997, by Nelms, et al., assigned to the assignee of the present invention, and which is hereby fully incorporated by reference herein.
  • Battery saving by a selective call device 130 that subscribes to an information service, and a description of FLEXinfo commands related thereto, are more fully described in U. S. patent application having serial No. 08/806,972 entitled Selective Call Device And Method For Battery Saving During Information Services, filed February 26, 1997, by Nelms et al, assigned to the assignee of the present invention, and which is hereby fully incorporated by reference herein.
  • each FLEXinfo command has a unique Command Identifier 403.
  • the Command Identifier 403 is preferably an expandable unsigned integer. Updates to previously received information services messages are accomplished through the use of one of two types of update commands that allow selected portions, or fields, of an original message to be efficiently updated with minimal overhead.
  • one of the update commands a Sequential Topic Range Update Command 400
  • the Sequential Topic Range Update Command 400 comprises blocks 403-427 of FIG. 4.
  • the topics of each information service are designated by unique numbers to facilitate the correlation between the topics and sub-addresses.
  • Sequential Topic Range Update Command 400 For each sub-message, there is a corresponding sub-address.
  • a sequential range of topics method designates a range of the information topics that are included in the update message, e.g., as the explicitly designated first topic and an implicitly designated last topic described as an offset from the first topic.
  • a Content Length 404 specifies the size of the Sequential Topic Range Update command, i.e., it specifies the number of bytes from block 405 through block 427, inclusive.
  • the next field in the Sequential Topic Range Update Command 400 is a Data Translation Identifier 405.
  • the Data Translation Identifier is preferably four bits in length.
  • the Data Translation Identifier 405 identifies which of several data translation algorithms, such as ASCII or Numeric, was used to encode the associated data in the Sequential Topic Range Update Command.
  • ASCII is the preferred data translation algorithm when sending an original message to a selective call device 130
  • updates are preferably sent using a numeric data translation algorithm, such as Standard Numeric or Financial Numeric.
  • numeric data translation algorithm such as Standard Numeric or Financial Numeric.
  • the method in accordance with the invention allows efficient updating of sub- messages because updates are transmitted in any of the popular four bit numeric, seven and eight bit alphanumeric, and eight bit hexadecimal formats producing the most tightly packed data.
  • the selective call device 130 can properly convert the message to the format in which the message is stored in a memory element, such as message memory 226.
  • the controller 210 in the selective call device 130 derives the range of the information topics from a Base Topic 407, which designates the beginning sub-address that will be transmitted, and from a Number of Additional Topics 408, which defines a number N of additional topics after the Base Topic 407 to which the command is applied. For example, if the beginning topic number is ninety-eight, then the hexadecimal value "62" appears in the field for Base Topic 407. For example, if the total number of information services topics is seven, then the hexadecimal value "06" appears in the field for Number of Additional Topics 408.
  • the Base Topic 407 and the Number of Additional Topics 408 are advantageously unsigned expandable integers.
  • a byte expansion flag in the most significant position of an expandable integer field indicates whether the expandable integer extends over more than one byte.
  • Each topic has a unique integer associated therewith.
  • the Sequential Topic Range Update command also comprises a Number of Additional Fields 409 parameter that defines a number M of additional fields to update.
  • the Number of Additional Fields parameter is preferably an unsigned expandable integer. For example, if there are no additional fields to update beyond the first field, then the value "00" is transmitted in block 409.
  • the Sequential Topic Range Update command also comprises a Field Offsets 410 array of M+l parameters.
  • the Field Offsets 410 are an array of unsigned expandable integers that define, for each field in a topic, offsets to the first character of the field.
  • the first field offset, Field Offset (0) is defined as the number of characters from the first character of the message.
  • the first field offset is defined as the number of bytes from the first character of the message.
  • the second field offset, Field Offset (1), and all subsequent offsets to Field Offset (M) are defined as the number of characters (or bytes for hexadecimal format) from the character following the previous updated field in the message.
  • the Sequential Topic Range Update Command 400 also comprises a Field Lengths 411 array of M+l unsigned expandable integers that define a field length, in number of characters, for each of the fields that are to be updated.
  • the Sequential Topic Range Update Command 400 also comprises an array of data strings, [Data(0,0), Data(0,l), Data(0,2) . . . Data(0,M), Pad Bits, Data(l,0), Data(l,l), Data(l,2) . . . Data(l,M), Pad Bits . . . Data(N,0), Data(N,l), Data(N,2) . . . Data(N,M), Pad Bits], immediately following the array of Field Lengths 411.
  • the first entry in the array of data strings, Data (0,0), represents the updated information for the first field, i.e., Field Offset (0), of the Base Topic, i.e., Topic (0).
  • the second entry in the array of data strings, Data (0,1) represents the update information for the second field, i.e., Field Offset (1), of the Base Topic, i.e., Topic (0).
  • the Base Topic is topic number ninety-eight.
  • the entry Data (1,0) represents the updated information for the first field, i.e., Field Offset (0), of the next topic, i.e., Topic (1), in the sequential range of topics that are to be updated by the Sequential Topic Range Update Command 400.
  • the next topic is topic number ninety-nine.
  • the last portion of the Sequential Topic Range Update Command 400 is an expandable Reserved Expansion Area 427.
  • an Itemized Topic List Update Command 500 is transmitted following the FLEXsuite Status Information Field 502 within the FLEXsuite message 501.
  • the Itemized Topic List Update Command 500 comprises blocks 503-527 of FIG. 5.
  • a computer preferably located at each provider of the information services 140-146, is programmed to construct update messages using both the Sequential Topic Range Update Command 400 and the Itemized Topic List Update Command 500, and to transmit to the selective call system via the telephone network updates using whichever command produces the shortest message.
  • a list designates the information topics that are included in the update message.
  • a Content Length 504 specifies the size of the Itemized Topic List Update Command 500, i.e., it specifies the number of bytes from block 505 through block 527, inclusive.
  • the next field in the Itemized Topic List Update Command 500 is a Data Translation Identifier 505.
  • the Data Translation Identifier is preferably four bits in length.
  • the Data Translation Identifier 505 identifies which of several data translation algorithms, such as ASCII or Numeric, was used to encode the associated data in the Itemized Topic List Update Command 500.
  • ASCII is the preferred data translation algorithm when sending an original message to a selective call device 130
  • updates are preferably sent using a numeric data translation algorithm, such as Standard Numeric or Financial Numeric.
  • the method in accordance with the invention advantageously uses only one update command, such as the Sequential Topic Range Update Command 400 or the Itemized Topic List Update Command 500 (whichever is shortest), is used to efficiently send updates to multiple fields of multiple sub-messages, that is, to multiple fields of multiple information service topics.
  • update command is part of an embedded protocol, or application-layer protocol, transmitted by the selective call system 100 within the message portion, such as block 316 of FIG.
  • the data of the multiple sub-messages comprise the data within composite blocks 412, 417 and 422 of FIG. 4 and composite blocks 512, 517 and 522 of FIG. 5.
  • the sub-addresses associated with each of the sub-messages are the topic numbers appearing in blocks 407 and 408 of FIG. 4 and block 508 of FIG. 5.
  • the methods in accordance with the invention constructs, using the computer at one of the information services 140-146, two update commands, one for each type of formatted message, and the selective call system 100 advantageously transmits the two update commands within one FLEXsuite payload within one message portion of a standard transport-layer communication protocol format.
  • all topic numbers in any one Itemized Topic List Update Command 500 are of the same length to eliminate error propagation.
  • the length can dynamically change (zeros added or deleted from the most significant positions so as not to change the value of a topic number) from one command to another by the computer at one of the information services 140-146.
  • the controller 210 in the selective call device 130 determines the length from the first topic in the Topic Numbers 508 field using the byte expansion flags of the first and second topic numbers.
  • the controller 210 in the selective call device 130 derives the information topics from a
  • the Number of Additional Topics 507 defines a number N of additional topics after Topic (0), to which the command is applied. For example, if the total number of topics to be updated in the current command is three, then the number of additional topics is two, and the hexadecimal value "02" appears in the field for Number of Additional Topics 507. For example, if the beginning topic numbers that are to be updated in the current command are "98, 102 and 103", then the hexadecimal values "62 66 67" appear in the field labeled Topic Numbers 508.
  • the Number of Additional Topics 507 and the Topic Numbers 508 are preferably expandable unsigned integers.
  • the selective call device can skip to the next command (if there is another command) or can immediately shutdown, i.e., battery save.
  • the Itemized Topic List Update Command 500 also comprises a Number of Additional Fields 509 parameter that defines a number M of additional fields to update.
  • the Itemized Topic List Update Command 500 also comprises a Field Offsets 510 array of M+l parameters.
  • the Field Offsets 510 are an array of expandable unsigned integers that define, for each field in a topic, offsets to the first character of the field.
  • the first field offset, Field Offset (0) is defined as the number of characters from the first character of the message. In the event the Data Translation Identifier 505 designates hexadecimal format, then the first field offset is defined as the number of bytes from the first character of the message.
  • the second field offset, Field Offset (1), and all subsequent offsets to Field Offset (M), are defined as the number of characters (or bytes for hexadecimal format) from the character following the previous updated field in the message.
  • the Itemized Topic List Update Command 500 also comprises a Field Lengths 511 array of M+l expandable unsigned integers that define a field length, in number of characters, for each of the fields that are to be updated.
  • the Itemized Topic List Update Command 500 also comprises an array of data strings, [Data(0,0), Data(0,l), Data(0,2) . . . Data(0,M), Pad Bits, Data(l,0), Data(l,l), Data(l,2) . . . Data(l,M), Pad Bits . . . Data(N,0), Data(N,l), Data(N,2) . . . Data(N,M), Pad Bits], immediately following the array of Field Lengths 511.
  • the first entry in the array of data strings, Data (0,0) represents the updated information for the first field, i.e., Field Offset (0), of the Base Topic, i.e., Topic (0).
  • the second entry in the array of data strings, Data (0,1) represents the updated information for the second field, i.e., Field Offset (1), of the Base Topic, i.e., Topic (0).
  • the Base Topic is topic number "98".
  • the last portion of the Itemized Topic List Update Command 500 is an expandable Reserved Expansion Area 527.
  • FIG. 6 shows an electrical block diagram of a selective call device according to the preferred embodiment of the present invention.
  • the selective call device 130 is powered by a battery 234 and operates to receive and to transmit radio frequency signals via an antenna 202.
  • a receiver 204 is coupled to the antenna 202 to receive the radio frequency signals.
  • a demodulator 206 is coupled to the receiver 204 to recover any information signal present in the radio frequency signals using conventional techniques.
  • the recovered information signal from the demodulator 206 is coupled to a controller 210 that decodes the recovered information in a manner well known to those skilled in the art.
  • the controller 210 comprises a microcomputer, such as a Model MC68HC11PH8 microprocessor manufactured by Motorola, Inc., and comprises a signal processor performing the functions of a decoder which is normally implemented in both hardware and software.
  • the signal processor comprises an address correlator 214 and a decoder 212, using methods and techniques known to those skilled in the art.
  • the address correlator 214 checks the recovered information signal from the output of the demodulator 206 for address information and correlates a recovered address with one of a plurality of predetermined addresses that are stored in a non-volatile memory 220.
  • the decoder 212 decodes the signal for the application identifier to determine if the message contains information services data. Absence of the application-layer protocol identifier in the Status Information Field 402 and 502 (FIGs. 4 and 5) indicates that the message being decoded is a regular selective call message. Conversely, when the application-layer protocol identifier is present and when it correlates to an information service application such as FLEXinfo, the message is an information service message.
  • the transport-level communication protocol addresses for the information services is preferably stored in non-volatile memory 220, and the application-layer protocol identifier, the Command Identifier 403, and the topic numbers (or sub-addresses), are preferably stored in a memory 222.
  • the memory 222 is programmed with the information service addresses and associated topic numbers (or sub- addresses).
  • Each information service has a unique address and a plurality of unique topic numbers that allows the selective call device 130 to determine when the subscribed information service 140-146 is present within a particular transmission.
  • a topic number can be a short form of an information service address, but preferably a topic number is totally different from an information address while still being able to identify the presence of the information service topic within a particular transmission.
  • Status information is stored in memory 222 and indicates the information service that the selective call device 130 is programmed to receive. Subsequent to the decoder decoding the presence of an application-layer protocol identifier in the Status Information Field 402, the decoder decodes the Command Identifier 403, indicating, for example, that a Sequential Topic Range Update Command 400 was received. Next, the decoder decodes the Base Topic 407, i.e., first sub-address, and the Number of Additional Topics 408, or sub-addresses, and the data in composite blocks 412, 417 and 422. The decoder further decodes the Content Length 404 to determine the end of the command.
  • the Base Topic 407 i.e., first sub-address, and the Number of Additional Topics 408, or sub-addresses
  • the decoder decodes the next command (if there is another command) otherwise, the decoder 212 strobes a user interface 216 causing the battery saver 218 to disable or remove power from the receiver 204 via a support circuitry 224.
  • the Itemized Topic List Update Command when the Itemized Topic List Update Command
  • the Number of Additional Topics 507 is decoded followed by the itemized Topic Numbers 508, or sub-addresses.
  • the Number of Additional Topics 508 set of parameters is replaced by a set of numerical differences between each additional topic number and the topic number that preceded the additional topic number.
  • the differences are decoded, and software stored in non-volatile memory 220 determines Topic Numbers 508 therefrom.
  • This alternative method is advantageous when the differences between topic numbers are, on average, smaller than the topic numbers, because topic number information is part of overhead which should be kept to a minimum.
  • the decoder decodes the next command (if there is another command) otherwise, the battery saver 218 initiates the removal of power to the receiver 204.
  • the controller 210 further decodes the command, including the information data in composite blocks 512, 517 and 522.
  • the controller 210 recovers the topic numbers for the selected information service sent to the selective call device 130 and when it correlates with the topic numbers stored in memory 222, the decoder 212 decodes the message and stores the decoded message in message memory 226.
  • the selective call device 130 further decodes the received information to determine if it includes any information services data directed to the selective call device 130.
  • information service 140-146 providers package the updates and a selective call system 100 provider transmits the updates, and any selective call device 130 that is authorized to receive the information services 140-146 will receive the updates.
  • the selective call device 130 After receiving, decoding, and storing the selected information service in the message memory 226, the selective call device 130 typically presents at least a portion of the stored message to a user, such as by a display 228, e.g., a liquid crystal display.
  • the support circuitry 224 preferably comprises a conventional signal multiplexing integrated circuit, a voltage regulator and control mechanism, a current regulator and control mechanism, audio power amplifier circuitry, control interface circuitry, and display illumination circuitry. These elements are arranged to provide support for the functions of the selective call device 130 as requested by a user.
  • the controller 210 determines from the enabled or disabled status information in the memory 222 whether to conserve power upon detection of an address information. That is, when a received and recovered address information correlates with a predetermined address in non-volatile memory 220, the controller 210 checks the status information corresponding to the correlated predetermined address information to determine whether that address is enabled. If the controller 210 determines that the correlated predetermined address is not enabled, then the decoder 212 is not invoked.
  • Input controls 230 are coupled to the memory 222 and to the user interface 216 for receiving user inputs, including but not limited to programming, manipulating data, and sending commands to the selective call device 130.
  • a selective call device alternatively includes a transmitter 208 for responding to information services sub-messages.
  • the selective call device 130 can battery save when it determines that the information service or updates thereto do not contain the particular topics subscribed to by the selective call device 130.
  • the information services are identified by information service addresses and topic numbers (sub-addresses) which are transmitted with the information services messages to enable the selective call devices 130 to determine when a transmission includes the topics to which it subscribes. Since there are a large number of available information service topics, the battery life would be quickly depleted if the selective call device was required to search all transmissions for a subscribed to information service 140-146. Therefore, by checking for the information service address and the topic number, the selective call device is able to initiate battery saving.
  • FIGS. 7-12 Examples of the methods of updating information services messages in accordance with the invention are shown in FIGS. 7-12.
  • a sub-message 700 having a topic number of "01" and a sub-message 701 having a topic number "02" are shown as presented on a display of a selective call device 130. Both of the sub-messages are similarly formatted.
  • Each of the sub-messages is from a Financial /Stock Market Information 144 service and contains fields showing a stock symbol, a current price, a price change, and an indication of direction of the price change.
  • the sub-messages 700 and 701 are original messages transmitted using conventional methods, preferably through the use of the FLEXinfo Original Message Command.
  • sub-messages 700 and 701 are updates to an earlier (not shown) original message. It should be understood that nothing in the method in accordance with the present invention precludes an original message having been sent without the use of an embedded protocol or a sub-address or a topic number.
  • Sub-messages 702 and 703 are the result of portions of sub- messages 700 and 701, respectively, being updated through the use of a Sequential Topic Range Update Command 400. The portions updated are the current price and the price change.
  • FIG. 8 shows a flow diagram 800 illustrating steps taken to construct a Sequential Topic Range Update Command 400 to send the updated data necessary to produce sub- messages 702 and 703 using Numeric Data Translation.
  • the fields that are to be updated are defined in terms of the number of fields, the location of each field, and the length of each field.
  • the last three digits of the current price are updated.
  • the last two digits of the price change are updated.
  • blocks 403-411 of the Sequential Topic Range Update Command 400 are composed, as shown.
  • composite blocks 412, 417 and 422 are composed by converting the data to packed hexadecimal data, using pad bits so that the data for each topic ends on an even byte boundary. Only after the insertion of any necessary pad bits, can the Content Length 404 be calculated at Step 804.
  • the preceding steps are repeated if there are additional commands that are to be sent in the same embedded protocol message 401. In this example there are no additional commands.
  • the FLEXsuite Status Information Field 402 is added to the beginning of the command, and the command is sent.
  • ten bytes of overhead are used to update two topics. Therefore, advantageously, on average, only 5 bytes of overhead are used per topic.
  • the prior art methods would use a larger number of bytes per sub-address to send the same updates ("sub-addresses" is the term used in the prior art most similar to the term "topics" used in the description of the present invention).
  • FIG. 9 shows sets of sub-messages 900-913 having topic numbers "98-
  • FIG. 11 shows sets of sub-messages 1100-1105 having topic numbers "98, 102, 103" as presented on a display of a selective call device.
  • Original sub-messages 1100-1102 are shown as presented on the display of the selective call device 130.
  • Sub-messages 1103-1105 are shown as presented on the display after being updated.
  • FIG. 12 is a flow diagram 1200 showing creation of an Itemized Topic List Update Command 500, using Numeric Data Translation, containing update data and instructions for updating the sets of topics 1100-1102 shown in FIG. 11, in accordance with the preferred embodiment of the present invention.
  • FIG. 13 shows sets of sub-messages 1300-1303 having topic numbers
  • FIG. 14 is a flow diagram 1400 showing creation of a FLEXsuite embedded protocol message updating the sets of topics 1300-1301 shown in FIG. 13, in accordance with the preferred embodiment of the present invention.
  • the method in accordance with the invention does not require any change in pre-existing selective call systems or in the preexisting transport-level paging protocols.
  • the invention is not limited for use with the FLEX transport-level radio paging protocol, but can be used with other paging protocols.
  • the invention is not limited for use with a wireless selective call protocol, but can be used with any wireless protocol.
  • the invention is not limited for use with wireless protocols, but can be used with wireline protocols.

Abstract

A selective call device (130) has a receiver (204) for receiving a selective call signal including an address (312). An address correlator (214) coupled to a decoder (212) determines that the selective call signal is directed thereto and determines whether the selective call signal includes an update command (400, 500) embedded within a message portion (316) of a standard transport-layer communication protocol. The update command includes a topic number (407, 508) used as a sub-address indicative of a subscribed information service topic, uptade data for the subscribed information, and instructions for updating selected portions of at least one previously received information service topic stored in a message memory (226) as a sub-message. The update command includes an identifier (405, 505) of a format of the update data. A single update command can provide update data for more than one portion of more than one sub-message, or topic. More than one update command can be embedded within one message portion.

Description

PERFORMING UPDATES TO MULTIPLE INFORMATION SERVICE TOPICS USING A SINGLE COMMAND
Related Application
This application is related to, and applicants hereby claim the benefit of the prior filing date of, co-pending provisional application No. 60/038,715, entitled "PERFORMING UPDATES TO MULTIPLE INFORMATION SERVICE TOPICS USING A SINGLE COMMAND" filed March 7, 1997, by the identical inventors as the inventors of the present application.
Field of the Invention
This invention relates in general to communication systems transmitting information service messages to selective call devices, and more specifically to a method for reducing overhead of such messages.
Background of the Invention
A conventional selective call device, e.g., a selective call receiver or a transmitter and a selective call receiver, often can receive messages from more than one source. Sources are distinguished from each other typically by an address information associated with each message. When the address information correlates, or matches, a predetermined address in the selective call device, the selective call device receives and stores the message from a particular information source.
Modern selective call service providers are capable of sending multiple types of data including information services, for example, news, stock market data, weather forecasts, and sport scores, periodically to a subscribing selective call device. However, there is usually a need to transmit updates to previously transmitted information services data.
In general, an information service message is more lengthy than a personal message. However, in many instances, information service messages are repetitive of a prior information service message but for a relatively small portion of changed or new data. Information service messages include both headers and numerical data together and often only the numerical data changes from one information service message to the next. For example, when transmitting stock price information, the stock name, year high and year low information will change much less frequently than the stock's current trading price. As other examples, both sports scores and weather information service messages comprise, in one part, information that is updated on an infrequent basis such as team names or geographic data. Correspondingly, another part of such information service messages comprises information that is frequently updated such as team scores and atmospheric conditions. In these examples, although information, such as team names or geographic names, changes on an infrequent basis, the messages are typically retransmitted whenever any part of the message is updated. This is costly in terms of air time and system throughput.
Several prior art methods have attempted to reduce transmission overhead by using forms in the transmission of information service type messages. For example, U. S. Patent No. 5,173,688 issued to Deluca, et al., and assigned to the assignee of the present invention, discloses a method for sending blank forms or tables to a pager that are filled in by subsequent communication or by the user. In general terms, data is divided into fields that contain header information or update information that are separately given protected or unprotected status. In particular, header fields generally contain alphanumeric data such as stock or team names and are given protected status while update fields such as current trading price or scores are given unprotected status. The effect of having "protected status" is that such data is not overwritten by new incoming data. On the other hand, an unprotected field is overwritten by subsequent messages. Formatting techniques are used to define protected and unprotected fields. Specifically, field titles or designators are periodically transmitted to the selective call receivers. These titles or designators form the protected fields and are semipermanently stored in the selective call receiver's memory. The data which changes regularly comprises the unprotected fields that are transmitted without designators, each field being separated from the next by only a carriage return symbol. Upon reception of a new message, the pager clears all unprotected fields and inserts the new update data into the unprotected fields and then displays both the protected and unprotected fields at the output of the selective call receiver. However, the reader cannot tell that only the unprotected data was sent, nor how much of the unprotected data has been updated. This approach significantly improves throughput when compared to re-sending entire messages, but transmits some redundant information. Another example of sending a blank form is disclosed by Fascenda in U. S. Patent Nos. 5,241,305 and 5,345,227. As disclosed, Fascenda teaches the use of mask blocks that are set aside for storing eight complete forty-character masks for use when receiving database type messages. Typically, a mask has zeros everywhere but where certain portions of the database are to be updated using a mask fill code-word. Once the mask has been transmitted and stored in a bit-mapped arrangement in the mask blocks and the non-zero portions are filled with individualized information (e.g., stock prices), a mask fill message including a mask fill code word can be transmitted to fill in the non-masked memory locations. In particular, to fill or change the contents of non-masked memory locations, a first code-word including a mask fill command, a mask ID and a database ID is transmitted. Thereafter, a second code-word comprising a start block, (i.e., the starting block number counting from the start of the database) and skip bits, which tell the microprocessor how many blocks are skipped after each mask is filled, is transmitted. Fascenda discloses yet another way to increase the rate of database transmissions that contain identical information that arises in a recurring pattern in a database. One example would be in a stock database where the words "open", "close" and "high" occur on a regular basis. In this case Fascenda uses a format code-word that includes a format command, a database ID and start block to reproduce identical information in several memory locations without transmitting the identical information several times.
Although Deluca, et al., and Fascenda both disclose ways of transmitting database messages wherein parts of a database are updated on a regular basis, both impose constraints. When masks or forms are used, certain areas of memory automatically become protected or shielded from being updated. Moreover, a disadvantage of using the mask method of Fascenda is that there are only a finite number of masks available and, therefore, there is a trade off between reduction of transmission overhead and limiting the number of ways for updating any particular message. The embedded protocol disclosed in U. S. Application having serial No. 08/531,932, filed September 21, 1995, by Chan, et al, and assigned to the assignee of the present invention, discloses several update commands embedded within a message portion of a standard paging communication protocol. Chan, et al., provides satisfactory performance under most, but not necessarily all, operating circumstances. For example, the Multiple Short Offset command and the Multiple Long Offset command of Chan, et al., allow updating of selected multiple fields within a previously sent single information services sub-message. However, the embedded protocol of Chan et al., lacks provision for a single command that allows updates to both selected multiple fields and selected multiple information service sub-messages.
Thus, what is needed is a method of efficiently sending updates to multiple fields of multiple information services sub-messages or topics.
Brief Description of the Drawings
FIG. 1 is an electrical block diagram of a selective call system for providing information services in accordance with a preferred embodiment of the present invention.
FIGS. 2-5 are timing diagrams illustrating the transmission format of the signaling protocol utilized by the selective call system of FIG. 1 in accordance with the preferred embodiment of the present invention.
FIG. 6 is an electrical block diagram of a selective call device in accordance with the preferred embodiment of the present invention.
FIG. 7 is an example of sets of sub-messages as presented on a display of a selective call device.
FIG. 8 is a flow diagram showing creation of a message updating the sets of sub-messages shown in FIG. 7, in accordance with the preferred embodiment of the present invention.
FIG. 9 is an example of sets of sub-messages as presented on a display of a selective call device.
FIG. 10 is a flow diagram showing creation of a message updating the sets of sub-messages shown in FIG. 9 in accordance with the preferred embodiment of the present invention.
FIG. 11 is an example of sets of sub-messages as presented on a display of a selective call device. FIG. 12 is a flow diagram showing creation of a message updating the sets of sub-messages shown in FIG. 11, in accordance with the preferred embodiment of the present invention.
FIG. 13 is an example of sets of sub-messages as presented on a display of a selective call device.
FIG. 14 is a flow diagram showing creation of a message updating the sets of sub-messages shown in FIG. 13 in accordance with the preferred embodiment of the present invention.
Description of a Preferred Embodiment
FIG. 1 shows an electrical block diagram of a paging system, or selective call system 100, for generating and transmitting (or broadcasting) a selective call signal (or communication signal) including a plurality of information services in accordance with a preferred embodiment of the present invention. The functions of the selective call system 100 are preferably implemented within software, for example within a MODAX 500 Selective Call Terminal that is manufactured by Motorola Inc., of Schaumburg, Illinois. Typically, a subscriber can send a message by using a telephone 102 to initiate a transmission of a selective call message. As is well known, the telephone 102 couples to the selective call system 100 via a telephone network 104, the operation of which is well known to one of ordinary skill in the art. Similarly, a computer/modem 106 is also coupled to the telephone network 104 to enter information, for example alphanumeric or numeric messages. The telephone network 104 couples to a message receiver 108 which receives the messages to be transmitted (broadcast) to at least one of a plurality of selective call devices 130, typically from the public switched telephone network 104.
According to the preferred embodiment, a plurality of information services 140-146 are coupled to the telephone network 104 which is coupled to a processor 109 via the message receiver 108. Alternatively, the plurality of information services 140-146 can be received via radio frequency signals. At frequent intervals, the providers of the information services send to the selective call system 100 updates of previously sent information services messages.
When the processor 109 receives updates, the information is encoded as a message in the form of a selective call signal (or communication signal). Specifically, the processor 109, coupled to the message receiver 108, determines an appropriate protocol, preferably the FLEX™ protocol, and an address to encode the information service. If the processor 109 determines that the message is to be sent via another signal format, it is passed to one of another protocol generator 116. When the processor has determined that the information services messages are to be transmitted on the FLEX protocol, the messages are then encoded and stored in a frame queue buffer 110 which has queues (FRAME 0-N QUEUES) for the corresponding frames of the signal. Preferably the number of frames N is 128. The predetermined frame identification (ID) of the selective call device 130 corresponding to the message is determined and the message is stored in the corresponding frame queue. A capacity analyzer and frame ID /cycle generator 112 determine the sequence of frame IDs to be transmitted and analyze the capacity of each frame to determine the cycle value to be used. The capacity analyzer and frame ID /cycle generator 112 is also responsive to other protocols being transmitted. For example, if the expected occurrence of a frame is to be replaced by the transmission of one of the other protocols (thereby diminishing the capacity of the frame), the capacity analyzer and frame ID /cycle generator 112 can account for this with the determined cycle value. A bit and frame sync generator 118 synchronously generates bit and frame synchronization signals. A message formatter 114 determines, in response to the address of selective call devices 130 and the frame queue, a frame in which the message is to be included. The messages are then formatted for transmission. A transmitter 120 accepts signals from message formatter 114, from other protocol generator 116 and from bit and frame sync generator 118, and transmits radio frequency selective call signals to selective call devices 130 via antenna 122 in a manner well known to those of ordinary skill in the art.
FIG. 2 shows a standard protocol format, the FLEX protocol, encoded into one-hundred-twenty-eight (128) message packets or frames 200. Each of the frames 200 is preferably 1.875 seconds in duration and has a preferred base data rate of 6400 bits per second. Referring to FIG. 3, each frame is comprised of a bit sync signal 302, preferably 32 bits of alternating 1, 0 patterns, followed by a FRAME SYNC #1 signal 304 preferably having a predetermined thirty-two bit word and its thirty-two bit inverse, and a FRAME INFO word signal 306, preferably one thirty-two bit word having twenty-one variable information bits containing information such as a cycle number and a frame number. The BIT SYNC signal 302 provides bit synchronization to the selective call device(s) 130 while the FRAME SYNC #1 signal 304 provides frame synchronization and includes a signal indicative of the data rate of the message information.
Following the FRAME INFO word signal 306 is a FRAME SYNC #2 308. Following the FRAME SYNC #2 308 is a block info word signal 310 including information such as the number of priority addresses, end of block information field, and vector start field. The code word of each frames 200 is preferably encoded as 31, 21 Bose-Chaudhuri-Hocquenghem (BCH) code words having twenty-one information bits and ten parity bits generated according to the well-known BCH algorithm. An additional even parity bit extends the word to a 32, 21 code word. The addresses are located in block 312, the vectors pointing to the messages are located in block 314, and the messages are located in the remaining blocks, such as block 316. Generally, all the address signals within the frame are located in a first portion, or address portion, of the frame, such as in block 312, and all the message signals are located in a subsequent portion, or message portion, of the frame, such as in block 316. It is well known to those skilled in the art how to locate addresses in a first portion and messages in a second portion of the frame 200. Words 310, 312, 314 and 316 are shown in a vertical orientation to indicate that these words may be interleaved in order to improve the immunity of the transmission to burst errors. All binary, and selected alphanumeric, outbound messages in one-way selective call systems, and all binary, and selected alphanumeric, forward channel messages in two-way selected call systems comprise a protocol-defining header, or Status Information Field, followed by a data field. The FLEX protocol is more fully explained in U. S. Patent No. 5,555,183, entitled Method and Apparatus For Synchronizing To A Synchronous Selective Call Signal, issued September 10, 1996, to Willard, et al., which is assigned to the assignee of the present invention, and which is hereby fully incorporated by reference herein. As is well known in the prior art, a selective call device is preprogrammed with one or more transport-level communication protocol addresses for receiving messages. For example a selective call device 130 is pre-programmed with one FLEX address for receiving personal messages and with a plurality of additional, unique FLEX addresses for receiving each of the plurality of information services 140-146 to which the selective call device subscribes. It is also well known that each message received by the FLEX address corresponding to any one of the information services 140-146 is formatted similarly, if not identically. Subscribers to an information service 140-146 receive original messages, and thereafter receive updates to the original messages. Typically, only a relatively small portion of the information within each original message changes with time; therefore, only the relatively small portion need be updated, i.e., transmitted as an update message. For example, a person who subscribes to Financial /Stock Market Information 144 service usually pre-designates the stocks for which the person wishes to receive prices. Each of the stocks associated with the Financial /Stock Market Information 144 service is pre-assigned a sub-address, or Topic Number. The sub-address, or Topic Number, is separate from the FLEX address. Typically, a sub-message associated with each stock contains several types of information, in separate fields, for presentation on the display, such as: a stock symbol, current price, an indication of a change in the prices and the direction of the change, if any, the volume, the high and low price for the day and /or for the year, an ex-dividend date indication, etc. The fact that each field within of each Financial/Stock Market Information 144 service message is located in a substantially similar location, means that it is possible to update the current price and volume of a plurality of stocks in one update message by compactly transmitting, within an update command, the Topic Numbers of stocks that are to be updated and location information of each field to be updated, as described more fully hereinbelow. Other information services messages, such as sport scores and weather, having different FLEX addresses, are updated in a similar fashion. Generally, there is a single FLEX address for each group of Topic Numbers sharing a similarly formatted sub-message. Referring to FIG. 4, one of the messages, message 316, is illustrated in more detail in accordance with the preferred embodiment of the present invention. Updates to the information services 140-146 are encoded in one of the messages, such as message 316, for transmission to the selective call devices 130. There are various methods and levels of communication passed to selective call devices 130 from a selective call system 100, and a procedure is needed to identify which application-layer, or embedded, protocol was used by an information service 140-146 to encode the information content contained in such transfers. A Status Information Field 402 identifies that an embedded protocol message 401, preferably a FLEXsuite™ embedded protocol message, as opposed to a regular selective call message, is being transmitted. The term "embedded protocol" means an application-layer communication protocol carried by a transport-layer communication protocol. FLEXsuite comprises several embedded protocols used to transfer applications, i.e., computer programs, and data for use by such applications, over a selective call system 100 that uses the FLEX protocol. When a transmission channel has limited capacity, it is advantageous to use a radio frequency-based embedded protocol, such as one of the FLEXsuite protocols, rather than one of the more feature-rich, wireline based, prior art protocols. The Status Information Field 402 defines which method among several possible methods of transferring information to a selective call device from the selective call system 100 is used. The Status Information Field is defined as the first eight bits of application-layer information in a FLEXsuite embedded protocol message 401. It should be understood that a message 316 can comprise one or more FLEXsuite embedded protocol messages 401, or sub-message, in which case, each of the one or more embedded protocol messages has a separate Status Information Field 402. It should also be understood that a message 316 can comprise one or more FLEXsuite embedded protocol messages 401 and one or more regular selective call messages. The purpose of the Status Information Field 402 is to provide to the controller 210 the information needed by the software of the selective call device 130 to correctly process the information content of the associated message field that immediately follows the Status Information Field.
The Status Information Field 402 comprises an application-layer protocol identifier, preferably represented by two hexadecimal digits. Preferably, the application-layer protocol is FLEXinfo™ and the application-layer protocol identifier for FLEXinfo is preferably "80". The absence of the application identifier indicates that the message is a regular selective call message. Alternatively, a different application identifier indicates that the message is a regular selective call message. As can be appreciated from FIG. 4, the Status Information Field is the first portion of the message 316. Alternatively, a Global Status Information Field (not shown, but substantially similar to the Status Information Field 402) can precede the Status Information Field 402. A Global Status Information Field comprises bytes that form a global identifier and bytes that indicate the size of the global payload. Examples of Global Status Information Fields are compression and scrambling, i.e., encryption. The global identifier is preferably two hexadecimal digits. The global identifier for encryption is preferably "F0". The encryption for FLEXsuite is preferably carried out using the technique taught in U. S. Patent No. 5,283,832 entitled Paging Message Encryption, issued February 1, 1994, to Lockhart, Jr. et al., which is assigned to the assignee of the present invention, and which is hereby fully incorporated by reference herein. Multiple global protocols can be concatenated in a single transmission by transmitting successive Global Status Information Fields. Included within the Global Status Information Field is an indication of the FLEXsuite message size, or length, of the FLEXsuite payload (in number of bytes). The indication of the message size allows a plurality of FLEXsuite messages to be transmitted within a single FLEX message, such as message 316. In the example pictorially represented in FIG. 4, the FLEXsuite message size comprises the bytes within blocks 403-427, which, in this example, represent only one FLEXsuite message, i.e., a FLEXinfo command.
A selective call device 130 receives an original information services message in conventional ways, preferably through the use of a FLEXinfo Original Message Command. The formatting of an information services message is more fully explained in U. S. patent application having serial No. 08/807933, entitled Selective Call Message Formatting, filed February 28, 1997, by Nelms, et al., assigned to the assignee of the present invention, and which is hereby fully incorporated by reference herein. Battery saving by a selective call device 130 that subscribes to an information service, and a description of FLEXinfo commands related thereto, are more fully described in U. S. patent application having serial No. 08/806,972 entitled Selective Call Device And Method For Battery Saving During Information Services, filed February 26, 1997, by Nelms et al, assigned to the assignee of the present invention, and which is hereby fully incorporated by reference herein.
Following the FLEXsuite Status Information Field 402, each FLEXinfo command has a unique Command Identifier 403. The Command Identifier 403 is preferably an expandable unsigned integer. Updates to previously received information services messages are accomplished through the use of one of two types of update commands that allow selected portions, or fields, of an original message to be efficiently updated with minimal overhead. In accordance with the invention, one of the update commands, a Sequential Topic Range Update Command 400, is transmitted following the FLEXsuite Status Information Field 402 within the FLEXsuite embedded protocol message 401. The Sequential Topic Range Update Command 400 comprises blocks 403-427 of FIG. 4. Preferably, the topics of each information service are designated by unique numbers to facilitate the correlation between the topics and sub-addresses. For each sub-message, there is a corresponding sub-address. In the Sequential Topic Range Update Command 400, a sequential range of topics method designates a range of the information topics that are included in the update message, e.g., as the explicitly designated first topic and an implicitly designated last topic described as an offset from the first topic. A Content Length 404 specifies the size of the Sequential Topic Range Update command, i.e., it specifies the number of bytes from block 405 through block 427, inclusive. The next field in the Sequential Topic Range Update Command 400 is a Data Translation Identifier 405. The Data Translation Identifier is preferably four bits in length. The Data Translation Identifier 405 identifies which of several data translation algorithms, such as ASCII or Numeric, was used to encode the associated data in the Sequential Topic Range Update Command. Although ASCII is the preferred data translation algorithm when sending an original message to a selective call device 130, updates are preferably sent using a numeric data translation algorithm, such as Standard Numeric or Financial Numeric. Advantageously, the method in accordance with the invention allows efficient updating of sub- messages because updates are transmitted in any of the popular four bit numeric, seven and eight bit alphanumeric, and eight bit hexadecimal formats producing the most tightly packed data. Through the use of the Data Translation Identifier 405, the selective call device 130 can properly convert the message to the format in which the message is stored in a memory element, such as message memory 226. After the Data Translation Identifier 405, there is preferably a block 406 reserved for future use having a size, or length, of one nibble. The controller 210 in the selective call device 130 derives the range of the information topics from a Base Topic 407, which designates the beginning sub-address that will be transmitted, and from a Number of Additional Topics 408, which defines a number N of additional topics after the Base Topic 407 to which the command is applied. For example, if the beginning topic number is ninety-eight, then the hexadecimal value "62" appears in the field for Base Topic 407. For example, if the total number of information services topics is seven, then the hexadecimal value "06" appears in the field for Number of Additional Topics 408. Unlike known methods which use sub-addresses of a pre- determined length, the Base Topic 407 and the Number of Additional Topics 408 are advantageously unsigned expandable integers. A byte expansion flag in the most significant position of an expandable integer field indicates whether the expandable integer extends over more than one byte. Each topic has a unique integer associated therewith. By designating the topic sub-address in a sequential manner, e.g., either in ascending or descending order with unique integers, the beginning topic sub-address and the ending topic sub-address identify the possible information service updates that are included within a given transmission. When the topic sub-address range does not include any topic sub-addresses of the information services to which the selective call device 130 is subscribed, the selective call device can skip to the next command (if there is another command) or can immediately shutdown, i.e., battery save. The Sequential Topic Range Update command also comprises a Number of Additional Fields 409 parameter that defines a number M of additional fields to update. The Number of Additional Fields parameter is preferably an unsigned expandable integer. For example, if there are no additional fields to update beyond the first field, then the value "00" is transmitted in block 409. The Sequential Topic Range Update command also comprises a Field Offsets 410 array of M+l parameters. The Field Offsets 410 are an array of unsigned expandable integers that define, for each field in a topic, offsets to the first character of the field. The first field offset, Field Offset (0), is defined as the number of characters from the first character of the message. In the event the Data Translation Identifier 405 designates hexadecimal format, then the first field offset is defined as the number of bytes from the first character of the message. The second field offset, Field Offset (1), and all subsequent offsets to Field Offset (M), are defined as the number of characters (or bytes for hexadecimal format) from the character following the previous updated field in the message. The Sequential Topic Range Update Command 400 also comprises a Field Lengths 411 array of M+l unsigned expandable integers that define a field length, in number of characters, for each of the fields that are to be updated. The Sequential Topic Range Update Command 400 also comprises an array of data strings, [Data(0,0), Data(0,l), Data(0,2) . . . Data(0,M), Pad Bits, Data(l,0), Data(l,l), Data(l,2) . . . Data(l,M), Pad Bits . . . Data(N,0), Data(N,l), Data(N,2) . . . Data(N,M), Pad Bits], immediately following the array of Field Lengths 411. The first entry in the array of data strings, Data (0,0), represents the updated information for the first field, i.e., Field Offset (0), of the Base Topic, i.e., Topic (0). The second entry in the array of data strings, Data (0,1), represents the update information for the second field, i.e., Field Offset (1), of the Base Topic, i.e., Topic (0). In the example given above, the Base Topic is topic number ninety-eight. The entry Data (1,0) represents the updated information for the first field, i.e., Field Offset (0), of the next topic, i.e., Topic (1), in the sequential range of topics that are to be updated by the Sequential Topic Range Update Command 400. In the example given above, the next topic is topic number ninety-nine. The last portion of the Sequential Topic Range Update Command 400 is an expandable Reserved Expansion Area 427.
Referring now to FIG. 5, in accordance with the invention, the other of the update commands, an Itemized Topic List Update Command 500, is transmitted following the FLEXsuite Status Information Field 502 within the FLEXsuite message 501. The Itemized Topic List Update Command 500 comprises blocks 503-527 of FIG. 5. It should be understood that a computer (not shown), preferably located at each provider of the information services 140-146, is programmed to construct update messages using both the Sequential Topic Range Update Command 400 and the Itemized Topic List Update Command 500, and to transmit to the selective call system via the telephone network updates using whichever command produces the shortest message. In the Itemized Topic List Update Command 500, a list designates the information topics that are included in the update message. A Content Length 504 specifies the size of the Itemized Topic List Update Command 500, i.e., it specifies the number of bytes from block 505 through block 527, inclusive. The next field in the Itemized Topic List Update Command 500 is a Data Translation Identifier 505. The Data Translation Identifier is preferably four bits in length. The Data Translation Identifier 505 identifies which of several data translation algorithms, such as ASCII or Numeric, was used to encode the associated data in the Itemized Topic List Update Command 500. Although ASCII is the preferred data translation algorithm when sending an original message to a selective call device 130, updates are preferably sent using a numeric data translation algorithm, such as Standard Numeric or Financial Numeric. After the Data Translation Identifier 505, there is preferably a block 506 reserved for future use having a size, or length, of one nibble. A single FLEX address is generally pre-selected for each group of Topic Numbers (sub-addresses) sharing a similarly formatted sub-message; therefore, the method in accordance with the invention advantageously uses only one update command, such as the Sequential Topic Range Update Command 400 or the Itemized Topic List Update Command 500 (whichever is shortest), is used to efficiently send updates to multiple fields of multiple sub-messages, that is, to multiple fields of multiple information service topics. Such update command is part of an embedded protocol, or application-layer protocol, transmitted by the selective call system 100 within the message portion, such as block 316 of FIG. 3, of a standard transport-layer communication protocol format. The data of the multiple sub-messages comprise the data within composite blocks 412, 417 and 422 of FIG. 4 and composite blocks 512, 517 and 522 of FIG. 5. The sub-addresses associated with each of the sub-messages are the topic numbers appearing in blocks 407 and 408 of FIG. 4 and block 508 of FIG. 5. In those instances where a group of topic numbers shares more than one type of formatted message, the methods in accordance with the invention constructs, using the computer at one of the information services 140-146, two update commands, one for each type of formatted message, and the selective call system 100 advantageously transmits the two update commands within one FLEXsuite payload within one message portion of a standard transport-layer communication protocol format. Advantageously, all topic numbers in any one Itemized Topic List Update Command 500 are of the same length to eliminate error propagation. However, unlike prior art methods, the length can dynamically change (zeros added or deleted from the most significant positions so as not to change the value of a topic number) from one command to another by the computer at one of the information services 140-146. The controller 210 in the selective call device 130 determines the length from the first topic in the Topic Numbers 508 field using the byte expansion flags of the first and second topic numbers. The controller 210 in the selective call device 130 derives the information topics from a
Number of Additional Topics 507, and from a list of Topic Numbers 508 that is an array, [Topic (0), Topic (1), Topic (2) . . . Topic (N)]. The Number of Additional Topics 507 defines a number N of additional topics after Topic (0), to which the command is applied. For example, if the total number of topics to be updated in the current command is three, then the number of additional topics is two, and the hexadecimal value "02" appears in the field for Number of Additional Topics 507. For example, if the beginning topic numbers that are to be updated in the current command are "98, 102 and 103", then the hexadecimal values "62 66 67" appear in the field labeled Topic Numbers 508. The Number of Additional Topics 507 and the Topic Numbers 508 are preferably expandable unsigned integers. When the topic sub-address range does not include any topic sub-addresses of the information services to which the selective call device 130 is subscribed, the selective call device can skip to the next command (if there is another command) or can immediately shutdown, i.e., battery save. The Itemized Topic List Update Command 500 also comprises a Number of Additional Fields 509 parameter that defines a number M of additional fields to update. The Itemized Topic List Update Command 500 also comprises a Field Offsets 510 array of M+l parameters. The Field Offsets 510 are an array of expandable unsigned integers that define, for each field in a topic, offsets to the first character of the field. The first field offset, Field Offset (0), is defined as the number of characters from the first character of the message. In the event the Data Translation Identifier 505 designates hexadecimal format, then the first field offset is defined as the number of bytes from the first character of the message. The second field offset, Field Offset (1), and all subsequent offsets to Field Offset (M), are defined as the number of characters (or bytes for hexadecimal format) from the character following the previous updated field in the message. The Itemized Topic List Update Command 500 also comprises a Field Lengths 511 array of M+l expandable unsigned integers that define a field length, in number of characters, for each of the fields that are to be updated. The Itemized Topic List Update Command 500 also comprises an array of data strings, [Data(0,0), Data(0,l), Data(0,2) . . . Data(0,M), Pad Bits, Data(l,0), Data(l,l), Data(l,2) . . . Data(l,M), Pad Bits . . . Data(N,0), Data(N,l), Data(N,2) . . . Data(N,M), Pad Bits], immediately following the array of Field Lengths 511. The first entry in the array of data strings, Data (0,0), represents the updated information for the first field, i.e., Field Offset (0), of the Base Topic, i.e., Topic (0). The second entry in the array of data strings, Data (0,1), represents the updated information for the second field, i.e., Field Offset (1), of the Base Topic, i.e., Topic (0). In the example given above, the Base Topic is topic number "98". The last portion of the Itemized Topic List Update Command 500 is an expandable Reserved Expansion Area 527.
FIG. 6 shows an electrical block diagram of a selective call device according to the preferred embodiment of the present invention. The selective call device 130 is powered by a battery 234 and operates to receive and to transmit radio frequency signals via an antenna 202. A receiver 204 is coupled to the antenna 202 to receive the radio frequency signals. A demodulator 206 is coupled to the receiver 204 to recover any information signal present in the radio frequency signals using conventional techniques. The recovered information signal from the demodulator 206 is coupled to a controller 210 that decodes the recovered information in a manner well known to those skilled in the art. In the preferred embodiment, the controller 210 comprises a microcomputer, such as a Model MC68HC11PH8 microprocessor manufactured by Motorola, Inc., and comprises a signal processor performing the functions of a decoder which is normally implemented in both hardware and software. The signal processor comprises an address correlator 214 and a decoder 212, using methods and techniques known to those skilled in the art. The address correlator 214 checks the recovered information signal from the output of the demodulator 206 for address information and correlates a recovered address with one of a plurality of predetermined addresses that are stored in a non-volatile memory 220. After the address correlator 214 determines that the received signal is directed to the selective call device 130, e.g., by correlating the address in the received signal to one of the predetermined addresses in the non-volatile memory 220, the decoder 212 decodes the signal for the application identifier to determine if the message contains information services data. Absence of the application-layer protocol identifier in the Status Information Field 402 and 502 (FIGs. 4 and 5) indicates that the message being decoded is a regular selective call message. Conversely, when the application-layer protocol identifier is present and when it correlates to an information service application such as FLEXinfo, the message is an information service message. The transport-level communication protocol addresses for the information services is preferably stored in non-volatile memory 220, and the application-layer protocol identifier, the Command Identifier 403, and the topic numbers (or sub-addresses), are preferably stored in a memory 222. When the user of the selective call device 130 has subscribed to at least one information service, the memory 222 is programmed with the information service addresses and associated topic numbers (or sub- addresses). Each information service has a unique address and a plurality of unique topic numbers that allows the selective call device 130 to determine when the subscribed information service 140-146 is present within a particular transmission. A topic number can be a short form of an information service address, but preferably a topic number is totally different from an information address while still being able to identify the presence of the information service topic within a particular transmission.
Status information is stored in memory 222 and indicates the information service that the selective call device 130 is programmed to receive. Subsequent to the decoder decoding the presence of an application-layer protocol identifier in the Status Information Field 402, the decoder decodes the Command Identifier 403, indicating, for example, that a Sequential Topic Range Update Command 400 was received. Next, the decoder decodes the Base Topic 407, i.e., first sub-address, and the Number of Additional Topics 408, or sub-addresses, and the data in composite blocks 412, 417 and 422. The decoder further decodes the Content Length 404 to determine the end of the command. If the topic number corresponding to the information service(s) being subscribed to by the selective call device is not within the range of the Base Topic 407 and the topic end address, the decoder decodes the next command (if there is another command) otherwise, the decoder 212 strobes a user interface 216 causing the battery saver 218 to disable or remove power from the receiver 204 via a support circuitry 224. On the other hand, when the Itemized Topic List Update Command
500 is decoded, the Number of Additional Topics 507 is decoded followed by the itemized Topic Numbers 508, or sub-addresses. Alternatively, the Number of Additional Topics 508 set of parameters is replaced by a set of numerical differences between each additional topic number and the topic number that preceded the additional topic number. In such case, the differences are decoded, and software stored in non-volatile memory 220 determines Topic Numbers 508 therefrom. This alternative method is advantageous when the differences between topic numbers are, on average, smaller than the topic numbers, because topic number information is part of overhead which should be kept to a minimum. If the selective call device does not decode an address corresponding to one of its subscribed information services (or a topic number corresponding to one of its subscribed topic numbers), the decoder decodes the next command (if there is another command) otherwise, the battery saver 218 initiates the removal of power to the receiver 204.
Conversely, when a subscribed topic number is found within the itemized list of Topic Numbers 508, the controller 210 further decodes the command, including the information data in composite blocks 512, 517 and 522. The controller 210 recovers the topic numbers for the selected information service sent to the selective call device 130 and when it correlates with the topic numbers stored in memory 222, the decoder 212 decodes the message and stores the decoded message in message memory 226.
In this way, subsequent to the selective call device 130 verifying that the received information is directed to it, the selective call device 130 further decodes the received information to determine if it includes any information services data directed to the selective call device 130. As is well known, information service 140-146 providers package the updates and a selective call system 100 provider transmits the updates, and any selective call device 130 that is authorized to receive the information services 140-146 will receive the updates. After receiving, decoding, and storing the selected information service in the message memory 226, the selective call device 130 typically presents at least a portion of the stored message to a user, such as by a display 228, e.g., a liquid crystal display. Additionally, along with receiving, decoding, and storing the information, an alert is presented to the user via an output annunciator 232. The support circuitry 224 preferably comprises a conventional signal multiplexing integrated circuit, a voltage regulator and control mechanism, a current regulator and control mechanism, audio power amplifier circuitry, control interface circuitry, and display illumination circuitry. These elements are arranged to provide support for the functions of the selective call device 130 as requested by a user.
Additionally, the controller 210 determines from the enabled or disabled status information in the memory 222 whether to conserve power upon detection of an address information. That is, when a received and recovered address information correlates with a predetermined address in non-volatile memory 220, the controller 210 checks the status information corresponding to the correlated predetermined address information to determine whether that address is enabled. If the controller 210 determines that the correlated predetermined address is not enabled, then the decoder 212 is not invoked. Input controls 230 are coupled to the memory 222 and to the user interface 216 for receiving user inputs, including but not limited to programming, manipulating data, and sending commands to the selective call device 130. A selective call device alternatively includes a transmitter 208 for responding to information services sub-messages.
In addition to battery saving when the transport-layer communication protocol address of the selective call device 130 is not received, the selective call device 130 can battery save when it determines that the information service or updates thereto do not contain the particular topics subscribed to by the selective call device 130. In this way, the information services are identified by information service addresses and topic numbers (sub-addresses) which are transmitted with the information services messages to enable the selective call devices 130 to determine when a transmission includes the topics to which it subscribes. Since there are a large number of available information service topics, the battery life would be quickly depleted if the selective call device was required to search all transmissions for a subscribed to information service 140-146. Therefore, by checking for the information service address and the topic number, the selective call device is able to initiate battery saving. Examples of the methods of updating information services messages in accordance with the invention are shown in FIGS. 7-12. Referring now to FIG. 7, a sub-message 700 having a topic number of "01" and a sub-message 701 having a topic number "02" are shown as presented on a display of a selective call device 130. Both of the sub-messages are similarly formatted. Each of the sub-messages is from a Financial /Stock Market Information 144 service and contains fields showing a stock symbol, a current price, a price change, and an indication of direction of the price change. The sub-messages 700 and 701 are original messages transmitted using conventional methods, preferably through the use of the FLEXinfo Original Message Command. Alternatively, sub-messages 700 and 701 are updates to an earlier (not shown) original message. It should be understood that nothing in the method in accordance with the present invention precludes an original message having been sent without the use of an embedded protocol or a sub-address or a topic number. Sub-messages 702 and 703 are the result of portions of sub- messages 700 and 701, respectively, being updated through the use of a Sequential Topic Range Update Command 400. The portions updated are the current price and the price change. FIG. 8 shows a flow diagram 800 illustrating steps taken to construct a Sequential Topic Range Update Command 400 to send the updated data necessary to produce sub- messages 702 and 703 using Numeric Data Translation. At Step 801 the fields that are to be updated are defined in terms of the number of fields, the location of each field, and the length of each field. In sub-message
700, the last three digits of the current price are updated. The last three digits of the current price is a field starting nine positions from the leftmost position of the display, i.e., Offset (0) = 9, and the field is three characters in size, i.e., Length (0) = 3. Also in sub-message 700, the last two digits of the price change are updated. The last two digits of the price change is a field starting four positions from the position after the position following in the previous field, i.e., Offset (1) = 4, and the field is two characters in size, i.e., Length (1) = 2. In both sub-messages 700 and
701, the same fields are updated. The Field Offsets (0, 1) = "09, 04" are transmitted in block 410 of the Sequential Topic Range Update Command. The Field Lengths (0, 1) = "03, 02" are transmitted in block 411 of the Sequential Topic Range Update Command. At Step 802, blocks 403-411 of the Sequential Topic Range Update Command 400 are composed, as shown. At Step 803, composite blocks 412, 417 and 422 are composed by converting the data to packed hexadecimal data, using pad bits so that the data for each topic ends on an even byte boundary. Only after the insertion of any necessary pad bits, can the Content Length 404 be calculated at Step 804. At step 805, the preceding steps are repeated if there are additional commands that are to be sent in the same embedded protocol message 401. In this example there are no additional commands. At step 806, the FLEXsuite Status Information Field 402 is added to the beginning of the command, and the command is sent. In the preceding example, ten bytes of overhead are used to update two topics. Therefore, advantageously, on average, only 5 bytes of overhead are used per topic. The prior art methods would use a larger number of bytes per sub-address to send the same updates ("sub-addresses" is the term used in the prior art most similar to the term "topics" used in the description of the present invention). FIG. 9 shows sets of sub-messages 900-913 having topic numbers "98-
104" as presented on a display of a selective call device. Original sub- messages 900-906 are shown as presented on the display of the selective call device 130. Sub-messages 907-913 are shown as presented on the display after being updated by a Sequential Topic Range Update Command 400 using Alphanumeric Data Translation. The construction of the command that produces the updates resulting in the sub-messages 907-913 is shown in FIG. 10 according to the steps of flow diagram 1000. In the preceding example, two fields in seven topics are updated. Advantageously, only ten bytes of overhead are used. Therefore, in the example shown in FIGS. 9 and 10 there are, on average, only about 1.44 bytes of overhead per topic. The prior art methods would use a larger number of bytes per sub-address to send the same updates.
FIG. 11 shows sets of sub-messages 1100-1105 having topic numbers "98, 102, 103" as presented on a display of a selective call device. Original sub-messages 1100-1102 are shown as presented on the display of the selective call device 130. Sub-messages 1103-1105 are shown as presented on the display after being updated. FIG. 12 is a flow diagram 1200 showing creation of an Itemized Topic List Update Command 500, using Numeric Data Translation, containing update data and instructions for updating the sets of topics 1100-1102 shown in FIG. 11, in accordance with the preferred embodiment of the present invention. FIG. 13 shows sets of sub-messages 1300-1303 having topic numbers
"10, 17" as presented on a display of a selective call device. Each of the sub-messages is from a Sport Information 141 service and contains fields showing name of team, quarter, time remaining in game, scores, and a word description of a game event. Original sub-messages 1300-1301 are shown as presented on the display of the selective call device 130. Sub- messages 1302-1303 are shown as presented on the display after being updated two update commands transmitted as one FLEXsuite embedded protocol message. The first update command is a Sequential Topic Range Update Command 400 and the second update command is an Itemized Topic List Update Command 500. FIG. 14 is a flow diagram 1400 showing creation of a FLEXsuite embedded protocol message updating the sets of topics 1300-1301 shown in FIG. 13, in accordance with the preferred embodiment of the present invention.
Advantageously, the method in accordance with the invention does not require any change in pre-existing selective call systems or in the preexisting transport-level paging protocols.
While a detailed description of the preferred embodiments of the invention has been given, it should be appreciated that many variations can be made thereto without departing from the scope of the invention as set forth in the appended claims. For example, the invention is not limited for use with the FLEX transport-level radio paging protocol, but can be used with other paging protocols. Also, the invention is not limited for use with a wireless selective call protocol, but can be used with any wireless protocol. Further, the invention is not limited for use with wireless protocols, but can be used with wireline protocols. We claim:

Claims

1. In a selective call device comprising a processor coupled to a memory element, the selective call device configured to receive a signal transmitted in a standard transport-layer communication protocol format, the signal comprising an address portion and a message portion, a message portion comprising at least one sub-message, a method of updating sub-messages stored in the memory element comprising the steps of: (a) receiving a signal comprising a sub-message and storing the sub-message in the memory element;
(b) subsequent to step (a), receiving an update command within the message portion of said standard transport-layer communication protocol format, the update command comprising at least one sub- address and at least one sub-message, each sub-address corresponding to a corresponding sub-message; and
(c) for each sub-address of the at least one sub-address received in step (b), determining from the sub-address whether the selective call device is permitted to receive a corresponding sub-message within the update command, and updating the memory element in a manner dependent upon the sub-address, the sub-message, and the update command.
2. The method of claim 1, in which the standard transport- layer communication protocol format is a wireless protocol.
3. The method of claim 2, in which the standard transport- layer communication protocol format is a wireless selective call protocol.
4. The method of claim 3, in which the sub-message of the update command received in step (b) also comprises update data for updating a portion of the sub-message received in step (a).
5. The method of claim 4, in which the update command comprises a data translation identifier for distinguishing a format of the update data.
6. In a selective call device comprising a processor coupled to a memory element, the selective call device configured to receive a signal transmitted in a standard transport-layer communication protocol format, the signal comprising an address portion and a message portion, a message portion comprising at least one sub-message, a method of updating sub-messages stored in the memory element comprising the steps of:
(a) receiving a signal comprising a plurality of sub-messages and storing the sub-messages in the memory element, each sub-message corresponding to one sub-address;
(b) subsequent to step (a), receiving a single update command within the message portion of said standard transport-layer communication protocol format, the single update command comprising update data and more than one sub-address and more than one sub- message, each sub-address corresponding to a corresponding sub-message; and
(c) for each sub-address of the more than one sub-address received in step (b), determining from the sub-address whether the selective call device is permitted to receive the corresponding sub- message within the single update command, and updating more than one sub-message stored in the memory element in a manner dependent upon the sub-address, the sub-message, and the single update command.
7. The method of claim 6, in which the standard transport- layer communication protocol format is a wireless protocol.
8. The method of claim 7, in which the standard transport- layer communication protocol format is a wireless selective call protocol.
9. The method of claim 8, in which the single update command comprises a data translation identifier for distinguishing a format of the update data.
10. The method of claim 9, in which the sub-message of the single update command received in step (b) updates a same portion of more than one of the plurality of sub-messages received in step (a).
11. In a selective call device comprising a processor coupled to a memory element, the selective call device configured to receive a signal transmitted in a standard transport-layer communication protocol format, the signal comprising an address portion and a message portion, a message portion comprising at least one sub-message, a method of updating sub-messages stored in the memory element comprising the steps of:
(a) receiving a signal comprising a plurality of sub-messages and storing the sub-messages in the memory element, each sub-message corresponding to one sub-address;
(b) subsequent to step (a), receiving more than one update command within one message portion of said standard transport-layer communication protocol format, each of the more than one update command comprising at least one sub-address and at least one sub- message, each sub-address corresponding to a corresponding sub-message; and
(c) for each sub-address of the at least one sub-address received in step (b), determining from the sub-address whether the selective call device is permitted to receive the corresponding sub-message within each of the more than one update command, and updating at least one sub- message stored in the memory element in a manner dependent upon the sub-address, the sub-message, and the more than one update command.
12. The method of claim 11, in which the standard transport- layer communication protocol format is a wireless protocol.
13. The method of claim 12, in which the standard transport- layer communication protocol format is a wireless selective call protocol.
14. The method of claim 11, in which the sub-message of the more than one update command received in step (b) comprises update data for updating a portion of the sub-message received in step (a).
15. The method of claim 14, in which the more than one update command comprise a data translation identifier for distinguishing a format of the update data.
16. The method of claim 11, in which the more than one update command comprise a command for updating sub-messages having sequentially numbered sub-addresses.
17. The method of claim 16, in which the more than one update command also comprise differences between sequential sub-addresses.
18. The method of claim 11, in which the more than one update command comprise at least one command for updating sub-messages having itemized sub-addresses.
19. The method of claim 18, in which the at least one command for updating sub-messages having itemized sub-addresses comprises a command for updating sub-messages having itemized sub-addresses of a first length and a command for updating sub-messages having itemized sub-addresses of a second length.
20. The method of claim 11, in which the more than one update command comprise a command for updating sub-messages having sequentially numbered sub-addresses and a command for updating sub- messages having itemized sub-addresses.
PCT/US1998/003251 1997-03-07 1998-02-20 Performing updates to multiple information service topics using a single command WO1998039929A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU64365/98A AU6436598A (en) 1997-03-07 1998-02-20 Performing updates to multiple information service topics using a single command

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US4062297P 1997-03-07 1997-03-07
US60/040,622 1997-03-07
US87004897A 1997-06-05 1997-06-05
US08/870,048 1997-06-05

Publications (2)

Publication Number Publication Date
WO1998039929A2 true WO1998039929A2 (en) 1998-09-11
WO1998039929A3 WO1998039929A3 (en) 1998-10-29

Family

ID=26717241

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/003251 WO1998039929A2 (en) 1997-03-07 1998-02-20 Performing updates to multiple information service topics using a single command

Country Status (3)

Country Link
CN (1) CN1178529C (en)
AU (1) AU6436598A (en)
WO (1) WO1998039929A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010023702A (en) * 1997-09-05 2001-03-26 비센트 비.인그라시아, 알크 엠 아헨 Insert/delete modification of information service message
FR2828610A1 (en) * 2001-06-29 2003-02-14 Samsung Electronics Co Ltd Commonly applied information transmitting method used in mobile communication system, involves generating information indicating changed information, when commonly applied information is changed
EP1453332A1 (en) * 2003-02-28 2004-09-01 Kabushiki Kaisha Toshiba Automatically deleting obsolete information in a wireless communication apparatus

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4677434A (en) * 1984-10-17 1987-06-30 Lotus Information Network Corp. Access control system for transmitting data from a central station to a plurality of receiving stations and method therefor
US4845491A (en) * 1987-05-15 1989-07-04 Newspager Corporation Of America Pager based information system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4677434A (en) * 1984-10-17 1987-06-30 Lotus Information Network Corp. Access control system for transmitting data from a central station to a plurality of receiving stations and method therefor
US4845491A (en) * 1987-05-15 1989-07-04 Newspager Corporation Of America Pager based information system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010023702A (en) * 1997-09-05 2001-03-26 비센트 비.인그라시아, 알크 엠 아헨 Insert/delete modification of information service message
FR2828610A1 (en) * 2001-06-29 2003-02-14 Samsung Electronics Co Ltd Commonly applied information transmitting method used in mobile communication system, involves generating information indicating changed information, when commonly applied information is changed
US7299065B2 (en) 2001-06-29 2007-11-20 Samsung Electronics Co., Ltd. Method for transmitting HSDPA service information in a CDMA mobile communication system
EP1453332A1 (en) * 2003-02-28 2004-09-01 Kabushiki Kaisha Toshiba Automatically deleting obsolete information in a wireless communication apparatus

Also Published As

Publication number Publication date
AU6436598A (en) 1998-09-22
CN1178529C (en) 2004-12-01
WO1998039929A3 (en) 1998-10-29
CN1249883A (en) 2000-04-05

Similar Documents

Publication Publication Date Title
US6016107A (en) Reliably updating an information service message
US6055413A (en) System and method for including origination time and update lifetime with updateable messages
EP0815664B1 (en) Method and apparatus for organizing and recovering information communicated in a radio communication system
CN100481971C (en) Wireless broadcast message, and method and system for wirelessly receiving broadcast messages
EP0872044B1 (en) Message fragmenting in a time diversity radio system
US5493282A (en) Addressing method for conserving power in distributed information receivers
US5714943A (en) Radio data interface device
US5649315A (en) Method for selecting between first, second and third battery saving periods in a selective call
AU697479B2 (en) Selective calling system and selective calling receiver
US5910778A (en) Embedded protocol
WO1998039929A2 (en) Performing updates to multiple information service topics using a single command
CA2282018C (en) Selective call device and method for battery saving during information services
US6148178A (en) Selective call message formatting
JPH11243569A (en) Message receiver
WO1999013658A1 (en) Insert/delete modification of information service message
JPH0537446A (en) Selection call communication system
JPH0897785A (en) Broadcast or communication method or device used for it

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 98803159.0

Country of ref document: CN

AK Designated states

Kind code of ref document: A2

Designated state(s): AU BR CA CN ID JP KR MX SG

AK Designated states

Kind code of ref document: A3

Designated state(s): AU BR CA CN ID JP KR MX SG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
NENP Non-entry into the national phase

Ref document number: 1998538547

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: CA

DPE2 Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101)