WO1999027658A1 - Datacast receiver memory buffer - Google Patents

Datacast receiver memory buffer Download PDF

Info

Publication number
WO1999027658A1
WO1999027658A1 PCT/US1998/024022 US9824022W WO9927658A1 WO 1999027658 A1 WO1999027658 A1 WO 1999027658A1 US 9824022 W US9824022 W US 9824022W WO 9927658 A1 WO9927658 A1 WO 9927658A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
application device
memory
module
processor
Prior art date
Application number
PCT/US1998/024022
Other languages
French (fr)
Inventor
Lee A. Balzer
Garold B. Gaskill
Original Assignee
Seiko Communications Systems 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 Seiko Communications Systems Inc. filed Critical Seiko Communications Systems Inc.
Publication of WO1999027658A1 publication Critical patent/WO1999027658A1/en

Links

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B5/00Visible signalling systems, e.g. personal calling systems, remote indication of seats occupied
    • G08B5/22Visible signalling systems, e.g. personal calling systems, remote indication of seats occupied using electric transmission; using electromagnetic transmission
    • G08B5/222Personal calling arrangements or devices, i.e. paging systems
    • G08B5/223Personal calling arrangements or devices, i.e. paging systems using wireless transmission
    • G08B5/224Paging receivers with visible signalling details
    • G08B5/228Paging receivers with visible signalling details combined with other devices having a different main function, e.g. watches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/42Arrangements for resource management
    • H04H20/426Receiver side
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H2201/00Aspects of broadcast communication
    • H04H2201/70Aspects of broadcast communication characterised in that receivers can be addressed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/27Arrangements for recording or accumulating broadcast information or broadcast-related information

