Connect public, paid and private patent data with Google Patents Public Datasets

Datacast receiver memory buffer

Info

Publication number
WO1999027658A1
WO1999027658A1 PCT/US1998/024022 US9824022W WO1999027658A1 WO 1999027658 A1 WO1999027658 A1 WO 1999027658A1 US 9824022 W US9824022 W US 9824022W WO 1999027658 A1 WO1999027658 A1 WO 1999027658A1
Authority
WO
Grant status
Application
Patent type
Prior art keywords
information
data
application
device
module
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

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

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)

Priority Applications (2)

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

Publications (1)

Publication Number Publication Date
WO1999027658A1 true 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
US5633870A (en) Method and apparatus for controlling data flow through an ATM interface
US6604149B1 (en) Method and apparatus for identifying individual messages in a single compressed data packet
US5870628A (en) Adaptor for receiving and processing asynchronous transfer mode cells within a computer network
US6658062B1 (en) User-demand information and entertainment system using wide area digital broadcast
US5557724A (en) User interface, method, and apparatus selecting and playing channels having video, audio, and/or text streams
US5410698A (en) Method and system for dynamic loading of software libraries
US6085235A (en) System for parsing multimedia data into separate channels by network server in according to type of data and filtering out unwanted packets by client
US7313104B1 (en) Wireless computer system with latency masking
US20020085027A1 (en) Method for displaying advertisement using short message service in a portable mobile terminal
US6016172A (en) Method for reducing a channel hopping time in an MPEG-2 system decoder
US5638369A (en) Method and apparatus for inbound channel selection in a communication system
EP0838915A2 (en) Digital broadcasting system using virtual channels
US6016158A (en) Object oriented communication network
US5629940A (en) Transmitting and receiving long messages in a wireless one-way communication system while reserving selected slots for short messages
US6665533B1 (en) Communication system, communication terminal, and information distribution apparatus
US20030156589A1 (en) Information distribution apparatus, information terminal device, information distribution system, information distribution method, program, recording medium having the program recorded therein, and information processing method capable of switching a destination of information
EP0823798A1 (en) Receiver in a cyclic packet data transmission system
EP0758833B1 (en) Method and apparatus for providing an interactive guide to events available on an information network
US20040246983A1 (en) Beacon packet having traffic indicator flag
US5619502A (en) Static and dynamic scheduling in an asynchronous transfer mode communication network
EP1816766A2 (en) Method and apparatus for transmitting and receiving notification message in a mobile broadcast system
US6505347B1 (en) Control information generating apparatus for broadcast system
EP0933926A1 (en) DMA controller
US20050240688A1 (en) Efficient data transfer from an ASIC to a host using DMA
US6493043B1 (en) Method of increasing the storage capacity of service information in a digital TV transmissions receiver

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 in:

Ref country code: CA

122 Ep: pct application non-entry in european phase