Definitions

  • the present invention relates generally to communication systems, and particularly to communication systems broadcasting a variety of information to a population of
  • radio signal Receiving devices are programmed to
  • a receiving device may collect particular portions of the data broadcast For example, a receiving device may
  • a receiving device can also collect general interest information such as
  • a car radio can receive, store and display digital information relating to traffic
  • a personal computer can receive by radio signal information
  • a radio receiving module is
  • an application device is only intermittently active, i.e., turned on, and during
  • a memory storage and management responsibility lies with the radio receiving module once it memory resources fill More particularly, the
  • receiving device must determine where to write new information, i e , determine, what
  • Such a device is likely to have limited processing
  • the radio receiving module must responsibly manage the collection and
  • the processing element searches the entire, or substantially entire,
  • FIG. 1 illustrates a paging receiver with an individual paging number and at least one common
  • paging number and with memory including individual memory capable of storing an
  • the receiver protects individual address information relative to common paging number information
  • the application device must responsibly store information in the receiver module When the application device is deactivated, e g , the car radio turned off or the personal
  • the receiver module continues to receive information and likely
  • module transfers to the application device While the application device is inactive, however, the small, inexpensive radio receiver must manage the incoming information
  • a receiver module incorporated into an application device includes a memory element
  • the radio receiver collects information from a data broadcast including items which may be classified in at least a
  • the processor accepts from the radio receiver each information item and classifies each item according to category
  • the application
  • the application device establishes memory allocation according to its application-
  • processor classifies the information item and immediately stores the information item in
  • the processor identifies a next storage location for each category
  • the communication port provides a command and data transfer interface
  • FIG 1 illustrates schematically an information broadcasting system and a population of
  • FIG 2 illustrates schematically a time-division multiplexed broadcast protocol used in
  • FIG 3 illustrates schematically by block diagram a receiver module and an application
  • FIG 4 illustrates a memory resource of the receiver module of FIG 3 and a ring buffer
  • FIG 5 illustrates a configuration procedure initializing the ring buffer arrangement
  • FIG 6 illustrates by flow chart a procedure conducted by the data broadcasting system
  • FIG 7 illustrates a method of receiving and storing information in the receiver module
  • FIGS 8-10 illustrate procedures executed by the receiver module of FIG 3 in
  • FIG 1 illustrates schematically a data broadcasting system 10 and a population 12 of
  • wristwatch paging devices 14 in population 12 Paging devices 14 generally collect only information addressed to that particular paging device Paging devices 14 as
  • receiving module well adapted for integration into application devices as described
  • Application devices 16 collect a variety of broadcast data available in system 10 Depending on the particular application, e g , car radio, personal computer, and the
  • each application device 16 uses particular portions of information available from
  • an application device 16 serving as a
  • Each application device 16 includes a radio receiver module 40 (FIG 3) operating in accordance with the present invention
  • the receiver module 40 discussed more fully
  • each receiver module 40 is configured to appropriately and dynamically allocate memory resources according to the particular needs of a particular application device 16 Furthermore, each receiver module 40
  • the radio receiver module 40 is a circuit board-
  • a receiver module 40 such as contemplated herein has access to a full-time
  • receiving module 40 couples to the
  • module 40 is a car battery without an intervening on/off switch More particularly, module 40
  • module 40 could remain active during typical patterns
  • the receiving module 40 thereby collects information on an ongoing basis even when the associated application device 16 is deactivated, i e , when the engine and radio are turned off Similar power arrangements and ability to collect information during a power off condition may be found in other application
  • Data broadcasting system 10 interacts by way of public switch telephone network
  • PSTN PSTN 20 with a variety of information sources 22
  • traffic source 22a PSTN 20 with a variety of information sources 22
  • traffic source 22a traffic source 22a
  • weather source 22b provides weather conditions relevant to the surrounding
  • information source 22e provides a time standard, e g , accurate time of day data
  • Miscellaneous or general interest information source 22f presents information across a
  • information sources 22 provide an ongoing data
  • time-sensitive 22a-22f is time-sensitive and becomes stale over time For example, time of day, traffic, weather, and stock information is generally considered relevant only if
  • Information sources 22g-22i represent sources of information addressed to specific
  • paging information source 22g represents persons initiating transmission of paging messages to members of population 12
  • notification may be provided automatically by a computer system (not
  • 22i are generally recognized as pertaining to specific members, or groups of members,
  • a clearinghouse 23 collects information from information sources 22 and organizes
  • FIG 2 illustrates the broadcast protocol represented in each radio signal broadcast 26
  • data broadcasting system 10 defines a frame 30 as a succession of
  • Each subframe 32 is divided into many time slots 34 (only one such
  • subframe 32 carry transmission data Members of population 12 only collecting
  • FIG 3 illustrates schematically by block diagram a typical application device 16, in this
  • Application device 16 includes an audio receiver 68 driving an amplifier 70 and
  • application device 16 is fundamentally a car radio, but by incorporation of the inexpensive and miniaturized receiver module 40 device 16
  • Receiver module 40 is a small circuit board-mountable device with limited terminal
  • receiver module 40 includes a
  • Terminals 44 of module 40 implement a simple
  • serial I/O data transfer and module command interface Terminal 46 couples to a
  • module 40 with a substantially full-time power supply Module 40 includes a receiver
  • decoder 52 act generally independently of processor 54 in receiving a given data packet Accordingly, while processor 54 stores a given data packet in a memory 56,
  • receiver 50 and decoder 52 receive the next data packet transmitted by broadcasting
  • Each data packet, i e , as broadcast during one of time slots 34, is
  • memory 58 holds programming for processor 54 Module 40, being generally similar
  • wristwatch paging device 14 is a physically small and power-efficient device easily integrated into the circuitry of an application device 16 as a module
  • Application device 16 includes an application controller 60 interacting with processor
  • Application controller 60 has an
  • application memory 62 may be substantially larger than memory 56 of module 40
  • application controller 60 may have substantially greater processing ability than processor 54 of module 40 Accordingly, application controller 60 when active,
  • 60 stores and manages information according to its particular needs and provides such
  • application device 16 may carry a variety of current and relevant traffic and weather
  • Receiver module 40 potentially operates in a variety of environments For certain
  • memory 56 may be small, e g , 2k bytes
  • Other applications may allow a modified, e g., more expensive, version of module 40 having more memory capacity
  • receiver module 40 may be configured dynamically by an application device 16 to match
  • Module 40 manages memory 56 generally in an indexed or offset address manner to implement a set of ring buffers for quickly storing incoming data
  • the ring buffers are
  • Processor 54 need not scan or evaluate the content of memory 56 prior to writing
  • processor 54 collects 100 percent of
  • FIFO first-in-first-out
  • FIG 4 illustrates memory 56 in more detail including the use of ring buffers and offset
  • memory 56 is divided into a selected number of ring
  • memory 56 is divided into a broadcast ring 100, a group ring 102, and a personal ring
  • a configuration command e g., from application device 16 as provided by serial
  • Each of rings 100-104 has an associated pair of ring pointers indicating the current start and end locations for that particular ring
  • broadcast ring 100 has a
  • start B pointer 110 and an end_B pointer 112 Similarly, start G pointer 114 and
  • end_G pointer 116 support management of group ring 102 Start P pointer 118 and
  • end_P pointer 120 support management of personal ring 104
  • memory 56 may be
  • each ring buffer representing a
  • memory 56 illustrated in FIG 4 is allocated for ring buffers holding data packets This
  • FIG 5 illustrates by flow chart a memory configuration procedure executed by
  • processor 54 to initially establish empty rings 100-104 In block 130, processor 54
  • An application device 16 issues a memory configuration command to receiver module 40 and specifies allocation of
  • Such command may not literally include values for pointers 106 and 108, but given
  • Such a memory allocation command e.g., a certain number of bytes or a percentage of
  • Block 134 Block 134
  • rings 100- 104 More particularly, the start and end pointers for each of rings 100- 104
  • processor 54 manipulates pointers 110-120 to manage ring
  • buffers 100-104 each individually on a first-in-first-out (FIFO) basis.
  • FIG 6 illustrates by flow chart a procedure executed to incorporate broadcast data
  • sources 22a-22f with information from sources 22g-22i according to data broadcasting
  • addressed messages are assigned to particular time slots in a subframe 32.
  • radio station 24 is queued for transmission and is eventually transmitted by radio station 24 in a radio
  • FIG 7 illustrates by flow chart processor 54 programming for receiving and storing data taken from a broadcast 26
  • block 160 represents the process of
  • processor 54 identifies the data packet type, i e , classifies the data packet for storage
  • a given data packet processor 54 determines classification according to personal, group, or broadcast categories for storage in memory 56
  • processor 54 determines in decision block 164 that the data packet is to be stored in
  • processor 54 increments end_P pointer 120
  • incrementing a ring pointer refers to addressing a next data packet in the ring buffer array structure
  • Decision block 170 determines whether the new value
  • end_P pointer 120 exceeds the upper boundary of ring 104, in this particular case
  • processor 54 reassigns end_P pointer 120 to the lower boundary of ring 104, in this particular case to the value of ring boundary
  • Decision block 174 determines whether ring buffer 104 has become full with the latest
  • block 178 determines whether the new value for start_P pointer 1 18 has exceeded the
  • pointer 1 18 is assigned the value of pointer b 108 Processing then returns to block
  • processor 54 increments end_G pointer 116 and tests pointer 1 16
  • processor 54 assigns to end_G pointer 116 the value
  • processor 54 increments start G pointer 114 and tests pointer 1 14 in decision block 198 to determine if it has exceeded the upper boundary of ring buffer 102 If it has exceeded
  • processor 54 assigns to start_G pointer 114 the
  • processor 54 determines that the new data packet is part of a
  • Decision block 205 represents a broadcast data channel filter allowing
  • microprocessor 54 to ignore certain portions or "logical channels" of the broadcast
  • Decision block 205 represents a decision as to storing or not
  • processor 54 stores the data packet by reference to the end_B pointer 112 and increments pointer 112 in block 208 In decision block 210,
  • processor 54 determines whether end_B pointer 112 has exceeded the upper bound for
  • processor 54 assigns end_B pointer 112 to the
  • processor 54 determines whether broadcast ring 100 is now full If
  • processor 54 increments start B pointer 110 and in decision
  • block 218 determines whether the new value for start_B pointer 210 exceeds the upper
  • processor 54 assigns to start_B pointer 110 the lower boundary, i e , zero in this case, for ring 100 Processing then returns to block 160
  • data packets may be immediately stored in one of ring
  • module 40 protects the relatively
  • FIGS 8-10 illustrate programming executed by processor 54 in response to an
  • application device 16 request Generally, the process of transferring information from module 40 to application device 16 is ongoing and by properly managing the various
  • FIGS 8-10 may be conducted as
  • FIG 8 illustrates delivery
  • FIG 9 illustrates delivery of all data packets from the personal ring buffer 104
  • FIG 10 illustrates delivery of all data
  • FIGS 8-10 While illustrated in FIGS 8-10 as delivering all data packets in a given ring buffer, it will be understood that the procedures illustrated in FIGS 8-10 could be modified to deliver one or a specified number of data packets from a given ring buffer 100-104
  • processor 54 first outputs the oldest data packet in personal ring buffer 104
  • Decision block 230 compares the start_P pointer 118 with the end_P pointer 120
  • processor 54 outputs by serial transmission to the
  • processor 54 increments start_P pointer 118
  • Decision block 236 detects
  • pointer 104 in this particular case equals the value n+1 If not, then processing returns
  • processor 54 assigns to start_P pointer 118 the lower bound value for personal ring
  • decision block 230 The process illustrated in FIG 8 continues with each iteration
  • FIGS 9 and 10 are substantially identical to that of FIG 8 but
  • Blocks 230, 232, 234, 236, and 238 of FIG 8 correspond to blocks 240,
  • a radio receiver module 40 may be easily incorporated into an application device
  • receiver module 40 proposed under the present invention manages responsibly a high
  • the most recent broadcast data may be transferred to the application device This occurs while also preserving any personally addressed, high
  • the receiving module may

Abstract

A radio signal receiving module (40) integrates into an application device (12) and constantly receives information by radio signal. When the application device (12) is active, the radio receiver module (40) provides an ongoing flow of data. When the application is not active, however, the radio receiver module (40) manages incoming information in a manner allowing rapid storage in a memory device while preserving relative priority between categories of information. Despite a great volume of information arriving in one category, other categories of relatively higher lesser volume information are protected against loss during times when the application device is inactive.

Description

DATACAST RECEIVER MEMORY BUFFER
FIELD OF THE INVENTION
The present invention relates generally to communication systems, and particularly to communication systems broadcasting a variety of information to a population of
receiving devices
BACKGROUND OF THE INVENTION
Broadcast of information by radio signal, in particular digital information, supports a
variety of services Digital information has been broadcast to and addressed
specifically to individual receiving devices, e.g , paging devices, to deliver such
information as alphanumeric messages or telephone numbers Additional information such as traffic, stock, weather, sports, and other such general purpose broadcast
information has been provided by radio signal Receiving devices are programmed to
collect particular portions of the data broadcast For example, a receiving device may
be programmed to receive information addressed specifically to it, e g , paging
messages A receiving device can also collect general interest information such as
weather, stock, and the like
With a broad spectrum of information now available by radio signal, it becomes
desirable to integrate radio receiving components into a variety of devices For
example, a car radio can receive, store and display digital information relating to traffic
and weather conditions A personal computer can receive by radio signal information
such as email or fax notification Unfortunately, the manufacturers of such devices
generally are not willing to substantially redesign products or invest substantial effort in the integration of radio receiving devices Preferably, a radio receiving module is
inexpensive and can be integrated into the architecture of the companion application
device by simple interface and command structure Accordingly, there arises a need for a small, inexpensive radio receiving device capable of collecting digital information,
i e , data broadcasts, and integrating in modular fashion into existing application
devices such as car radios, personal computers, and a variety of consumer devices
benefiting from information provided by data broadcast The radio receiving module
provides a stream of broadcast data to the application device which in turn organizes
the broadcast data for display or manipulation according to application-specific needs
Typically, an application device is only intermittently active, i.e., turned on, and during
deactivated times the application device cannot collect information received by the
receiving device Accordingly, a memory storage and management responsibility lies with the radio receiving module once it memory resources fill More particularly, the
receiving device must determine where to write new information, i e , determine, what
prior information is to be deleted and therefore not to be made available to the
application device
One must consider, however, the natural limitations of such a small, inexpensive
receiving device More particularly, such a device is likely to have limited processing
ability In the context of a massive volume of broadcast data available to the radio
receiving device, including general interest data broadcast as well as personal paging
information, the radio receiving module must responsibly manage the collection and
storage of information The device must account for the relatively greater importance
of personal paging information as compared to general interest data broadcast In particular, when receiving and storing information the radio receiving device must not
overwrite previously stored higher priority, e g , personal paging information, when storing new lower priority, e g , broadcast data, information
One approach protects high priority messages by tagging information according to a
priority scheme Under such scheme, a just-received information item can be written into memory but only in a location currently holding an older and lesser priority item
The receiving device protects higher priority items against deletion or overwrite when
storing a lesser priority item Unfortunately, this scheme requires the processing
element to scan the memory element until an appropriate memory location is found Conceivably, the processing element searches the entire, or substantially entire,
memory element seeking an appropriate storage location With a constant and high volume of incoming data, however, the processing element must quickly store
information without resorting to time-consuming priority tagging and searching
schemes The processing element, despite its limited processing ability, must quickly
execute the step of storing new information and stand ready to receive and store a next
item in the data broadcast Accordingly, a complex message prioritization scheme
implemented by a limited ability processor suffers from potentially losing messages due
to a relatively time consuming process of identifying appropriate storage locations
US Patent Number 4, 873,519 issued October 10, 1989 and entitled "Paging Receiver
Having Independent Memory Areas For Common And Individual Addresses"
illustrates a paging receiver with an individual paging number and at least one common
paging number and with memory including individual memory capable of storing an
individual number and specific memory areas storing message signals following the common paging number The receiver protects individual address information relative to common paging number information
Thus, a small inexpensive radio receiver serving as a module integrated into an
application device must responsibly store information in the receiver module When the application device is deactivated, e g , the car radio turned off or the personal
computer turned off, the receiver module continues to receive information and likely
fills its memory As new information arrives, however, the receiver module must
protect the relatively higher priority information when storing lesser priority information, i e , must not overwrite high priority information with low priority
information Once the application device reactivates, information stored in the receiver
module transfers to the application device While the application device is inactive, however, the small, inexpensive radio receiver must manage the incoming information
by preserving high priority items despite a great volume of incoming broadcast data
Because the data stream is ongoing and because relevant or updated information can arrive essentially at any time, the process of storing and prioritizing incoming
information must be ongoing and must be conducted quickly if the receiving device is
to stand ready to receive a next information item The subject matter of the present
invention addresses these aspects of a small, inexpensive radio receiving module having
limited processing ability and adapted for integration into an application device
SUMMARY OF THE INVENTION
A receiver module incorporated into an application device includes a memory element,
a radio receiver, a processor, and a communication port The radio receiver collects information from a data broadcast including items which may be classified in at least a
first and a second category The processor accepts from the radio receiver each information item and classifies each item according to category The application
device provides a memory configuration command to the module processor whereby
the application device establishes memory allocation according to its application-
specific needs Upon receiving an information item from the radio receiver, the
processor classifies the information item and immediately stores the information item in
the associated portion of memory allocated to that category According to one aspect
of the invention, the processor identifies a next storage location for each category and
stands ready to immediately store an information item upon presentation from the radio
receiver The communication port provides a command and data transfer interface
allowing the application device to deliver the memory configuration command and
allows the module to deliver stored information items to the application device
The subject matter of the present invention is particularly pointed out and distinctly
claimed in the concluding portion of this specification However, both the
organization and method of operation of the invention, together with further
advantages and objects thereof, may best be understood by reference to the following description taken with the accompanying drawings wherein like reference characters
refer to like elements
BRIEF DESCRIPTION OF THE DRAWINGS For a better understanding of the invention, and to show how the same may be carried
into effect, reference will now be made, by way of example, to the accompanying
drawings in which
FIG 1 illustrates schematically an information broadcasting system and a population of
receiving devices
FIG 2 illustrates schematically a time-division multiplexed broadcast protocol used in
the broadcasting system of FIG 1
FIG 3 illustrates schematically by block diagram a receiver module and an application
device
FIG 4 illustrates a memory resource of the receiver module of FIG 3 and a ring buffer
pointer system applied thereto
FIG 5 illustrates a configuration procedure initializing the ring buffer arrangement of
FIG 4
FIG 6 illustrates by flow chart a procedure conducted by the data broadcasting system
of FIG 1 to place broadcast data in otherwise unused portions of the data
transmission
FIG 7 illustrates a method of receiving and storing information in the receiver module
of FIG 3 FIGS 8-10 illustrate procedures executed by the receiver module of FIG 3 in
response to the application device of FIG 3 requesting stored information
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
FIG 1 illustrates schematically a data broadcasting system 10 and a population 12 of
various receiving devices While only a small sample of population 12 is illustrated in
FIG 1, it will be understood that broadcasting system 10 supports a large number of
population 12 members Broadcasting system 10 supports paging services to
wristwatch paging devices 14 in population 12 Paging devices 14 generally collect only information addressed to that particular paging device Paging devices 14 as
provided in the form of a wristwatch are highly miniaturized radio signal receiving
devices with highly battery-efficient operation Accordingly, the circuitry and general
architecture of wristwatch paging devices 14 provides a basis for a miniaturized radio
receiving module well adapted for integration into application devices as described
herein
Application devices 16 collect a variety of broadcast data available in system 10 Depending on the particular application, e g , car radio, personal computer, and the
like, each application device 16 uses particular portions of information available from
broadcasting system 10 For example, an application device 16 serving as a
automobile radio collects primarily traffic and weather information Application
devices 16 serving in a personal computer, however, might collect primarily email
notification, fax notification, paging, and stock information Each application device 16 includes a radio receiver module 40 (FIG 3) operating in accordance with the present invention The receiver module 40, discussed more fully
below, adapts to a variety of application device environments and may be configured
to appropriately and dynamically allocate memory resources according to the particular needs of a particular application device 16 Furthermore, each receiver module 40
integrates into the corresponding application device 16 by simple data transfer and
command interface, e g , serial I/O communication Receiver modules 40 are thereby
easily integrated into the architecture of many types of application devices 16 without
imposing upon an application device 16 manufacturer a need to design radio receiving
devices, but rather merely include or add the radio receiver module 40 In a preferred form of the present invention, the radio receiver module 40 is a circuit board-
mountable component requiring access to a power supply and radio antenna and
interacting by serial communication with an application device 16
Preferably, a receiver module 40 such as contemplated herein has access to a full-time
power supply and collects information from broadcasting system 10 on a full-time
basis In an automobile application, for example, receiving module 40 couples to the
car battery without an intervening on/off switch More particularly, module 40
remains coupled substantially full time to the car battery, but could be equipped with a
time-delayed off switch (not shown) This arrangement allows module 40 to remain
active during times of deactivation for application device 16 but would not remain
active indefinitely For example, module 40 could remain active during typical patterns
of application device 16 in activity, but for extended periods of inactivity module 40
could automatically shut down The receiving module 40 thereby collects information on an ongoing basis even when the associated application device 16 is deactivated, i e , when the engine and radio are turned off Similar power arrangements and ability to collect information during a power off condition may be found in other application
devices 16, i e , where a relatively full-time power supply is available for a relatively
low power-consuming device such as the receiver module 40 but the associated
application device 16, due to its higher power consumption, is not necessarily always
activated Hence, there arises a need for the receiving module to manage a great volume of incoming information in the manner illustrated herein
Data broadcasting system 10 interacts by way of public switch telephone network
(PSTN) 20 with a variety of information sources 22 For example, traffic source 22a
provides current traffic conditions relative to a surrounding geographic area Similarly, weather source 22b provides weather conditions relevant to the surrounding
geographic area Stock information source 22c provides stock-related data Sports information source 22d provides an ongoing stream of sports-related data Time
information source 22e provides a time standard, e g , accurate time of day data
Miscellaneous or general interest information source 22f presents information across a
variety of topics and interests Thus, information sources 22 provide an ongoing data
stream of various information items Much of the information available from sources
22a-22f is time-sensitive and becomes stale over time For example, time of day, traffic, weather, and stock information is generally considered relevant only if
maintained current
Information sources 22g-22i represent sources of information addressed to specific
members of population 12 For example, paging information source 22g represents persons initiating transmission of paging messages to members of population 12 Similarly, notification may be provided automatically by a computer system (not
shown) whereby an email notification from source 22h may be delivered to a specific
member of population 12 A similar notification arrangement may be provided
automatically from fax notification information source 22i Information sources 22g-
22i are generally recognized as pertaining to specific members, or groups of members,
of population 12
A clearinghouse 23 collects information from information sources 22 and organizes
this information for broadcast according to its broadcast protocol Clearinghouse 23
couples to a set of radio stations 24 each providing a radio signal broadcast 26 In the embodiment illustrated herein, i e , a time-division multiplexed protocol, particular time
slots must be reserved for broadcast of information addressed to specific members or
groups of members of population 12 The remaining time slots, however, may be filled
with broadcast data available from information sources 22a-22f
FIG 2 illustrates the broadcast protocol represented in each radio signal broadcast 26 Generally, data broadcasting system 10 defines a frame 30 as a succession of
subframes 32 Each subframe 32 is divided into many time slots 34 (only one such
time slot 34 being marked by reference numeral 34 in FIG 2) The first three time
slots C 1-C3 in each subframe 32 carry control and synchronization information The
remaining time slots 34, identified individually in the range 0-1023 (1024 total), in each
subframe 32 carry transmission data Members of population 12 only collecting
information specifically addressed thereto, need only activate radio receiving circuitry
and collect information during an associated time slot 34 This results in significant battery savings for such members of population 12 as wristwatch paging devices 14
The remaining time slots, i e , not carrying information addressed to a particular
member of population 12, might otherwise remain unfilled during transmission Under
the present invention, however, broadcast data as collected from information sources 22a-22f fill the unused time slots 34 and application devices 16 make use of such broadcast data according to application-specific needs
FIG 3 illustrates schematically by block diagram a typical application device 16, in this
case a car radio, as coupled under the present invention to a receiver module 40
Application device 16 includes an audio receiver 68 driving an amplifier 70 and
speakers 72 In this aspect, application device 16 is fundamentally a car radio, but by incorporation of the inexpensive and miniaturized receiver module 40 device 16
benefits from a variety of broadcast data available from broadcasting system 10 and
makes such data available according to particular application programming
Receiver module 40 is a small circuit board-mountable device with limited terminal
connections required for operation For example, receiver module 40 includes a
terminal 42 for coupling to an antenna Terminals 44 of module 40 implement a simple
serial I/O data transfer and module command interface Terminal 46 couples to a
power supply 48, preferably with no intervening on/off switch or with a time delayed
on/off switch to protect the car battery over an extended amount of time to provide
module 40 with a substantially full-time power supply Module 40 includes a receiver
50 collecting broadcast signal 26 and delivering this signal to decoder 52 for decoding
and error correction according to the transmission protocol of system 10 Receiver 50
and decoder 52 act generally independently of processor 54 in receiving a given data packet Accordingly, while processor 54 stores a given data packet in a memory 56,
receiver 50 and decoder 52 receive the next data packet transmitted by broadcasting
system 10 Each data packet, i e , as broadcast during one of time slots 34, is
presented to processor 54 for storage in memory 56, e g , a RAM An EPROM
memory 58 holds programming for processor 54 Module 40, being generally similar
to wristwatch paging device 14, is a physically small and power-efficient device easily integrated into the circuitry of an application device 16 as a module
Application device 16 includes an application controller 60 interacting with processor
54 of module 40 by way of serial I/O terminals 44 Application controller 60 has an
associated application memory 62 for storing and manipulating information according to application-specific needs Depending on the particular application device 16,
application memory 62 may be substantially larger than memory 56 of module 40
Furthermore, application controller 60 may have substantially greater processing ability than processor 54 of module 40 Accordingly, application controller 60 when active,
i e , when application on/off switch 64 couples application device 16 to power supply
48, constantly draws an incoming data flow from module 40 Application controller
60 stores and manages information according to its particular needs and provides such
information on its application display 66 to a user, e g , driver, according to its
particular use of broadcast data For example, application display 66 of a car radio
application device 16 may carry a variety of current and relevant traffic and weather
information
Receiver module 40 potentially operates in a variety of environments For certain
applications, memory 56 may be small, e g , 2k bytes Other applications may allow a modified, e g., more expensive, version of module 40 having more memory capacity,
e g., 32 Kbytes Furthermore, different applications will have different priorities
relative to incoming information For example, some applications benefit by devoting
greater portions of memory 56 to personal information, i.e., addressed to a specific member of population 12, and lesser portions to broadcast data, i e , to general
purpose data broadcasts. On the other hand, some applications benefit by devoting
greater memory to broadcast data In accordance with the present invention, receiver module 40 may be configured dynamically by an application device 16 to match
application-specific memory allocation requirements.
Module 40 manages memory 56 generally in an indexed or offset address manner to implement a set of ring buffers for quickly storing incoming data The ring buffers are
addressed directly by use of pointers, and thereby facilitate rapid identification of where in memory 56 new data is to be written Direct addressing within memory 56 as
illustrated herein minimizes time required for storing new information items in memory
56 Processor 54 need not scan or evaluate the content of memory 56 prior to writing
new information into memory 56 Accordingly, processor 54 collects 100 percent of
the information provided by broadcasting system 10, i e., quickly stores a just-received
information item and stands ready to receive the next information item from
broadcasting system 10 Information taken from memory 56, i e , delivered to
application device 16, is provided on a first-in-first-out (FIFO) basis When a
particular one of the ring buffers fills, then the oldest member of that ring buffer is
overwritten with new data FIG 4 illustrates memory 56 in more detail including the use of ring buffers and offset
memory addressing In FIG 4, memory 56 is divided into a selected number of ring
buffers by establishing ring boundary pointers In the particular example illustrated,
memory 56 is divided into a broadcast ring 100, a group ring 102, and a personal ring
104 by reference to ring boundary pointer a 106 and to ring boundary pointer b 108
A configuration command, e g., from application device 16 as provided by serial
interface or designated at time of manufacture and stored in an EEPROM of module
40, designates memory allocation for rings 100-104 and provides a basis for calculating
ring boundary pointers 106 and 108 and thereby dividing memory 56 into three rings
Each of rings 100-104 has an associated pair of ring pointers indicating the current start and end locations for that particular ring For example, broadcast ring 100 has a
start B pointer 110 and an end_B pointer 112 Similarly, start G pointer 114 and
end_G pointer 116 support management of group ring 102 Start P pointer 118 and
end_P pointer 120 support management of personal ring 104
While illustrated with three ring buffers, it will be understood that memory 56 may be
divided into any selected number of ring buffers with each ring buffer representing a
category of information under which each data packet is initially stored immediately
following reception in receiver module 40 Furthermore, allocation of memory 56
need not be devoted entirely to ring buffers As illustrated herein, the region of
memory 56 illustrated in FIG 4 is allocated for ring buffers holding data packets This
region holds n+1 data packets where each data packet corresponds to information
broadcast during a particular time slot 34 By providing a value in the range 0 n one
specifies a particular data packet storage location within one of ring buffers 100-104
In this aspect, the ring buffers are circular arrays of data packets FIG 5 illustrates by flow chart a memory configuration procedure executed by
processor 54 to initially establish empty rings 100-104 In block 130, processor 54
calculates values for ring boundary pointers, i.e , values for pointer a 106 and for
pointer b 108, to divide memory 56 into three regions. An application device 16 issues a memory configuration command to receiver module 40 and specifies allocation of
memory 56 among rings 100-104. Alternatively, a memory configuration command
may be issued at the time of manufacture and stored in an EEPROM of module 40
Such command may not literally include values for pointers 106 and 108, but given
such a memory allocation command, e.g., a certain number of bytes or a percentage of
memory 56 devoted to each of rings 100-104, values for pointers 106 and 108 may be
calculated in block 130 In block 132, pointers 106 and 108 are stored Block 134
represents assignment of values to each of the pointers 110-120 to establish empty
rings 100- 104 More particularly, the start and end pointers for each of rings 100- 104
are assigned values corresponding to the first storage location allocated to that ring
As described more fully, as information is placed in memory 56 and as information is
taken from memory 56, processor 54 manipulates pointers 110-120 to manage ring
buffers 100-104 each individually on a first-in-first-out (FIFO) basis.
FIG 6 illustrates by flow chart a procedure executed to incorporate broadcast data
into individually addressed paging data, i e , to blend information from information
sources 22a-22f with information from sources 22g-22i according to data broadcasting
system 10 protocol The procedure executed in FIG 6 is conducted at each of radio
stations 24 just prior to transmission Each radio station receives from clearinghouse
23 information submitted for transmission and organizes that information into subframes 32 and frames 30 In block 140, a set of individually addressed or group
addressed messages are assigned to particular time slots in a subframe 32 The
remaining or "empty" time slots are then filled with broadcast data, i e , information
taken from sources 22a-22f Thus, following block 142 a subframe 32 has been filled completely with transmission data Continuing to block 144, the current subframe 32
is queued for transmission and is eventually transmitted by radio station 24 in a radio
signal 26 In block 146, a next subframe 32 is selected and the process repeats to fill
completely that next subframe 32 with transmission data, i e , first with information
addressed to particular ones or groups of population 12 and then filled with broadcast data from information sources 22a-22f
FIG 7 illustrates by flow chart processor 54 programming for receiving and storing data taken from a broadcast 26 In FIG 7, block 160 represents the process of
receiving and decoding a data packet, i e , data broadcast during a particular time slot
34, and presentation of a data packet by decoder 52 to processor 54 In block 162,
processor 54 identifies the data packet type, i e , classifies the data packet for storage
into one of its rings 100-104 Thus, by interrogating the content, e g , a type flag (not
shown), of a given data packet processor 54 determines classification according to personal, group, or broadcast categories for storage in memory 56
If processor 54 determines in decision block 164 that the data packet is to be stored in
the personal ring buffer 104, processing branches to block 166 where processor 54
references end_P pointer 120 as an offset into memory 56 and immediately writes the
data packet at this location In block 168, processor 54 increments end_P pointer 120
In this context, incrementing a ring pointer refers to addressing a next data packet in the ring buffer array structure Decision block 170 determines whether the new value
for end_P pointer 120 exceeds the upper boundary of ring 104, in this particular case
whether it equals the value n+1 where n represents the upper address of the portion of
memory 56 devoted to rings 100-104 If end_P pointer 120 has exceeded the upper
boundary of ring 104, then in block 172 processor 54 reassigns end_P pointer 120 to the lower boundary of ring 104, in this particular case to the value of ring boundary
pointer b 108
Decision block 174 determines whether ring buffer 104 has become full with the latest
data packet If end_P pointer 120 equals start_P pointer 118 then ring buffer 104 has
become full and processor 54 increments start P pointer 118 in block 176 Decision
block 178 determines whether the new value for start_P pointer 1 18 has exceeded the
upper boundary of ring 104 If it has exceeded the upper boundary, then start P
pointer 1 18 is assigned the value of pointer b 108 Processing then returns to block
160
Similar programming applies at decision block 184 when processor element 54 detects
that the data packet received is to be stored in the group ring buffer 102 In block 186,
the data packet is stored immediately in ring buffer 102 by reference to end_G pointer 1 16 In block 188, processor 54 increments end_G pointer 116 and tests pointer 1 16
in decision block 190 If end_G pointer 116 has exceeded the upper boundary, i e ,
pointer b 108, then in block 192 processor 54 assigns to end_G pointer 116 the value
of pointer a 106 as the lower boundary of group ring 102 Decision block 194
determines whether ring buffer 102 is now full If full, then in block 196 processor 54 increments start G pointer 114 and tests pointer 1 14 in decision block 198 to determine if it has exceeded the upper boundary of ring buffer 102 If it has exceeded
the upper boundary, then in block 200 processor 54 assigns to start_G pointer 114 the
lower boundary of ring buffer 102, i e , the value of pointer a 106 Processing then returns to block 160
If in decision block 204 processor 54 determines that the new data packet is part of a
data broadcast, then processing branches from decision block 204 to decision block
205 Decision block 205 represents a broadcast data channel filter allowing
microprocessor 54 to ignore certain portions or "logical channels" of the broadcast
data provided by system 10 A mask identifying enabled and disabled logical channels
available under system 10 may be provided as a command from application device 16
and stored in module 40 Decision block 205 represents a decision as to storing or not
storing the just-received data packet as a function of membership in an allowed logical
channel If the data packet is not to be stored, then processing returns to block 160
Otherwise, processing continues in fashion similar to that described relative to
placement of new data packets in group ring 102 and personal ring 104 More
particularly, in block 206 processor 54 stores the data packet by reference to the end_B pointer 112 and increments pointer 112 in block 208 In decision block 210,
processor 54 determines whether end_B pointer 112 has exceeded the upper bound for
ring 100 If it has, then in block 212 processor 54 assigns end_B pointer 112 to the
lower bound, in this particular example zero, of broadcast ring 100 Continuing to
decision block 214, processor 54 determines whether broadcast ring 100 is now full If
full, then in block 216 processor 54 increments start B pointer 110 and in decision
block 218 determines whether the new value for start_B pointer 210 exceeds the upper
boundary of ring 100 If it exceeds the upper boundary, then in block 200 processor 54 assigns to start_B pointer 110 the lower boundary, i e , zero in this case, for ring 100 Processing then returns to block 160
Thus, as illustrated in FIG 7 data packets may be immediately stored in one of ring
buffers 100-104 without delay Processor 54 thereby stands ready to receive a next data packet from broadcasting system 10 When one of the ring buffers 100-104
becomes full, the oldest member of that ring buffer is overwritten to hold the new data
packet No matter how much new broadcast data is accepted and stored in module 40,
no personal information is deleted In this manner, module 40 protects the relatively
higher priority personal and group data packets, i e , data packets in rings 102 and 104
and still reliably collects on an ongoing basis the broadcast data to hold in memory 56 the most current updated broadcast data at any given time
FIGS 8-10 illustrate programming executed by processor 54 in response to an
application device 16 request Generally, the process of transferring information from module 40 to application device 16 is ongoing and by properly managing the various
pointers described herein, i e , protecting against reference or reassignment during
critical times, the procedures illustrated in FIGS 8-10 may be conducted as
background procedures Each of the procedures illustrated in FIGS 8-10 are generally
similar in operation and only one need be discussed in detail FIG 8 illustrates delivery
of all data packets from the personal ring buffer 104, FIG 9 illustrates delivery of all
data packets from the group ring buffer 102, and FIG 10 illustrates delivery of all data
packets from the broadcast ring buffer 100 While illustrated in FIGS 8-10 as delivering all data packets in a given ring buffer, it will be understood that the procedures illustrated in FIGS 8-10 could be modified to deliver one or a specified number of data packets from a given ring buffer 100-104
In FIG 8, processor 54 first outputs the oldest data packet in personal ring buffer 104 Decision block 230 compares the start_P pointer 118 with the end_P pointer 120,
however, to detect an "empty ring" condition When these pointers are equal, then
ring 104 is considered empty and processing terminates Otherwise, programming
advances to block 232 where processor 54 outputs by serial transmission to the
associated application device 16 the data packet indicated by start_P pointer 118 In
block 234, processor 54 increments start_P pointer 118 Decision block 236 detects
whether the new value for start_P pointer 118 has exceeded the upper bound for buffer
pointer 104, in this particular case equals the value n+1 If not, then processing returns
to decision block 230 to again test for an empty ring condition If the start P pointer 1 18 has exceeded the upper bound for personal ring pointer 104, then in block 238
processor 54 assigns to start_P pointer 118 the lower bound value for personal ring
104, in this particular case the value of pointer b 108 Processing then returns to
decision block 230 The process illustrated in FIG 8 continues with each iteration
providing a data packet from personal ring 104 until personal ring 104 is empty
The programming of FIGS 9 and 10 is substantially identical to that of FIG 8 but
delivers information from the group ring buffer 102 and broadcast ring buffer 100,
respectively Blocks 230, 232, 234, 236, and 238 of FIG 8 correspond to blocks 240,
242, 244, 246, and 248 of FIG 9, respectively, and to blocks 250, 252, 254, 256, and
258 of FIG 10, respectively In each case, the illustrated programming takes data packets from the associated ring buffer until the ring buffer is empty Thus, a radio receiver module 40 may be easily incorporated into an application device
16 through a simple interface and with relatively low power supply requirements The
receiver module 40 proposed under the present invention manages responsibly a high
volume of data broadcast information as well as a relatively less frequent lower volume but higher priority personal message traffic using a limited ability processor and simple
memory management allowing rapid indexed access to a memory resource The device
thereby accurately collects information in the data broadcast while preserving higher
priority personally addressed information The receiving module remains active always
collecting current or updated broadcast data whereby upon reactivation of an
associated application device the most recent broadcast data may be transferred to the application device This occurs while also preserving any personally addressed, high
priority information which may have been directed to the receiving device during a
time of inactivity by the application device In this manner, the receiving module may
be integrated into an application device and responsibly collect information from a data
broadcast
It will be appreciated that the present invention is not restricted to the particular
embodiment that has been described and illustrated, and that variations may be made
therein without departing from the scope of the invention as found in the appended
claims and equivalents thereof

Claims

What is claimed is
1 A radio receiver module incorporated into an application device, said
module comprising a memory element,
a radio receiver receiving information from a data broadcast, said data
broadcast including information items, each item being classified in one of at least a first and a second category,
a processor accepting from said radio receiver each information item
received and classifying each information item received in one of said first and second
categories, said module receiving a memory configuration command allocating a
selected portion of said memory element to said first category of information items and
a selected portion of said memory element to said second category of information
items, said processor storing upon receipt each information item according to its
classification in the corresponding portion of said memory element, and
a communication port coupling said processor and said application device, said
communication port receiving at least said configuration command and delivering said
information items stored in said memory to said application device
2 A module according to claim 1 wherein said application device is
intermittently deactivated and during deactivation of said application device said
receiver module collects and stores said information items overwriting in said memory
element an oldest member of a given category with a just received member of said given category when the corresponding portion of said memory is filled with
information items of said given category
3 A module according to claim 1 wherein said processor element
identifies a next available storage location for a given category and upon subsequently
receiving a next information item classified in said given category writes said next
information item at said next available storage location
4 A module according to claim 1 wherein said processor maintains a ring
buffer in said memory element for each of said at least first and second categories
5 A communication system comprising
a broadcasting system providing a data broadcast including information
items, a population of receiver modules each incorporated into an associated
application device, each receiver module including a memory element holding
information items taken from said data broadcast, each information item being
classified by said module into one of at least two categories, each module receiving a memory configuration command establishing selected portions of said memory as
being associated with each of said at least two categories, each receiver module storing
each information item in said selected portions of said memory element according to
classification in said at least two categories 6 A system according to claim 5 wherein said application device
commands said receiver module to deliver said information items from said receiver
module to said application device
7 A system according to claim 5 wherein said application device is
intermittently deactivated and during deactivation of said application device said
receiver module collects and stores said information items overwriting in said memory
element an oldest member of a given category with a just received member of said given category when the corresponding portion of said memory is filled with
information items of said given category
8 A system according to claim 5 wherein said processor element identifies
a next available storage location for a given category and upon subsequently receiving a next information item classified in said given category writes said next information
item at said next available storage location
9 A system according to claim 5 wherein said processor maintains a ring
buffer in said memory element for each of said at least first and second categories
PCT/US1998/024022 1997-11-26 1998-11-10 Datacast receiver memory buffer WO1999027658A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US97909197A 1997-11-26 1997-11-26
US08/979,091 1997-11-26

Publications (1)

Publication Number Publication Date
WO1999027658A1 true WO1999027658A1 (en) 1999-06-03

Family

ID=25526684

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/024022 WO1999027658A1 (en) 1997-11-26 1998-11-10 Datacast receiver memory buffer

Country Status (1)

Country Link
WO (1) WO1999027658A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241305A (en) * 1987-05-15 1993-08-31 Newspager Corporation Of America Paper multi-level group messaging with group parsing by message
US5535428A (en) * 1994-07-28 1996-07-09 Motorola, Inc. Method and apparatus for selectively retaining messages received by a radio receiver based upon message content
US5564073A (en) * 1993-04-08 1996-10-08 Digital D.J. Inc. Broadcast system with associated data capabilities
US5694120A (en) * 1996-02-26 1997-12-02 Motorola, Inc. Method for selecting information services from a menu in selective call transceivers
US5694119A (en) * 1993-12-28 1997-12-02 Nec Corporation Structure of a paging receiver and a message data storage control method
US5815170A (en) * 1995-11-29 1998-09-29 Nec Corporation Memory control method of character multiplexed broadcast receiver

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241305A (en) * 1987-05-15 1993-08-31 Newspager Corporation Of America Paper multi-level group messaging with group parsing by message
US5564073A (en) * 1993-04-08 1996-10-08 Digital D.J. Inc. Broadcast system with associated data capabilities
US5694119A (en) * 1993-12-28 1997-12-02 Nec Corporation Structure of a paging receiver and a message data storage control method
US5535428A (en) * 1994-07-28 1996-07-09 Motorola, Inc. Method and apparatus for selectively retaining messages received by a radio receiver based upon message content
US5815170A (en) * 1995-11-29 1998-09-29 Nec Corporation Memory control method of character multiplexed broadcast receiver
US5694120A (en) * 1996-02-26 1997-12-02 Motorola, Inc. Method for selecting information services from a menu in selective call transceivers

Similar Documents

Publication Publication Date Title
US6271893B1 (en) Digital television broadcasting system
US5664948A (en) Delivery of data including preloaded advertising data
AU713969B2 (en) Control information generating apparatus for broadcast system
CA2106222C (en) Object oriented communication network
US6298480B1 (en) System for distributing computer programs
EP0928525B1 (en) Method and apparatus for dynamic bandwidth allocation in a packet stream encoder
EP1961243B1 (en) A method and apparatus for receiving selected broadcast programs at a mobile station
CN1783133B (en) Portable-type communication terminal device, distribution server and contents supply system and method
US6493043B1 (en) Method of increasing the storage capacity of service information in a digital TV transmissions receiver
EP1479202B1 (en) Boolean protocol filtering
US20030104832A1 (en) Mobile telephone with receive only mode
JP2000354015A (en) Distribution of interactive program guide data
US20040148555A1 (en) Apparatus and method for accommodating loss of signal
JP2957488B2 (en) FM teletext receiver
WO1999027658A1 (en) Datacast receiver memory buffer
US20040184464A1 (en) Data processing apparatus
US20020082005A1 (en) Paging control method and paging control system in communication system
US7079006B1 (en) Radio paging receiver and message erasing method
US7260668B2 (en) Network co-processor for vehicles
CN100425036C (en) Data stream filtering module and method, demultiplexing module, and digital television receiving apparatus
JP2002525734A (en) Decoder for conditional access system and qualification management method in decoder
US7266342B2 (en) Satellite to vehicle data communication method
CA2202353C (en) Delivery of data including preloaded advertising data
US5600647A (en) Communication data switching apparatus and communication system with such switching apparatus
US6831703B2 (en) Method and circuit for the storage of digital data and television set implementing said storage method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: CA

122 Ep: pct application non-entry in european phase