Language selection

Search

Patent 2243555 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent Application: (11) CA 2243555
(54) English Title: SYSTEM AND METHOD FOR TRANSMISSION OF DATA
(54) French Title: SYSTEME ET PROCEDE DE TRANSMISSION DE DONNEES
Status: Dead
Bibliographic Data
(51) International Patent Classification (IPC):
  • H04L 12/18 (2006.01)
  • H04L 51/224 (2022.01)
  • H04L 51/58 (2022.01)
  • H04L 67/306 (2022.01)
  • H04L 67/55 (2022.01)
  • H04L 67/563 (2022.01)
  • H04L 69/329 (2022.01)
  • H04L 12/12 (2006.01)
  • H04L 12/28 (2006.01)
  • H04L 51/48 (2022.01)
  • H04L 67/561 (2022.01)
  • H04L 12/58 (2006.01)
  • H04L 29/06 (2006.01)
  • H04L 29/08 (2006.01)
  • H04N 7/16 (2006.01)
(72) Inventors :
  • PAYNE, JOHN M. (United States of America)
  • VON KAENEL, TIM (United States of America)
  • WANG, JEFFREY (United States of America)
  • ODELL, JEFFREY (United States of America)
  • KATZ, JASON (United States of America)
  • STARR, DAVID (United States of America)
(73) Owners :
  • AIR MEDIA, INC. (United States of America)
(71) Applicants :
  • EX MACHINA, INC. (United States of America)
(74) Agent: RICHES, MCKENZIE & HERBERT LLP
(74) Associate agent:
(45) Issued:
(86) PCT Filing Date: 1997-01-24
(87) Open to Public Inspection: 1997-07-31
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): Yes
(86) PCT Filing Number: PCT/US1997/001165
(87) International Publication Number: WO1997/027546
(85) National Entry: 1998-07-20

(30) Application Priority Data:
Application No. Country/Territory Date
60/010,651 United States of America 1996-01-26
60/014,341 United States of America 1996-03-29
60/014,735 United States of America 1996-04-01
60/026,471 United States of America 1996-09-23

Abstracts

English Abstract




A system and method for data communication (10) connecting on-line networks
with on-line and off-line computers (14). The present system provides for
broadcast of up to the minute notification centric information thereby
providing an instant call to action for users who are provided with the
ability to instantaneously retrieve further detailed information. The
notification centric portions of information (26, 28) are wirelessly broadcast
(36) to wireless receiving devices (18) which are attached to computing
devices (14). Upon receipt of the information at the personal computer (14),
the user is notified through different multimedia alerts that there is an
incoming message. Wirelessly broadcasted URL's (22), associated with the data,
are embedded in data packets and provide an automated wired or wireless
connection (22) back to the information source (12) for obtaining detailed
data.


French Abstract

Système et procédé de communication de données reliant des réseaux en ligne avec des ordinateurs en ligne et hors ligne. Le système décrit prévoit la diffusion d'informations de notification immédiate en provenance du centre, ce qui assure un appel immédiat pour les utilisateurs, qui disposent de la capacité d'extraire instantanément des informations détaillées plus complètes. Les informations (26, 28) de notification en provenance du centre sont émises par voie radio (36) à destination de dispositif récepteurs (18) radio fixés aux appareils informatiques (14). Ayant reçu l'information sur son micro-ordinateur (14), l'utilisateur est avisé par différents signaux d'alerte multimédias qu'un message arrive. Les URL diffusés par radio, associés aux données, sont insérés dans des paquets de données et assurent une connexion (22) automatique par câble ou radio vers la source d'information (12) en vue de l'obtention d'informations détaillées.

Claims

Note: Claims are shown in the official language in which they were submitted.


-52-
WHAT IS CLAIMED IS:
1. A method for transmitting data to selected remote computing devices,
comprising the steps of:
transmitting data from an information source to a central broadcast server;
preprocessing said data at said central broadcast server;
transmitting preprocessed data to remote receivers communicating with said
computing devices; and
instantaneously notifying said computing devices of receipt of said
preprocessed data whether said computing devices are on or off.

2. The method claimed in claim 1, wherein said step of transmitting
preprocessed data to remote receivers communicating with said computing devices,further comprises the step of:
wirelessly transmitting said preprocessed data to remote receivers.

3. The method claimed in claim 2, wherein said step of wirelessly
transmitting said preprocessed data to remote receivers further comprises the step of:
transmitting said preprocessed data utilizing a paging network.

4. The method claimed in claim 2, wherein said step of wirelessly
transmitting said preprocessed data to remote receivers further comprises the step of:
transmitting said preprocessed data utilizing a Vertical Blanking Interval.

5. The method claimed in claim 2, wherein said step of wirelessly
transmitting said preprocessed data to remote receivers further comprises the step of:
transmitting said preprocessed data utilizing a satellite system.

6. The method claimed in claim 1, wherein said step of transmitting
preprocessed data to remote receivers communicating with said computing devices,further comprises the step of:
transmitting said preprocessed data to remote receivers by wired transmission.

-53-
7. The method claimed in claim 1, wherein said step of preprocessing
data at said central broadcast server, further comprises the step of:
attaching to said preprocessed data an Internet address location of said
preprocessed data for providing to said user an automatic connection back to said
information source for obtaining further information related to said preprocessed
data.

8. The method claimed in claim 7, wherein said Internet address location
is a Uniform Resource Locator.

9. The method claimed in claim 7, wherein said step of attaching to said
preprocessed data an Internet address location of said preprocessed data for providing
to said user an automatic connection back to said information source for obtaining
further information related to said preprocessed data, further comprises the step of:
providing an automatic connection back to said information source through an
user activating a single function on said computing device.

9. The method claimed in claim 8, wherein said single function
comprises a single click on said computing device.

10. The method claimed in claim 7, wherein said connection back to said
information source for obtaining further information related to said preprocessed data
is an automated wired connection.

11. The method claimed in claim 7, wherein said connection back to said
information source for obtaining further information related to said preprocessed data
is an automated wireless connection.

12. The method claimed in claim 7, wherein said step of attaching to said
preprocessed data an Internet address location of said preprocessed data for providing
to said user an automatic connection back to said information source for obtaining

-54-
further information related to said preprocessed data, further comprises the steps of:
determining at said central broadcast server said Internet address location
from said information source,
attaching said Internet address location to said preprocessed data,
transmitting said Internet address location with said preprocessed data to said
computing device,
extracting said Internet address location from said preprocessed data at said
computing device, and
displaying said Internet address location with said preprocessed data to said
user such that said user can with a single click on said Internet address location
obtain additional information from said information source.

13. The method claimed in claim 12, wherein said step of displaying said
Internet address location to said user such that said user can with a single click on
said Internet address location obtain additional information from said information
source, further comprises the step of:
launching an Internet browser and passing said Internet address location to
said browser for automatic connection back to said information source.

14. The method claimed in claim 1, wherein said step of instantaneously
notifying said computing devices of receipt of said preprocessed data whether said
computing devices are on or off, further comprises the step of:
providing alert means which when activated allows display of data.

15. The method claimed in claim 14, wherein said alert means comprises a
visual alert.

16. The method claimed in claim 14, wherein said alert means comprises
an audio alert.


-55-
17. The method claimed in claim 1, wherein said step of instantaneously
notifying said computing devices of receipt of said preprocessed data whether said
computing devices are on or off, further comprises the step of:
providing a dockable user interface alert panel on a display communicating
with computing device for providing alerts to said user, wherein said alert panel is
dockable on top of other applications.

18. The method claimed in claim 17, wherein said step of providing a
dockable user interface alert panel on a display communicating with computing
device for providing alerts to said user, further comprises the step of:
displaying fly-in graphics and icon buttons to alert said user that new data hasbeen received by said computing device.

19. The method claimed in claim 17, wherein said alerts reflect type of
information present at computing device.

20. The method claimed in claim 1, wherein said step of preprocessing
said data at said central broadcast server further comprises the step of:
deriving redundant data packets for transmission to said user.

21. The method claimed in claim 20, wherein said step of deriving
redundant data packets for transmission to said user further comprises the steps of:
parceling a data block into at least one incoming message;
parceling said messages into k information packets;
selecting a number of parity-check packets p;
encoding column-wise with a modified Reed-Solomon code in accordance
with:
p
g(x) = II (x + ai)
I=1
for generating said parity-check packets; and

-56-

parceling said data packets into code words for transmission to said user.

22. The method claimed in claim 21, wherein said data packets include
information packets and parity-check packets.

23. The method claimed in claim 21, wherein said step of deriving
redundant data packets for transmission to said user further comprises the steps of:
performing error correction and detection on said code words after said data
packets have been parceled.

24. The method claimed in claim 21, further comprising the step of:
assembling a data block from said code words.

25. The method claimed in claim 24, wherein said step of assembling a
data block from said code words further comprises the step of:
counting the number of code words which have errors;
determining whether each packet has any errors;
saving packets without error;
discarding packets with at least one error; and
assembling a message when the required number of packets has been
received.

26. The method claimed in claim 1, wherein said step of preprocessing
said data at said central broadcast server further comprises the step of:
combining Huffman compression and the dictionary-based compression based
algorithms.

27. The method claimed in claim 26, wherein said step of combining
Huffman compression and the dictionary-based compression based algorithms further
comprises the steps of:
scanning input texts;

-57-
searching for next item previously seen text;
searching for next item in a static Huffman dictionary;
choosing said search method which produces a better result for compression.

28. The method claimed in claim 27, further comprising the step of:
decompressing said compressed data.

29. The method claimed in claim 1, wherein said step of preprocessing
said data at said central broadcast server further comprises the step of:
utilizing a differencing algorithm for compressing said coded data, thereby
significantly reducing the number of bytes sent with each transmission.

30. The method claimed in claim 1, wherein said step of preprocessing
data at said central broadcast server, further comprises the step of:
processing data in accordance with feed type from said information source.

31. The method claimed in claim 30, wherein said feed type comprises
binary type feeds.

32. The method claimed in claim 30, wherein said feed type comprises
common user information type feeds.

33. The method claimed in claim 30, wherein said feed type comprises
feeds for modifying registry keys which control processing of data.

34. The method claimed in claim 32, wherein said step of processing data
in accordance with feed type from said information source, further comprises the step
of:
using tags to differentiate types of information.

-58-
35. The method claimed in claim 1, wherein said step of instantaneously
notifying said computing devices of receipt of said preprocessed data whether said
computing devices are on or off, further comprises the step of:
instantaneously alerting said user to personal alerts through the use of sound,
graphics, bit maps or video, wherein said user can instantaneously access
information.

36. The method claimed in claim 1, wherein said step of preprocessing
data at said central broadcast server, further comprises the step of:
encoding said data with information relating to message parameters for
filtering.

37. The method claimed in claim 1, wherein said step of instantaneously
notifying said computing devices of receipt of said preprocessed data whether said
computing devices are on or off, further comprises the steps of:
monitoring said transmissions utilizing multiple viewers;
filtering said transmitted preprocessed data;
post processing said preprocessed data; and
notifying said user instantaneously of receipt of filtered postprocessed data.

38. The method claimed in claim 37, wherein said step of filtering said
transmitted preprocessed data further comprises the step of:
filtering said transmitted preprocessed data in accordance with preferences set
by said user.

39. The method claimed in claim 38, wherein said step of filtering said
transmitted preprocessed data in accordance with preferences set by said user, further
comprises the step of:
setting said preferences with respect to sound, video and animation.


-59-

40. The method claimed in claim 37, wherein said step of filtering said
transmitted preprocessed data further comprises the step of:
filtering said preprocessed data in accordance with virtual addresses.

41. The method claimed in claim 37, wherein said step of filtering said
transmitted preprocessed data further comprises the step of:
filtering said preprocessed data in accordance with physical addresses.

42. The method claimed in claim 37, further comprising the step of:
controlling said viewers from said central broadcast server.

43. The method claimed in claim 37, further comprising the step of:
activating said preprocessed data at a scheduled time.

44. The method claimed in claim 1, further comprising the step of:
modifying said preprocessed data instantaneously and wirelessly.

45. The method claimed in claim 40, wherein said step of modifying said
preprocessed data instantaneously and wirelessly, further comprises the step of:activating services wirelessly through activation codes which enable or disable
services.

46. The method claimed in claim 38, wherein said step of controlling said
viewers from said central broadcast server, further comprises the step of:
adding viewers from said central broadcast server.

47. The method claimed in claim 42, wherein said step of controlling said
viewers from said central broadcast server, further comprises the step of:
removing viewers from said central broadcast server.

-60-
48. The method claimed in claim 37, wherein said step of postprocessing
said preprocessed data, further comprises the step of:
recombining, decoding and decompressing said preprocessed data.

49. The method claimed in claim 1, wherein said information source may
be an Internet access provider providing data feeds.

50. The method claimed in claim 1, wherein said information source may
be an on-line service provider providing data feeds.

51. The method claimed in claim 1, wherein said step of preprocessing
said data at said central broadcast server, further comprises the step of:
providing data to servers in said central broadcast server;
parsing said data with parsers corresponding to said servers;
transmitting said data to said content manager for determining how data is
handled;
transmitting said data from said content manager to said information gateway
for building data blocks and assigning addresses to said data block, and
transmitting said data blocks from said information gateway to said
transmission gateway for preparing said data block for transmission to said receivers.

52. The method claimed in claim 51, wherein said step of transmitting
said data from said content manager to said information gateway for building data
blocks and assigning addresses to said data block, further comprises the step of:
building data blocks and assigning addresses to said data block based on
information in a subscriber database.

53. The method claimed in claim 54, further comprising the step of:
utilizing a remote control interface for controlling said viewers.

-61 -
54. The method claimed in claim 53, wherein said step of utilizing a
remote control interface for controlling said viewers further comprises the step of:
launching said remote control interface through a user interface alert panel.

55. The method claimed in claim 54, further comprising the step of:
storing entries in a viewer server connected to said viewer; and
providing filtering means for filtering particular types of messages a viewer
can look at.

56. The method claimed in claim 1, further comprising the step of:
displaying contextual graphics on said computing device to show data in a
predefined format.

57. The method claimed in claim 56, wherein said predefined format is a
scoreboard.

58. The method claimed in claim 1, wherein said step of preprocessing
data at said central broadcast server, further comprises the step of:
attaching to said preprocessed data an Internet address location of said
preprocessed data for providing to said user a message that causes a process or
transaction on said computing device to occur.

59. The method claimed in claim 7, wherein said Internet address is a
proprietary on-line addressing scheme.

60. The method claimed in claim 2, wherein said step of wirelessly
transmitting said preprocessed data to remote receivers further comprises the step of:
transmitting said preprocessed data utilizing a FM subcarrier, digital, analog,
cellular, GSM or PCS carrier.

-62-

61. The method claimed in claim 1, wherein said step of preprocessing
said data at said central broadcast server, further comprises the step of:
sending said data on groups of pooled capcodes.

62. The method claimed in claim 61, wherein said step of sending said
data on groups of pooled capcodes, further comprises the step of:
multiplexing data over multiple capcodes to be reassembled at said user as if
data were sent over a single capcode.

63. The method claimed in claim 1, wherein said step of preprocessing
said data at said central broadcast server, further comprises the step of:
assigning data packets to a group of capcodes;
transmitting said data over a paging network using said group of capcodes;
receiving packets at said user on said group of capcodes;
combining said packets from group of capcodes into one data message.

64. A system for transmitting data to selected remote computer devices,
comprising:
means for preprocessing data from an information source to a central broadcast
server,
means for preprocessing said data at said central broadcast server;
means for transmitting preprocessed data to remote receivers communicating
with said computing devices, and
means for instantaneously notifying said computing devices of receipt of said
preprocessed data whether said computing devices are on or off.

65. The system claimed in claim 64, wherein said means for transmitting
preprocessed data to remote receivers communicating with said computing devices,further comprises:
means for wirelessly transmitting said preprocessed data to remote receivers.


-63-
66. The system claimed in claim 65, wherein said means for wirelessly
transmitting said preprocessed data to remote receivers further comprises:
means for transmitting said preprocessed data utilizing a paging network.

67. The system claimed in claim 65, wherein said means for wirelessly
transmitting said preprocessed data to remote receivers further comprises:
means for transmitting said preprocessed data utilizing a Vertical Blanking
Interval.

68. The system claimed in claim 65, wherein said means for wirelessly
transmitting said preprocessed data to remote receivers further comprises:
means for transmitting said preprocessed data utilizing a satellite system.

69. The system claimed in claim 64, wherein said means for transmitting
preprocessed data to remote receivers communicating with said computing devices,further comprises:
means for transmitting said preprocessed data to remote receivers by wired
transmission.

70. The system claimed in claim 64, wherein said means for preprocessing
data at said central broadcast server, further comprises:
means for attaching to said preprocessed data an Internet address location of
said preprocessed data for providing to said user an automatic connection back to
said information source for obtaining further information related to said preprocessed
data.

71. The system claimed in claim 70, wherein said Internet address location
is a Uniform Resource Locator.

72. The system claimed in claim 70, wherein said means for attaching to
said preprocessed data an Internet address location of said preprocessed data for

-64-


providing to said user an automatic connection back to said information source for
obtaining further information related to said preprocessed data, further comprises:
means for providing an automatic connection back to said information source
through an user activating a single function on said computing device.

73. The system claimed in claim 72, wherein said single function
comprises a single click on said computing device.

74. The system claimed in claim 70, wherein said connection back to said
information source for obtaining further information related to said preprocessed data
is an automated wired connection.

75. The system claimed in claim 70, wherein said connection back to said
information source for obtaining further information related to said preprocessed data
is an automated wireless connection.

76. The system claimed in claim 70, wherein said means for attaching to
said preprocessed data an Internet address location of said preprocessed data for
providing to said user an automatic connection back to said information source for
obtaining further information related to said preprocessed data, further comprises:
means for determining at said central broadcast server said Internet address
location from said information source;
means for attaching said Internet address location to said preprocessed data;
means for transmitting said Internet address location with said preprocessed
data to said computing device;
means for extracting said Internet address location from said preprocessed
data at said computing device, and
means for displaying said Internet address location with said preprocessed
data to said user such that said user can with a single click on said Internet address
location obtain additional information from said information source.

-65 -

77. The system claimed in claim 76, wherein said means for displaying
said Internet address location to said user such that said user can with a single click
on said Internet address location obtain additional information from said information
source, further comprises;
means for launching an Internet browser and passing said Internet address
location to said browser for automatic connection back to said information source.

78. The system claimed in claim 64, wherein said means for
instantaneously notifying said computing devices of receipt of said preprocessed data
whether said computing devices are on or off, further comprises:
alert means which when activated allows display of data.

79. The system claimed in claim 64, wherein said means for preprocessing
said data at said central broadcast server, further comprises:
means for sending said data on groups of pooled capcodes.

80. The system claimed in claim 79, wherein said means for sending said
data on groups of pooled capcodes, further comprises;
means for multiplexing data over multiple capcodes to be reassembled at said
user as if data were sent over a single capcode.

81. The system claimed in claim 64, wherein said means for preprocessing
said data at said central broadcast server, further comprises:
means for assigning data packets to a group of capcodes;
means for transmitting said data over a paging network using said group of
capcodes;
means for receiving packets at said user on said group of capcodes;
means for combining said packets from group of capcodes into one data
message.

Description

Note: Descriptions are shown in the official language in which they were submitted.


CA 02243555 l998-07-20

WO g7127546 PCT/US97/01165



S'YSTEM ANI~ METHOD FOR TRANSMISSION OF DATA

REFERENCE TO RELATED APPLICATIONS
This application claims the benefit of U.S. Provisional Application No.
601010,651, filed on January 26, 1996; U.S. Provisional Application No. 60/014,341,
5 filed on March 29, 1996, U.S. Provisional Application No. 60/014,735, filed onApril 1, 1996; and U.S. Provisional Application No. 60/026,471, filed on September
23, 1996.

BACKGROUND OF THE rNVENTION
Field of the Invention
The present invention relates generally to co~ lulf~cation systems, and more
particularly to both wired and non-wired data tr~n~mi~cion commllnic~tion systems.

Des~ ,Lion of the Prior Art
Undoubtedly, colll~uL~l~, commnnications and information are driving forces
in society today. The most significant advances in computers, co~ ...ir~tions and
1~ information have been in the OEeas of multimedia, wireless and on-line services,
respectively. Each of these technologies have produced significant benefits and have
effected nearly everyone's life in one way or another.
ln particular, more than 100 million personal COlll~ uLels are e~ui~ed with
mllltiml?rli~ hal.lw~; and software and nearly every new ~.,lsonal colll~ul~l
~0 m~ml~tllred today is shipped with some form of multim~ Mllltim~ has made
the co~ ut~l much more than a number crllnc~hing, word processing tool. Rather,
multimedia has turned the computer into an indispensable educational, ~l,Le~ nt
and information tool. By combining the realism of sound, graphics and video,
multimedia applications have revolutionized the way individuals work, t;ll~ aill and
25 stay informed. Multimedia has also helped drive the computer industry to provide
tools which can be used by the most novice computer user m~king COlllpult;l;!i almost


SIJ~ 111 ~lTE SHEET (RULE 26)

CA 02243555 1998-07-20

WO 97/27546 PCT/US9'7/01165


as prevalent in our society as television or radios. Also, ml-ltimPAi~ has driven
r~chlrers to build smaller and more powerful and mobile systems -- leading a
technological revolution not m~t~h~ in our history.
Moreover, wireless co,....~ll,.ic~tion technology has allowed individuals to be
notified anywhere and anytime of information. Wherever an individual is, i.e.
whether away from the office or in the car, he or she can be inforrned of
illrulllldLion, such as new meeting sch~ ?c, dinner plans or even life or death
emergencles.
Additionally, on-line services have revoll~tinni7~ the distribution of
information in our society by making available, to individuals throughout the world,
endless amounts of information on every subject im~gins~hle. The Internet and on-
line services have brought together the world through a linkage of interconn~ct~rl
colll~uL~I systems which can share information almost ~ .kQusly.
These technologies suffer from numerous disadvantages, however. The
1~ benefits of wireless technology have only been utilized for ~ onal m~ in~
offering limited message lengths and have never been utilized as a colllyuL~,l
I~Lipll~ldl, limiting the benefit of instant anytime anywhere to pclsonal messages of
limited length and value. Consequently, inforrnation which is sent is typically old
an~ historic.
Moreover, while popular in education and business markets, multimedia has
yet to find widespread application in the consumer market. While valuable in
education and business circles, the average home user has little use for sound and
full motion video. As the number of infc~ Lion providers continue to expand
throughout the world, the amount of time and effort ~e~uil~d to find inform~tionbecomes exponentially longer.
In particular, the interface to on-line services is often difffcult and
intimid~ting to novice computer users. As a result, the benefit of this valuablesource of information is thus not available to them. For example, despite the wealth
of information available, users are required to search through the myriad of
inforrnation, rather than having the information come to them. Consequently,
inforrnation is often missed.


SU~S 111 UTE SHEET (RULF 263
.

CA 02243555 l998-07-20

PCT/US97/01165
WO 97/27546


Furthermore, immediate notification of information is not available. For
example, users who use con-l)ulel related services, such as electronic mail (E-mail),
do not receive instant notification when new mail is received. As a result, urgent E-
mail will sit unnoticed in an electronic mailbox.
S Another major problem is that data lla.lslllilled over existing wireless
broadcast networks suffer from inevitable degradation. Traditional paging, being a
one-way tr~n~mi~ion, can use only forward error correction (FEC) on data p~kP,
Many existing paging n~ ks use Motorola's FLEX TM, POCSAG or other
wireless protocol's error correction/detection capabilities. Although these industry
standard protocols provide error detection capabilities, many of them are not able to
deal with burst errors or errors due to loss of syncl~o~ io~ Since these protocols
cannot correct all possible errors, some of the data packets will arrive with errors or
simply get lost. In most cases, trlTn~ate~l packets and lost packets account for the
vast majority of errors after decoding.
1~ Similar problems exist with other forms of wireless co~ tiQn systems
as well.
What is needed theie~olc is a system and method for data tr~n~mic~ion, which
combines the b. ,l~,fil~ of mllltim~ , wireless and wired on-line services whileaddressing and overcoming their limitations.

SUMMARY OF THE INVENTION
The prece~ling and other sholL~;olllillgs of prior art methods and systems are
overcome by the present invention which provides a system and methotl for data
co.."".l"i.-~tion co~ g on-line nt;lw~,lLs with on-line and off-line col~ . In
particular, the present system provides for broadcast of up to the minute notification
cenkic information thereby providing an instant call to action for users who are~ provided with the ability to in~t~nt~neously rekieve further detailed information.
Throughout the day, various pieces of information h~ lling around the world are
L1lIY available in a sender initi~te~l paradigm where individuals have to seek out
tEle information. In accordance with the present invention, the notification cenkic
por~ons of that information that lives in an eleckonic medium is ~,virelessly broadcast


Sl,~ ~ JTE SHEET (RULE 26~

CA 02243555 1998-07-20

WO 97f27546 PC1[/US97/01165


on a nationwide basis to wireless receiving devices which are ~tt~Ch~d to p~
computers or other c~ ulillg devices. Upon receipt of the inform~ti--n at the
personal colll~ the user is notified through different mllltime~ alerts that there
is an incoming message. Wirelessly bro~<lc~te~l URL's, associated with the data, are
S embedded in data packets and provide an automated wired or wireless connection back to the i~llllaLion source for obtaining detailed data.
The present invention unlike other wireless xy~L~,mx provides for a
combination of bro~ t n~low-;axl and pointcast ~ .x~ x;on That is,
inform~tion can be ~l~....~i...il~e~l wirelessly to everyone (broadcast~, to a subset of
lû users (narrow cast) or to one user (pointcast). The present invention furtherrnore
provides multiple viewers which listen to the ail~v~v~x and have the ability to filter
against the broadcast with specific action. A message server provides dirre.~ .lL types
of filters with the ability to parse data. Additionally, the message server is ~1e~igne~1
such that third party developers can write difr~ types of mnltimP~ viewers
1~ which can easily be downloaded to the user system and automatically ~ L~.ed with
the message server. The viewers can thus be controlled through the illh.race of the
present invention and multiple viewers and multiple controllers of such viewers can
dynamically be added and controlled. Moreover, since the m~ g~s are ~nco(le-1 for
mllltime~ events, the viewers of the present invention have capability to do
20 diL[G.~ nt things for multimedia, such as sound, video, ~nim~tiQn and so forth.
In operation, data parsed from a plurality of i.~o...;..g data feeds from
eXixting inform:ltiQn sources is plG~ d for optimized wireless tr~nxmi~cion and then
Ll,.--x---iu~d nationwide to connect~ and non-connected colll~u~ g devices thereby
~ten~in~ the reach of e~ixtin~ information sources, such as Internet and on-lineservices. On the user end, once data is received, a global col.llllulfications server
recombines, decodes, decrypts and decolllpl~,ses the illCOlllillg data. When a
complete data message is formed, the communications server sends a message to the
user interface alert panel causing an ~ icon to fly to the alert panel notifying
a user that a new message has arrived. Upon cl;cl~in~ the icon, the ~ l;ate
30 v~ewer is l~lnclted. Users can then display the context of the data on their
co~ h.~. Based on l,le~Lcnces set by the user with respect to sound, video and


S~ JTE SHEET (RULE 26)
,~

CA 02243555 1998-07-20

WO 97/27546 PCT/US97101165


~nim~ti~n, users can be alerted to incoming messages. Wirelessly bro~lc~ete-l
URL's and on-line addresses, associated with the data, are ~-nnhe~ ell in m~lltimefli~
viewers and provide an automated wired connection/link back to the info~ Lion
sources to obtain detailed information. In~ormation, such as ad~ ntc and
5 promotional bro~clc~t~, can be embedded in a mtlltim~ viewer as well as
automatically activated on a scheduled or triggered basis. Inforrn?.tion is thusmodified and llp-l~te~ ously and wirelessly. Additional inform~tion
services can be activated wirelessly through broadcast activation codes which can
enable or disable services.
The present invention also provides a method based on Reed-Solomon code
which is used to derive re~llln~1~nt data packets thereby m;nimi7ing re~11ln~1~n~y, and
mzncimi7in~ flexibility and packet recovery ability.
In accordance with another embodiment of the invention, the information
provided from the hlfollllaLion sources and lld~llliued to the central broadcast server
15 to be consolidated in accordallce with the present invention and then tr~n~mitte~
wirelessly nationwide to personal colll~uL~,.s and other colll~uLillg devices can also be
sent ~imlllt~n~ously via a wired connection to the same personal culll~uL~I~ andCOlll~u~ g devices having Tnte~n~t/World Wide Web (WWW) access (direct or via
on-line service providing TntPrnt-t and Web access).
The foregoing and additional fe~Lulc;s and advantages of this invention will
become apparen~ from the detailed description and accolllpd.lyillg drawing figures
that follow. In the figures and written description, numerals in~ te the variousfeatures of the invention, like numerals referring to like fe~Lu,.,s throughout for both
the drawing figures and the written description.

BRIEF DESCRIPTION OF THE DRAWINGS
~ FIG. 1 is schem~tic diagram of a wireless collllllu,lication network including
information lllhlolillg, selection addressing, bandwidth optimi7~tion, message server
design and U3~L broadcast and hotlinks in accord~ce with the present invention;
FIG. 2 is a block ~ m of the wireless co.. -.. ication net~,vork illustrated
in FIG. 1;

5~JC5;~ 111 ~JTE SHEET (RULE 26)

CA 02243555 1998-07-20
WO 97/27S46 PCT/US97/01165


FIG. 3(a) is a block diagram of the head-end high-level software al. hi~ c
for cornrnunication over a paging network in accordance with the present invention,
FIG. 3(b~ is a block fli~gr~rn of the head-end high-level software arr,hit~ctl~re
for comrnunication over a Vertical Blanking Interval (VBI) in accol.l~lce with the
S present invention;
FIG. 3(c) is a block tli~gr~m of the head-end high-level software architPchlre
for comml~nic~tion via satellite in accordance with the present invention;
FIG. 4 is a flow chart illustrating the ~ sr~. of data from the content
manager to the wireless broadcast nclwvl~
FIG. S is a table illustrating the 8-bit binary format for illro.. ;~l;on
notification data blocks;
FIG. 6 is a table illustrating the 8-bit binary format for ~cl~ollal alert
notification data blocks;
FIG. 7 is a table illustrating the 8-bit binary format for messages;
FIG. 8 is a table ill~ ;.. g the 8-bit binary format for p~ ete;
FIG. 9 is a table ill~lldLillg the 8-bit binary format for single packet data
blocks;
FIG. 10 is a detailed sçh~m~tic diagram of the m~ee~ge server design
illustrated in FIG. I;
FIG. 11 is an illustration of a user remote interface for controlling the
computer interface in acco~.lallce with the present invention;
FIG. 12 is a flow chart of an al~o.iLI..l, for extracting and processing the
Tntt~,rn~t source URL for messages broadcast over the ~il~,le~ coll~ ,ication
network illustrated in FIG. I;
FIG. 13 is a flow chart of an al~,olill,.ll for genc.~ g and proces~in~ E-mail
alerts in accordance with the present invention;
FIG. 14 is a flow chart of an al~o.ilh~ll for address and message filtering in
accordance with the present invention;
FIG. 15 is a detailed flow chart of the algolillllll illustrated in FIG. 14 for
targeting data to a user ~tili7ing physical and virtual addresses;


SlJ~;I 111 ~JTE SHEET (RULE 26~

CA 02243555 1998-07-20
PCT/US97/01 165
WO 97/27546


FIG. 16 is an illustration of the columns of a data group encoded by an
encoder using a modified Reed-Solomon code for deriving parity-check p~{.k~tc;
FIG. 17 is a flow chart of an algo~ l for deriving parity-check packets as
illustrated in FIG. 16;
S FIG. 1 8(a) is a flow chart of an algorithrn for data c~ lyr~ ion whichcombines Huffman conlylei~ion and dictionary-based colllyle;.~ion in accordance
with the present invention,
FIG. 1 8(b) is a flow chart of an algofllhlll for data decoll~y~ sion of the
cvlllyl~s~ion algo~ illustrated in FIG. 18(a);
FIG. l9(a) is a flow chart of an algolillllll for data colllyles~ion using
dirrel~.lcillg in accordallce with the present invention;
FIG. l9(b) is a flow chart of an algol;Ll..ll for data decolllpl~.;,sion of the
colllyl,s:~ion algol;llLIll illustrated in FIG. 19(a);
FIG. 20 is an illustration of a user interface alert panel as seen by a user,
FIG. 21 is a flow chart of an algol;L~llll for imrll?nnenting the initi~li7~tionprocedure for the user inte~f~e alert panel illustrated in FIG. 20;
FIG. 22 is a flow chart of the algol;Lh,ll for implel..~ ;..g process EMIT
mec.~g:~ procedure for the user interface alert panel;
FIG. 23 is a block diagram illll~tr~tinE~ how star feed messages are processed
20 in accordance with the present invention; and
FIG. 24(a) is a depiction of a market scoreboard viewer;
FIG. 24(b) is a depiction of a football viewer;
FIG. 24(c) is a depiction of a n~w~,y~cf viewer;
FIG. 24(d) is a depiction of a stock ticker viewer; and
FIG. 25 is a flow chart of the al~,ol;Lillll for

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT(S)
Referring to FIG. 1, a wireless coll,lllullication system 10 including selectionaddressing 28, conlle~;lillg on-line inr~ Lion sources 12 with on- and off-line
colllyul~l~, such as pelsollal computer 14, is illustrated. In accordance with the
30 present invention, the wireless colnmunication system 10 turns a personal COlll~ ule


SU~ ITE SHEET (RULE 26)

CA 02243555 1998-07-20

WO 97/~7546 PCT/US97/01165


14 or other CO~ ullllg device into a personal wireless inforrnAtinn and mçcsA~ing
center. Although the present invention may be used to interact wirelessly with any
coll~uLing device, for illustrative purposes, the present invention will be described
and illustrated lltili7ing a personal coll~ul~l 14. One skilled in the art will recognize
5 that computing devices may include consumer electronic devices in~ iing co~ u~ g
capabilities. The data/inforrnation which is trAn~mittlocl in accordance with the present
invention may be in the form of voice (audio), video, data or a combination thereof.
In particular, the present system provides for broadcast of up to the minute
notification centric informAti-ln thereby providing an instant call to action for users
10 who are provided with the ability to inetAntAneously retrieve further ~letAilefi
inforrnation. Throughout the day, various pieces of information ha~pe~ g around
the world are currently available from information sources 12 in a sender initiAt~d
paradigm where users have to seek out the informAtinn In accordance with the
present invention, the notification centric portions of that information that lives in an
15 electronic medium is wirelessly broadcast on a nationwide basis to wireless receiving
devices 32 which are conn~ct~ i to personal co~ )ulel~ 14 or other computing
devices. Upon receipt of the inforrnation at the ~ ollal co~ uL~. 14, the user is
notified through dirrel~.t ml-ltime~ viewers 20 that there is an hlco~ g message.
The message can be of something that is ha~yc;~ling at the present moment anywhere
20 around the world. Included with the broadcast that is wirelessly sent to the user is
the Internet address and location of the detail of that message. By clicking on a
button within the mllitimedia viewer 20 that notified the user that a message came in,
the present invention will ~lltOm~tir~lly make a wired connection to the information
source 12 utili7ing the user's ~ler~c;d on-line browser which will direct the user to
25 the particular location on the Internet service provider where the user can receive
detailed information.
The inforrnation source 12 may be a private Internet provider such as
Quotecom, corporate Internet provider or an on-line service provider such as
~meric~ On-Line, Compuserve, Prodigy, the Microsoft Network, and the like. A
30 browser is a known software tool used to access the information source 12 via the
providers. Known blow~el software infl~ s Netscape, Netscape Navigator,

SUBSTITUTE SHEET (RULE 26~
-

CA 02243~ 1998-07-20
PCT/US97/O1 165
WO 97/27546


Microsoft Explorer, Mosaic and the like. The present invention is ~leei~n~c~ to
operate with any of these known or developing web browsers.
Additionally, the present invention unlike other wireless systems provides for
a combination of broadcast, narrowcast and pointcast tr~nemieei~n. That is,
information can be lld~ d from a central broadcast server 34 wirelessly to
everyone (broadcast), to a subset of users (narrow cast) or to one user (pointcast).
One skilled in the art will recognize that the central broadcast server 34 ol~c.dles
effectively as a network operations center. The present invention furthermnre
provides multiple viewers 20 which listen to the ail~vdves and have the ability to
filter against the broadcast with specific action. A m~ee~ge server provides dirf~
types of filters with the ability to parse data. The filters control which messages are
handled by a particular viewer 20. Additionally, the message server is ~leei~n~ci such
that third party developers can write dirrel~nl types of multimedia viewers 20 which
can easily be downloaded to the user system and ~lltom~tically registered with the
message server. The viewers can thus be controlled through the int~rf~re of the
present invention and multiple viewers 20 and mllltiple controllers of such viewers
can dyn~mic~lly be added and controlled. Moreover, since the signals are encodedfor m-lltime~ events, the viewers 20 of the present invention have capability toutilize multimedia capability.
As will be described in detail below, data parsed from a plurality of incoming
data feeds 16 from exi~ting ilLfo.lllation sources 12 is wirelessly ~l~n~ rl by the
central broadcast server 34 nationwide through a commercial wireless carrier 36 to
conntocte~l and non-connected computing devices 14 thereby e~ctpn~in~ the reach of
e~i~ting information sources 12, such as Tnt~rn~t and on-line services. On the user
end, once data is received, the message server design 18 recombines, decodes, and
deco~ es the incoming data. When a complete data message is formed, a
collllllullications server 38 in the message server design 18 notifies a user interface
alert panel 50 which L~le~ll~ an icon, which when cliclced, notif~es a~pl~ ;ate
~ viewers 20 which are registered to display particular data. Users can then display the
context of the data on their CO111~3u~l5 14. Based on ~lc~lellces set by the user with
respect to sound, video and animation, users can be alerted to incoming messages.

SIL ~111 ~JTE SffEET ~RULE Z6~

CA 02243555 l998-07-20
WO 97/27546 PCT/IJS97/01165

-10-
Wirelessly bro~c~ted Uniform Resource Locator's (IJRL's) 22, associa~ed with thedata, are embedded in multirnedia data packets and provide an automated wired orwireless connection or link 22 back to the information source 12 for obtaining
detailed data. A network path to an information source 12 is identified by the URL
S having a known syntax for defining a network. Data, such as adverti~ment~ and
promotional bro~c~t~, can thus be embe~ ecl in a m~ ime~ viewer as well as
znltom~tic~lly a.iLiv~led on a s- ~dllllo~l or triggered event. Moreover, an advantage
of the present invention is that data can be mn~ifie(l and llp~1~t~d i~ oously and
wirelessly. Additional services can be activated wirelessly and existing services
10 disabled through broadcast activation codes which can enable or disable addresses
thus turning services on and off.
Another advantage of the present invention is that a remote Co~ ul-,l 14 can
receive illro....~lion instantly -- even while it is off-line (i.e. not c~nnected to the
Tnternet or some other on-line service). I'hus, a user has the ability to receive "on-
15 line" h.fol..ldLion even when the user is "off-line". In accor~lance with another
advantage of the present invention, a user can ~imlllt~neously, using the same
colll~ul~. 14, work on a cull~,c~.lional application, such as a spre~-lchPet or word
processing program, and monitor information which is being ~ e(l wirelessly.The user COnl~JULt;l 14 of the present invention includes a microprocessor
20 conn~cte-l to a system bus and su~olled by read only memory (ROM)and random
access memory (RAM) which are also coupled to the system bus. The RAM is the
main memory into which the operating system and application programs are loaded.The RAM may also suppore ~nt~rn~.t services, including but not limited to the file
transfer protocol (FTP) and simple mail transfer protocol ~SMTP) or E-mail. A CD25 ROM, which is optional, is conn~cted to the system bus and is used to store a large
amount of data. Various I/O controllers, including but not limited to the video
controller, audio controller and mouse controller may also be conn~cted to the system
bus. A modem enables commnni.~tion over a network to other information sources
or culll~u~ . The u~laLillg system of the coll~ul~,l may be Windows '95 (TM),
- 30 WINDOWS NT (TM) or any other lcnown and available o~eldling system.


Sl~ JTE SHEET ~RULE 26)

CA 02243555 1998-07-20

WO 97/27!!;46 PCT/US97/01165


In the ~l~.,ed embodiment of the invention, the user computer has a 486
> PC or higher processor, 16 MB of RAM, Windows 95 u~el~ g system, at least 20
MB available on hard disk for storing the executable programs, support files andD ~l~t~h~ces, sound and video cards, monitor, mouse or other equivalent pointing
S device, an ISA slot for receiving an intern~l 16 Bit ISA receiver card, or serial port.
The lGcei~,e~ card installed in the ISA slot in the user c~.lll~uL~. 14 interacts with the
wireless receiver 32. The wireless receiver may also be ~cceseed via the serial port.
One skilled in the art will recognize that the present invention is not limited to the
particular configuration discussed above. Rather, the present invention may be
10 imple!m~nt~cl on other computer systems and configurations, including but not limited
to Macintosh or Unix computers, televisions, telephones, appli~nrPe and so forth.
The wireless communication system 10 of the present invention incl~l~es
information lllhlol;llg 26, selection addressing 28, bandwidth ol,Lillli~Lion 30,
l~ceivillg means 32, message server design 18 and URL broadcast and hot links 22.
15 Information Mirrorin~
As is illustrated in FIG. 1, information sources 12, such as the Internet, on-
line services and other information sources, provide data feeds, incln~ing real time
data feeds, to a network of servers 33 in the central broadcast server 34. These data
feeds, once they have been parsed, com~ ed, t;ncl~,led and par~eti7~fl based on
20 feed and data type, provide the basis for outgoing broadcast sent imm~ tely or on a
schtoflllled basis. The data feeds include but are not limited to, electronic mail ~E-
mail) and other personal alert notifications, news, sports, and fin~nci~l stories,
e.llium and special event feeds, advertiet-mente/promotions, g,raphics, sounds, and
scheduled llp~l~t~oe The data feeds generated by the information sources 12 are in
25 digital form and divided into one or more data packets.
Referring to FIG. 2, a block diagram 100 of the software arrhitectllre for
c"----------ir~tions between the information sources 12 and central broadcast server 34
prior to tr~nemieeion to users is illustrated. Referring to FIGS. I and 2, information
sources 12 provide data feeds to the central broadcast server 34 which performs
30 selection, schr~ lin~ and addressing 28. In particular, real time data feeds from the
Internet 13 in the hlfollll~lion source 12 are provided to a network of servers 33 in


S~ JTE SHEET (RULE 26)

CA 02243555 1998-07-20
WO 97127546 PCT/US97/01165


the central broadcast server 34, such as the FTP server 102 and the SMTP server 104
illustrated in FIG. 2. The data, which can include but is not limited to stock guotes,
weather, lotto, E-mail, etc. is then l~,;,pe~ ely parsed by parsers, such as the stock
quote parser 106, weather parser 108, lotto parser 110 and mail parser 112, and then
5 transmitted to the content mz~n~ger 114 located in the central broadcast server 34.
Data is also provided to the central broadcast server 34 by sources 116 which
provide software and hardware for a lllai~ l connection, via FM radio, with the
source 118. This kind of data is also parsed by various parsers, such as Reuters 120,
COMDEX 122 and TSN 126. The present invention is not limited to the inforrnation10 sources or parsers described herein. Rather, any type of illfv.... ~ n source and
colre~onding parser may be used. The parsed data is then ~ iLle~l to the contentmanager 114.
The central broadcast server 34 also provides a registration/subscription
processor 128 via the World Wide Web ~WWW) ~l~tz~hz~ce or ~ I;vely~ other
15 means. The WWW is a collection of servers of the 7nt~rnet that utilizes the
Hy~,.L~l Transfer Protocol (HTTP). Through the registration/sul~ ion processo
112, a user can ~ Lel and subscribe to receive broadcasts provided by the present
invention via the user co,ll~ul~,l 14. The inforrnation provided by the user is
tr~n~mitte-l to a subscriber fl~t~h~ee 130 which is utilized by the central broadcast
20 server to ~1etermine which subscribers receive which types of cont~nt
Referring to FIG. 2, the content manager 114 det~rmines how diffèrent types
of information are h~n~le~ In particular, it specifies priorities for dirr~ lt types of
h~vllllhLion, and decides which pieces of inform~tion will be tr~n~mitted and which
will be rejected. It also applies srhPfll~ling rules 132 to determine when m~c~es
25 should be scheduled to be tr~n~mitt~f1 to the user. In addition, the content manager
114 is responsible for determining what format the illrollll~lion should be sent in,
what coll~ ion method to use, and who information should be sent to. The
conl~ ,ion method and format are d~ltllllhlcd by the type of information. When
and if the inform~ti-~n should be sent, who it should be sent to, and the priority of
30 the inforrnation are ~letermin~-l based on the type of information, the tirne of day, the
day of the week, and the specific date. So, for example, these rules could be used to


SUBSTITUTE SHEET ~RULE 26~

CA 02243555 1998-07-20

WO 97127546 PCT/US97/01165


specify that certain news feeds go to ~ ll subscribers only except during certain
hours of the day. Or it could be used to say that stock quotes are a low priority
during hours the stock exch:lnges are closed, on Saturday and Sunday, and on market
holidays. The content m~n~ger 114 also has the ability to detect and remove
5 duplicate mec~gf~
The content manager 114 c~ mmnnicates with the illfu~ n g~l~w~y 134
which is responsible for resolving logical information inside the system to physical
information needed for the wireless gal~w~y 136. In particular, the information
gateway's 114 duties include, but are not limited to: resolving service identifications
10 (ids) and addresses from a logical address and m~n~ging the content budget rules 138
to ensure that the total content quota is not ~?~ccee~le~l The content budget is based
on the number of bytes which may be L~ ed in an hour. The algoliLl.ln used
manages the budget by ev~ln~ting the total bytes allowed in the hour, the priority of
the il~ullllalion, the total bytes sent so far in the hour and the m;1x;.,"~
15 i~ eous rate at which information may be sent to ~letermin~ whether to send a
message. The goal being to ensure that sen~ing low priority information early in the
hour will not p~ ellL high priority information from being sent late in the hour.
Since the input to the information gateway 134 is primarily logical, it could beexch7~n~ 1 for an information gateway 134 which could send the information to be2û ~ ".;~ over another medium, such as the Tnt~m~t In addition, the inforrnationgateway 134 enforces priorities to ensure that higher priority information is sent
before lower priority inform~ti-m
In accordance with the present invention, the wireless gateway 136 I,l.,pa,es
data blocks for tr~n~mi~ci~n over a wireless broadcast network, including but not
25 limited to tr~n~mi~ion via a paging network (FIG. 3(a)), Vertical Bl~nkin~ Interval
~VBI) (FIG. 3(b)) or satellite (FIG. 3(c)), narrow and broadband PCS, GSM, VSB
television, cellular and other developing wireless technologies. One skilled in the art
will recognize that the data blocks can be Lld~ ilLed by a digital, analog or FMsubcarrier. The present invention is designed to operate with any of the above
30 known or developing tr~n~mi~ion n~;:Lwulh~.


SUBSTITUTE SHEET (RULE 26)

CA 02243555 1998-07-20
WO 97/27546 PCT/US97101165

-14-
In particular, referring to FIG. 3(a), a block diagram of the head-end high-
level software architecture for tr~n~miccion over a paging network 37 in acco~.l~lce
with the present invention is illustrated. The paging nc;lwulh 37 allows il,fc,~ dLion
to be transmitted over paging fre~uencies to paging receivers 32 which are connected
S to a user conl~ul~;l 14. The wireless gaL~w~y 136 tr~n.cmitc hLLo.,..~ m to a plurality
of paging l(;....i..~lc 39 which transmit the h~ollllation to paging l~,---.'.---ill. -;:. 41. In
turn, the paging tr~n~ le.s 41 transmit the inform~t;on to receivers 32, which only
receive information having specific addresses as noted in detail below. The paging
t~rmin~lc 39 and tr~n!....ill- -~ 41 are preferably located nationwide to provide
10 information access to all users. Paging t~?rmin~l~ co~ ...ic~te with one another via
the Inter and Intra System Protocol ~I NPP). Information is typically received at a
paging termin~l 39 and eventually tr~n~mittçcl to a S~dl~ paging ~ 41
through a radio control link. One skilled in the art ~ill recognize that the link
between the paging t~rmin~l 39 and the radio controlled link to the paging
iS Ll~sniiLl~,l., 41 can be a s~t~ollit~ link. In particular, inform~ti-n from the paging
termin~l 39 is IlA..~ d to a c~tellite via an uplink. The information is then
mo~ tPd onto the carrier of the radio control link for tr~ncmiccion to the paging
tran~llliLI~l, 41. One skilled in the art will recognize that any commercial paging
carrier which can transmit information wirelessly can be utilized in accordance with
20 the present invention.
Referring to FIG. 25, in accordance with an advantage of the present
invention, to overcome the paging network limitation on the amount of data that may
be sent to a single address, or capcode in paging terminology, mecc~ge~ are sent on
groups of pooled addresses and received at the user end on cull~,~onding pools of
25 addresses. Thus, information is multiplexed over multiple addresses but is
...hled at the user end as if sent to a single address. This allows l~tili7~tion of
available l~Lwulh bandwidth that could not be utilized with a single address.
In particular, the data to be tr~n~mit~ed over a paging ne~work 37, such as
that illustrated in ~IG. 3(a), first goes through a process of p~ekçti7~tion~ ell~"~pLion,
30 conlpl~ ,ion and ful~v~d error correction methods, as described in detail below. The
output of this process is 1 to n number of data packets, depending on the level of


S~ )TE SHEE~ (RULE 2~;)

~c

CA 02243555 l998-07-20
WO 97/27546 PCT/IJS97/1~116S

-15-
error correction, and type of co~ ion/e~ 3lion applied to the data. The paging
network addresses an individual or group by bro~clc~etin~ on a particular address or
capcode. By progl,..,....i..~ a paging device to listen to the individual capcode, the
device is then capable of receiving the particular message. The inherent problem5 with the FLEX protocol which is used by major paging carriers is that there is a
limit to the number of mesx~ges which can be sent to any one particular capcode at a
time. In accordance with FLEX encoding rules, only 2 messages per capcode can
exist at any one time in a particular FLEX frame, which is approximately 1.875
seconds. A typical data message sent over a paging carrier is broken down into 16
10 individual data p~r~ete If only one capcode is ~ e~1, it would take (16
packets/message)*(1/2 frame/packet)*(1.875 sec/frame)=15 seconds/message. This is
a relatively slow rate and only utilizes a small fraction of the FLEX frame. A FLEX
frame is capable of Ll,...x...;LI;.-~ on four dirr~ ,.lt phases or channels at a particular
time, hosting several messages per frame. The FLEX ~nro~1ing rules only specify
the .. ~x;.~.. messages per capcode frame, but there is no limit set to the number of
capcodes.
Referring to FIG. 25, in accold~lce with an advantage of the present
invention, the data message is multiplexed over a number of capcodes (i.e. uses
multiple capcodes to send one m~ee~e) Using the previous example, the present
20 invention would send the 16 packets of the data message to 8 diLr~ielll capcodes.
Thus, it would take (16 p~ te/message)*(1/2 capcodes/message)*(l/8
frame/capcode)*(1.875 sec/frame)=1.875 sec/message. The data rate is
Jx;...~tPly 8 t mes faster and fully utilizes the FLEX frame. Although the
rel~tit)nehir between the capcode and the packet id number is ~ubil~ , the server
25 software assigns the packets in a "round-robin" fashion, ~ee;~ning packets 1-8 to
capcodes 1-8, l~c~ /ely~ and packets 9-16 to capcodes 1-8"cii,~e-;Lively.
At the user end, the software decodes the meee~ges in a similar manner. A
user would subscribe to a particular service, which ee~nti~lly tr~nel~tes into a set of
capcodes which are programmed into the receiving device 32 (FIG. 3(a)). The
30 receivi lg device 32 then receives the packets which are tr~nemittecl to that particular
set of capcodes. Thus, for example, the user software would initi~li7~ the receiving


SU~;~ l l l UTE SHEET (RULE 26)

CA 02243555 1998-07-20
WO 97/27546 PCT/US97/01165

-16-
device 32 with the same 8 capcodes as on the L~ il side. The packets received
with those 8 capcodes would then be combined into the original data m~e~ e
Referring to FIG. 3(b), a block diagram of the head-end head-level software
architectnre for Ll,l..~ data over a Vertical Blanking Interval (V~I) of a
5 television signal 135 in accordance with the present invention is illustrated. The
wireless gateway 136 ~ inforrnation through a standard ~S232 i,ll~,lr~ce 137
and modem 139, which ll~où~,ll a telephone line 141 co~.llllu.licates with a modem
143 at a television ll~lwulk broadcast tr~n~miceion site. The information is
forwarded from the modem 139 to a VBI encoder 145 which combines the VBI data
10 with a standard television video signal 153. The encoded data is then fi~lw~uded to a
s~tçllite uplink l,.~ ",il~el 147 which Ll,-~ the television signal 153 to a satellite
~nt--nn~/receiver 151 via s~tçllite 149. A VBI decoder 155 then c~Ll~;Ls the data
from the television video signal and performs physical device addressing. The VBI
encoder and decoder may be any commercially available encoder and decoder
15 cleei~nr<l for VBI tr~nemieeion. The co",,ir~tions server 38 is mo~lifiecl toint~rf~re with the driver for the VBI decoder 155 which is provided by the
m~mlf~rt lrer of the decoder ha~dv~e.
Referring to FIG. 3(c), a block diagram of the head-end high-level soflcware
arrhitecl~lre for tr~n~mieeion via a satellite-based system 157 in accordance with the
present invention is illustrated. The wireless gateway 136 tr~n~mit~ informationthrough a standard RS232 interface 159 and moclPm 161, which Lhlou~l a telephoneline 163 col~ lllllic~t~s with a e~t~llite modçnn 165. The information is forwarded
from the e~qtçllit~ modem 165 to an uplink L~ ., 167 which Ll,~ ---;L~i the datato a ,e-~pllitç dish or ~ntrnn~ 171 via e~tellite 169. In particular, the satellite dish or
;~1llr~lll5l 171 receives the RF signal from the ~tellitf~ 169. A standard Ss~tf~ te
receiver PC card 32 col~ the R~ signal into PC compatible data. The
co----~n-.-ications server 38 is modified to interface with the receiver card driver
provided by the m~nnf~rtllrer of the receiver PC card 32 to receive data from a
standard s~t~llit~ data recei~,~,
The content manager 114 utilizes a content progr~mming station 140 to
control the content of pro~ .. ;.. g The content pro~ .. ""il.g station 140 allows a


SU,.;~ JTE SHEET (RVLE 26)

CA 02243~ 1998-07-20
wo 97/27546 PCT/USg7/01165

-17-
prog,~""~ g manager (not shown) to alter the rules used by the content m~n~r
114. The content pro~ g station 140 will also be used to review and alter
content srh~ es and srh~-lllle ad hoc mec~ge~ For e~mple, if there are news
feeds which must be m~nll~lly filtered to locate acceptable content, the news feeds
S would appear at the content progr~mming station 140 for the program m~n~ r to
review.
A flowchart illustrating the algo~ l for implem~nting the proc~c~in~ of data
prior to tr~n~mic~ion is illustrated in FI~. 4. Information from the content m~nz-~er
is initially applied to the information ~ w~ 134 (step 115) which resolves its
10 logical ~lestin~tion address to a physical wireless address based on inform~tion in the
subscriber (l~t~h~se (step 117). The data is then applied to the wireless ~L~;w~y 136
which creates the data block, performs packetization, compression, ~llc~ ,lion, and so
forth to ~ the data block for tr~n~micsion over the wireless broadcast network
(step 119). The data block is then tr~ncmittto(l over the wireless broadcast network
15 by the commercial carrier 26.
Il,rol~ lion Mirrorin~
Data is l~ e~l from an information source to the central broadcast server
34 as discrete m~ e blocks using E-mail or a well-known high speed protocol
such as the Transport Control Protocol/lntern~-t Protocol (TCP/IP). (See Comer,
20 D.E., '~Tnternetworking with TCP/IP, Vol. 1: Principles, Protocols, and Archit~ctnre,
Second Edition", Prentice Hall, Englewood Cliffs, N.J. (1991).) In particular, each
data packet tr~n~mittecl by the information source 12 inc.l~l(le~ a header, packet data
and information to ensure proper tr~n~mi~ n to the central broadcast server 34.
Additionally, an error correction code is typically added to each packet prior to
25 tr~n~mi~ion. The data block is broken down into messages and m~c~ges are broken
into packets. Each packet is accompanied by a message id and a sequence number.
All packets belonging to the same message contain the same m~s~e id. A
sequence number denotes the position of the packet inside the group. Some packets
will also carry the total number of packets belonging to the message. Each packet
30 header includes the following: packet type (4 bits), total ~ack~ls inclllrlerl (1 bit),
message icl~-ntifiçr (11 bits) and packet sequence number (1 byte).


S~ JTE SHEET (RU--E 26)

CA 02243555 1998-07-20
WO 97/27S46 PCT/US97/O1165

-18-
Although the ~lcr~ ed k~n~mi~ion protocol from information source to the
central broadcast server 34 is TCP/IP, it will be appreciated by those skilled in the
art that many other standard or application specific protocols, such as the OpenSystems Connection (OSI~, may be used as well.
S The inforrnation sources 12 thus provide the i-,rul,-~lion basis for outgoing
broadcast lldl~ll~ill~d by the central broadcast server 34 t_rough nationwide wh.
broadcast network immP~ t~ly or on a s~he~lllled basis to both on- and off-line
computers 14. When the central broadcast server 34 receives the data packets from
the information source 12, it pre-processes the data packets and wirelessly
10 the data packets to both on- and off-line computers 14. Consequently, colll~uh,
users receive real time notifications of inforrnation, including but not limited to
breaking h~ 1lint-~, sport scores, weather disasters, fin~nci~l information and even the
arrival of new electronic mail. It will be understood by one skilled in the art that the
inforrnation consolidated at the central broadcast server 34 may additionally be sent
15 via a wired connection to a ~sollal colll~ulel or colll~ulillg device.
Referring to FIG. 1, information sources 12 also receive r~.lu~~,lY, from remotepersonal c~ uLel.7 14 or other colll~uli~g devices for more llet~ d i.-rul...~l;nn.
Wirelessly L.,...~...ille~ URL's 22, associated with illcul~ g inform~ticn, are
embedded in the broadcast message from the central broadcast server 34, which is20 displayed in the mllltime~ viewers 20 and provide an ~ ull~S1(ef1 direct wired or
wireless line connection 22 back to the hlrolllld~ion source 12 such that det~ile~ data
may be duLollldlically downloaded to the user's computer 14.
As illustrated in FIG. 1, data generated by the information sources 12 is fed
to the central broadcast server 34, which processes the illCOlllillg data packets by
25 parsing the feeds 16 against specific filters, encoding the data and creating desired
broadcast feeds for wireless tr~n~mi~inn as described in detail below.
Selection Addressin~
As is illustrated in FIG. 1, the data packets ~sencldLt;d by the information
sources 12 are Ll"..~....il~er1 to the central broadcast server 34, where they are
30 intern~lly processed before being wirelessly tr~n~mi~ted through a carrier 36 to one
or more ~ onal colllL~uL,l., 14 or other colll~uLing sources via selective receivers 32.

SUBSTlTUTE SHEET (RULE 26)

CA 02243555 1998-07-20
WO 97/27~;46 PCT/US97/01165

-19-
When the packets arrive at a user receiver 32, they are re~ rnhled by the
comml-nic~tions server 38 in the message server design 18 into the original mrS~?~pe.
One skilled in the art will recognize that the carrier can be a local, regional,nationwide or worldwide calTier.
S Information from the content providers is first forn~tte.1 according to the
;ctary EMIT protocol before being prepared for tr~n~mi~ion over the wireless
broadcast network. In the EMIT format, information feeds include a number of
parts, each se~dl~d by the tilde (~) chald~ ,.. Each part begins with a tag
(keyword) followed by an equal sign (=) and the data for that part. The tag
10 ~leterrnin~s how to i~ plel the data in that part. Most tags are single characters to
~II;lli~lli~t? network traffic. Also, tags are case sensitive to allow more single
character tags. Tags 1-5 are reserved for information category and sub categories.
Other tags generally are derived from the first character in a name, such as, H for
h~-lline An exarnple of an EMIT format information feed is provided below:
1=S~2=B~H=Dodgers Win World Series~D=11/02/89 9:30pm
where the plilll~U~/ c~l~gol~ (1=) is S (which stands for sports), the first sub c~lego
(2=) is B (which stands for b~qeb~ll), the news h~-lline ~H=) associated with this
feed is Dodgers Win World Series, and the date/time (D=) is 11/02/89 ~:30pm.
Data from the inforrnation sources is packed into 8-bit binary forrnat data
20 blocks in the central broadcast server 34. The two basic data block tvpes areillustrated in FIGS. 5 and 6. In particular, FIG. 5 defines the 8-bit binary format for
"information" notification data blocks while FIG. 6 defines the 8-bit binary format
for "personal alert" notification data blocks. Info~ ion notification data blocks,
illustrated in FIG. 5, contain general information targeted to all users, including but
25 not limited to news hP~-llin~s and stories, sports scores, financial market data, and so
forth. Personal alert notifications, illustrated in FIG. 6, contain alert information
targeted to specific users, inrl~ltling but not limited to notifications legalding E-mail
arrival, stock prices re~rhing specified values, Internet telephone calls, chats or
meeting notices.
Prior to Ll,.. ,~.. i~ion, at the central broadcast server 34, the data packets are
encoded using a protocol suitable for the tr~n~mi~ion of information. Data blocks


Sl,~;i ~ JTE SHEET (RU~ E 26~

= = = =
CA 02243555 1998-07-20
WO 97/27546 PCT/US97/01165

-20-
are paeketized for tr~ncmieeion over the wireless broadeast network using
tr~ncmiccion protoeols.
In t_e prere..cd embodiment, which uses the paging network as the means of
wireless broadcast or tr~ncmiccinn, Motorola's FLEX (TM) protocol is ~ltili7.~l
5 ~ ely, other protoeols, such as traditional Post Office Code Standa di~dLion
Advisory Group (POCSAG) protocol, Motorola's REFLEX TM and INFLEXION
TM, ~T&T's protoeol derived from CDPD or other developing protoeols may be
used as well. Most wireless tr~n~mi~cion protoeols, ineluding POCSAG, provide
random error eorreetion as well as error deteetion eapabilities, thereby adding error
10 deteetion and eorreetion eapabilities to the information link.
Depending on the type and amount of information eont~ineA, a data block
may be enclosed in a single packet, or parceled into messages whieh in turn are
subdivided into one or more packets. The m~ce~ge forrnat protoeol is ill~ dlc;d in
FIG. 7. Large data bloeks are divided into meee~geS for effiçi~ney in tr~nemiccion
15 The data bloek header is sent as part of the message. The header type item is used
to distinguish between the data block and mPc~ge h.os~ re
The basic unit of L~ ...ic~.;on is the paeket. Each paeket incl~ es a header
and eontents. The inforrnation eont~inPc~ in the header defines the paeket's eunle
In aceo.da.~ee with the present invention and as illustrated in FIGS.8 and 9, two
20 basie types of paeke~s in the 8-bit binary format are lltili7~1 The first 4 bits in the
paeket define the paeket type. Standard packets are used for ~ ..g data blocks
too large for a single paeket. In this ease, eaeh packet conl~ills the ID of them~ee~ge to whieh it belongs, and the paeket number denoting the position of the
paeket inside the message. This allows the sofhvare at the user receiving end to25 rebuild the original messages and data block from the individual paekets. Prior to
L[,...~...ill;.-~ the paekets in a message, forward error eorreetion packets are added as
described in detail below. The single packet data bloek is used where the complete
data block can fit into one paeket. In this case, the paeket header is followed by the
data block header and data block contents. Binary alert packets are a speeial case of
30 the single packet data block and are reserved for the predefin.od alert notifications
described above.


SIJ~ 111 ~JTE SHEET tRUI E 26)

CA 02243555 1998-07-20
WO 97/27546 PCT/US97/01165

-21 -
At the receiving end, as described in detail below, the reverse of the data
p7~ck~ti7~1ion process described above occurs. In the case of multiple packet data
blocks, individual packets are combined to form messages based on packet sequence
number and message ID included in the packet header. Error correction is performed
5 as required. Individual messages are then combined to form data blocks based on
message sequence number and data block ID in the m~c~ge header.
The central broadcast server 34 pelro~ s the following processes on the
incoming data: ccl.lplc;,~ion, forward error correction, encryption, pack~li~LLion and
wireless broadcast format encoding. After int~m~l proceCcing, the fo....~lle~l data
10 packets are queued for wireless tr~n~miccion to their respective ~lestin~tions which
could include one or more remote personal computers 14 or CO111PUIi1Ig devices. In
accordance with the present invention, the form~tt~rl data packets are either
immefli~tt?ly wirelessly tr~n~mit~e~l to their respective ~iÇstin~tions or stored into
available memory for subsequent wireless tr~ncmicci~ n to their rei,ye~;Live
15 ~lestin~tions. For the latter, i.e. delayed tr~n~miccion, the central broadcast server 34
includes a non-volatile storage m.orlillm for longer term storage of data progr~mm~l
for subsequent wireless tr~ncmiCcion to one or more users.
a. EncryPtion
To " ,;..;...i,~ lln~lth- ri7~ri use of broadcast data, the data is encrypted prior to
20 wireless Ll -"~".iccion so that anyone surreptitiously coming into possession of the
data would not be able to convert tne data to clear form for use. The user software
is ~l~ocign~l such that it can pl~.p.,~ly decrypt the data once it is received on the user
end. In the p,~rt;llt;d emborlim~nt data is ellcly~L~d using the Data EncryptionStandard ~DES3 algo,ill.,ll. (See "Data Encryption Sli~ld~-l", Federal Information
25 Proceccing Standards Publication No. 46, January 1977; "DES ~odes of Operation",
Federal Information Proceccing Standards Publication No. 81, December 1980.)
;vely~ other known reversible encryption algc,liLl~,s may be used for data
encryption.
Prior to tr~ncmi~ion, the data is also encoded with a data cign~tllre. The
30 National Inctihlte of Standards in Technology (NIST) Digital Signature Standard
(DSS) al~su,i~ is preferably used for cign~tllre verification. .AIL~ ;V~1Y~ other


SIJ~ JTE SHEET (RULE 26)

CA 02243555 1998-07-20
WO 97/27S46 PCT/US97/01165

-22-
known methods of ~ign~tllre verification may be used. (See "Armouncing a DigitalSignature Standard", Federal Information Proc~ ing St~ndards Publication, Draft 19
Aug. 1991, front page and pp. 1-4, "Specifications for a Digital Signature S~ldald
(DSS)", Federal Information Procee~ing Standards Publication, Draft 19 Aug. 1991,
5 pp. 1-11.) In operation, DSS is used to zlllth~nticate the origin of the data (i.e.,
establish the identity of the signer) and to check the illlegl;Ly of the data (i.e.,
C~l~lllll that the data has not been altered after it has been signed).
b. Forward Error Correction
To compensate for tr~n~mi~ion errors during wireless bro~dc~et fo~wa.d
10 error correction algorithms, such as Fire Codes and various forms of ~eed-Solomon
Codes, are applied to the outgoing data packets. Reed-Solomon and other coding
systems are ~ cll~sec~ in, for example, Theory and Practice of Error Control Codes,
Richard E. Blahut, Addison Wesley, 1983, at pages 174 and 175. A feature of the
forward error correction used here is that the ideal packet size is dynamically
15 computed so as to .,.;~ total over the air size while Ill;1x;llli~ g error c(,lle~;Lil.g
capability.
c. I)erivation of R~cllln-l~nt Data Packets
Referring to FIGS. 16 and 17, as shown in detail below, the columns of a
data group 150 are encoded by an encoder using a Reed-Solomon (RS) code for
20 deriving parity-check packets 152 i.e. rec~-ln-l~nt packets. In accordance with the
present invention, the RS code, conventionally used for error detection and
correction, is utilized in a novel 111~U111eL with respect to l~con~L Llcting packets that
arrived with errors. As described in detail above, the data tr~n~mi~inn in the present
invention is based on a wireless protocol, such as Motorola's FEEX TM protocol or
25 the POCSAG protocol which provides error detection capabilities. However, these
protocols cannot co,l~e.~;~Le for burst errors or errors due to loss of synch,o.,i~ ;o~,
which often results in tnlnr~te-1 or lost packets at the receiver. In the present
invention, each hlfc",llaLion packet 154 which arrives with an error or errors is
considered a lost packet. Therefore, an inform~tion packet 154 either arrives without
30 error or is lost.


5~ JTE SHEET (RULE 26)

CA 02243~ 1998-07-20

WO g7/27546 PCT/lJSg7/01165

-23 -
The present invention is thus directed to co.l.~e~ ;..g for such tr~mr~te~l or
lost inforrnation packets by sending rerllm-l~nt packets. Instead of s~nfling each
packet twice or thrice, the present invention utilizes a modified RS code in a novel
manner to transmit packets with red-ln~l~nry as explained in detail below. For
5 example, for a message which is split into 200 information packets sent over apaging network with a packet loss rate of 1%, the probability of a :jUçce~i~r..lreconstruction of the message is only approximately 13.4%. If every information
packet is sent twice, i.e. 400 total p~çlrt't~, the probability of a snrcç~rul
reconstruction of the message incLcases to appro~cim~tely 98.2%. In acco.dal.ce with
10 an advantage of the present invention, by using a modified RS code to derive
re~--n~l~nt packets, only 5 extra packets, i.e. 205 total packets, need to be sent to
achieve the same a~pl~ox.i--late 98.2% s--rcç~;~rul reconstruction probability. Thus, the
present invention provides an improvement over conventional methods, which utilize
additional error correction and detection c~r~hilities on a per packet basis. In the
15 present invention, Reed Solomon parity check packets 152 effectively colll~ le for
lost inforrn~ti~ n packets. As a result, re~-m~i~nry and packet loss rate are ",;";.,.;,~
and flexibility and packet recovery rate are ...~x;...i,t~(l
In accv,da,lce with the present invention, data received from an inforrn~ti~n
source is encoded into data blocks at the broadcast server. Each data block is then
20 parceled into one or more messages so that each message can be parceled into
information packets 154. Each data packet is accomp~nie~1 by a message i~içntifier
and a sequence number. As described in detail above, all packets which belong tothe same message contain the same message identifier. The secluence number
denotes the position of the data packet inside the message. Some packets will also
25 be accompanied by information regarding the total number of packets belonging to a
message. When enough packets arrive at the user receiver 32, they will be
r~ccçmhled into the original mloc~ge by the co.. l.. ie~tions server 38 in the
message server design 18 as explained in detail below.
Referring to ~IG. 16, in accoldal~ce with the present invention, a Reed
30 Solomon code is computed down the columns of the block of data p~rl~ete, ~l~,reby


SU~;~ UTE SHEE~ (RULE 26~

CA 02243~ 1998-07-20
WO 97127546 PCT/US97/01165

-24-
creating Reed Solomon parity-check packets. The most general case (n,k) is adopted
where
1 < n < 255 (1)
1 Sk<n (2)
5 where k = number of inforrnation packets generated by parceling the input
message,
n = total number of l~ liU~d packets.
The total number of transmitted packets is determined based on the degree of
protection requested. By allowing for the all,il,Ol~ combination of n and k, m~xim:~l
10 ~lexibility is achieved. In particular, n and k are chosen during run-time, instead of
design-time. For example, (255,223), (255,251), (7,3), (16,1) Reed Solomon codes,
used column-wise are all possible combinations for generating Reed Solomon parity-
check packets. In a typical operation, by using a (255, 223) Reed Solomon code
column-wise, 32 parity-check packets are generated for a group of 200 inform~ n
15 packets to be tr~n~mitt~1 Thus, even if 32 ~bi~ y packets out of 232 total data
packets were lost during tr~n~mi~ n, a s~lcce~ful r~ emkling of the inforrnationcan still be achieved at the receiver end.
In accordance with the present invention, to ...i..i...i~.- the number of lost
messages, the information packets are sent with rec~l-n-~n~y using a method based on
2~ Reed-Solomon code to derive Reed Solomon parity-check packets. Utilizing an 8-bit
Reed-Solomon code, the m5.xi...l.". number of data packets (including both
inforrnation packets and Reed-Solomon parity-check packets~ is 255. There is no
limitation on the number of symbols in each data packet as long as they are
acceptable by the wireless carrier.
In accordance with the present invention, the modified RS code encodes the
data over a Galois Field GF(28) (hereinafter GF(256)) whose field elements are
represented by their coordinates with respect to the canonical basis {l,a,aZ,....,a7}
where a is a root of the primitive monic polynomial:
f(x) = X8 + X4 + X3 + X2 + 1
30 Parity-check packets are generated by encoding k data packets column-wise in
accordance with the following generating polynomial g(x) equation:


SIJ~ ITE SHEET (RULE 2~i3

CA 02243555 1998-07-20
WO 97/27S46 PCT/US97/01165



g(x) = rl (x + ai) (4)
I=1
where g(x) = generating polynomial
S a = ~lilllilive element of GF(256)
p = number of parity check packets
Multiplication and inversion in GF(256) are implemented by table
lookup or by algol;Lhlll depending on perfnrm~nre re~luh~
In the ~ ;d embodiment, the encoder for encoding k data packets
10 column-wise is a software sim~ ti~n of polynomial division using linear feeclb~
shift register (LFSR), with n and k being changeable. The coefficients of the
generator polynomial g(x~ are saved in the order of ~c~nlling power. ~ ivt;ly,
the LFSR may be implement~cl in hardware, with n and k fixed. (See William
Wesley P~Lt;~O11, "Error Correcting Codes", Edition One, pg. 150.)
- A series of data packets including both information packets and parity-check
packets are formed. The number of symbols in each data packet is limited only bythe wireless broadcast system. In accordance with the present invention, no extra
error correction is added to each data packet.
The number of parity-check p~rket~, n-k, must be in the range [1, 254] and
20 the number of C~ s, i.e. errors whose locations are known, must be in the range
~0, n-k]. The erasure locations must be all distinct and sorted in ~cer~r1in~ order. In
the present invention, RS error correction is performed on each column. Each error
in the column co~ onds to a lost packet. Since it is known which packet is lost,the locations of all errors prior to RS decoding are known. Thus, in accordance with
25 an advantage of the present invention, the location of the errors is known before RS
decoding, thereby providing for m~im~l error correction. In contrast, conve~tionz~l
applications of RS attempt to find both the m~gnitllcle and location of an error.
As shown in FIG. 16, each data packet (inchl-ling inforrnation packets and
RS parity-check packets) is parceled into many codewords. The length of each
30 codeword is 32 bits, where 21 bits are for inrc,~ ion and l l bits are for error
correctionklet~ction


Sl,~ 111 ulTE SHEET (RULE 26)

CA 02243555 1998-07-20
WO 97/27546 PCT/US97/01165

-26-
The data packets, i.e. information packets and parity-check p5~CL et~, are then
l.~lslllilled to the message server unit via the user receiver. FLEX TM providesinformation regarding whether the packets were col~ ,lly received or not. As a
result, any error locations are detected prior to applying RS decoding. Decoding is
5 then implçmentecl by syndrome evaluation with known error loc5~ )n.~ (See Hasan,
Bhargava, and Le-Ngoc, "Reed-Solomon Codes and Their Applic~tion~", pg. 79-81.)
In accordance with the present invention, the number of i~"".~ ;on packets k
and the number of Reed-Solomon parity-check packets p can be ~I,i(l~ily chosen
depending on the tr~n~mi~ion condition and the desired accuracy rate. The only
10 condition is that the number of information packets k and the ~-u~ . of parity-check
packets together total no more than 255. The reskiction
p~k ~ 255 (5)
is imposed by the use of the finite field GF(256). As stated earlier, each data block
will thus first be split into several messages so that each message can be split into k
15 packets that satisfy the above restriction. Up to p packets can be lost without
co.l.l,.u...ising SI~CC~ ~cfill reconstruction of the message. ln acco.d~lce with the
present invention, even if some data packets are lost, the full message can be
recovered using the re~ n-l~ncy data packets generated by the present invention.Referring to FIG. 17, a flow chart 160 of the al~oliLl~-l, for deriving RS
20 parity-check packets is illustrated. The data block is initially parceled into one or
more incoming messages (step 162), and the messages are then parceled into k
info~nation packets 154 (step 164). The number of RS parity-checks packets p is
then selected (step 166). The i.lîol.l,~Lion packets are then encoded column-wise
with a modified RS code in acco,dal~ce the ~,c;.l~,~dLi.lg polynornial:
P
g(X) = Il (x + ai)

and parity-check packets are generated (step 168). The data packets, which include
information packets and RS parity-check packets, are parceled into codewords (step
30 170). After the data packets have been parceled into codewords, error


SUBSTITSJTE SHEET ~RULE 26)

CA 02243555 1998-07-20
WO 97/27S46 PCT/US97/01165


correction/detection is performed on the codewords (step 172). The data paekets are
then L1AII~;III;IIf'C~ to the users (step 174).
At the user end, the nurnber of codewords which have error(s) is counted
(step 176). Then it is cl~l~....i..ed whether each packet has any errors (step 178). If
5 a packet does not have an error, then it is saved (step 180). However, if a paeket
has one or more errors, it is discarded (step 182) and the present invention waits for
more packets (step 188). When there are enough packets ~step 184), a m~ e is
assembled (step 186). If not, the present invention waits for more packets (step188). Finally, when there are enough messages, the data block is ae~embled (step10 192).
d. Co~ cssion/Bandwidth O~li...i~lion
FIG. 18(a) is a flow chart of an algoliL~Im for data coln~ ion which
combines Hllffm~n COlll~ ion and dictionary-based eolll~ ion. In aeco~lance
with the present invention, the data blocks are colll~ cd at the central broadeast
15 server 34 end prior to tr~n~mi~it)n so that l~.~Xillllllll amounts of illfollll~lion in
eon~-~ssed or bandwidth reduced form can be L.~ ...;lle~l to the selectecl user or
users. As discussed in detail below, at the user end, the data blocks are
coll.,spolldingly dec~,l-l~lG~sed (FIG. 18(b)).
In the plerc~l-d embo-liment, the current colll~lc:i~ion algoliLlllll for Fngli~h
20 language articles saved in ASCII text format combines the ~l~rr.~.. colllplcssion and
the dictionary-based con-p.c~ion, such as LZ77 and LZ78 based algol;~..lls. In
operation, as the coln~ ion algolill~ll scans the input texts, it not only tries to
search for t_e next item in the previously seen text, but also tries to search for the
next item in a static E~nffm~n dictionary, and it chooses a method which produces a
25 better result. After the data is rc ceivcd at the user end, it is collc~olldingly
decolllplci,~cd.
In particular, referring to the algc,lill..n 200 for implementing data
colll~lcssion in FIG. 18(a), the H..rr...i-.. dictionary is loaded from the disk storage,
the address pointer is positioned to the start of the uncolllp.c;,~ed input data in
30 memory and a memory buffer for storing the co..lp~ ed output data is allocated
~step 202). Next, it is ~letPrmin~-l whether the address pointer is moved to the end of


SUBSTITl)TE SHEET (RULE 26~

CA 02243555 1998-07-20
WO 97127546 PCT/US97/01165

-28-
the data input (step 204). If so, bit b=1 is written to the output data and the end-of-
data token from the Hllffm~n dictionary is written to the output data (step 206) and
the co,~ ion routine is done (step 208). If in step 204, it is determined that the
address pointer is not at the end of the input data, the colllp-es~ion alguliLhlll scans
5 the input texts, se~-,l,illg for the next item in the previously seen text (step 210) and
the StdtiC Huffman dictionary (step 212), and chooses the method which produces a
better result (step 214).
In particular, in step 210, the data is culll~ ed using the previously seen
text. A token T1 is generated by COlll~lllg the input data at the input pointer to the
10 previous input data. T1 denotes an index to the previously seen data that has the
m~ .. length match with the current data L1 correspondingly denotes this
m~ximl-rn length.
In step 212, the data is cull,prc,ssed using the Huffman dictionary which was
loaded in step 202. A token T2 is g~ dL~d by looking for the m~X;~ match of
15 the input data at the input pointer to entries in the Huffman dictionary. T2 denotes
an index to the dictionary entry for the m~x;.ll-l.l. match. L2 eoll~ulldingly
denotes the length of the match.
In step 214, the optimum result (T,L) from (T1,L1) or (T2,L2) is chosen
depending on which is larger, L1 or L2. If (T1,L1) is chosen, b is set to 0 (b=0),
20 else b is set to 1 (b=1). b is initially written to the output data followed by the
optimal result (T,L). The input data pointer is then advanced by L bytes.
After the data is received at the user end, it is col,e~ ly deco,ll~ul.,ssedin accord~lce with the algol;lll,ll 220 illustrated in FIG. 18(b). The ~l-ffm~rldictionary is initially loaded from the disk StQr~ge, the address pointer is positioned
25 to the start of the colllplcss~d input data in memor,v and a memory buffer for storing
the decom~l~,si,ed output data is allocated (step 222). One bit from the input data is
read and saved in b (step 224~. Next, it is ~ Ill;lle~l whether b=0 (step 226). If
so, the data is decoll*,~ ed using the previously seen text (step 228). The nexttoken (T,L) is initially retrieved, followed by L bytes of deco,ll~lessed data from the
30 output buffer at a location denoted by T. The retrieved bytes are denoted by txt,
which are then written to the output buffer (step 230). The input data pointer is then


Sl e~ JTE SHEET (RULE 26)

CA 02243555 1998-07-20
WO 97127546 PCT~US97/01165

-29-
advanced by the length of the token (T,L) in bits. The program then returns to step
224 and repeats the steps until the Huffrnan end-of-token is detecte-l ~step 232).
If, in step 226, b is not set to 0, it is deterrnin~cl whether the next token is the
Huffman end~of-data token. If so, decolllples~ion has been completed(step 234). If
5 not, the data is decolllple~sed using the Huffman dictionary (step 236). The next
token (T,L) is retrieved, followed by L bytes of decolll~ ed data from the
Huffm~n dictionary using T as an entry into the dictionary. The retrieved bytes of
data are denoted by txt, which as noted previously, is written to the output buffer
(step 230). The input data pointer is advanced by the length of the token (T,L) in
10 bits and returns to step 224.
e. Differencin~
FIG. l9(a) is a flow chart of an algolilll.ll 240 for data collll)le:i:iion lltili~ing
~irr~,cllcing. In accordance with another advantage of the present invention, a
dirr~re,.cillg algorithm 240 is additionally used to colllpl~ the coded data, thereby
15 significantly red~çin~ the nurnber of bytes sent with each L~ .if n. In particular,
a dictionary-based colll~lession algorithm, such as LZ77 and LZ78 based
Colll~L~s~ion, can be adapted for this application. File two is described with
reference to file one in a ...;";,....". number of bytes. In such an algo~ ll, file one
is used as the dictionary.
In particular, the precomputed standard hash table HT for file 1, the
dictionary file, is loaded from mass storage (step 242). The .. ~;,.;.... match length
L from the length used in creating the hash table HT and the .. ,~x;,.,.. .match length
U from the limits on contiguous data block tr~n~mi~ion size are set. The memory
address pointer to the strearn of input data ~file 2) to be colll~lessed by differencing
25 with file 1 is retrieved and a memory buffer for the culll~le~sed output data is
allocated. The algo~ llll 240 next ~l~termin~s whether the end of the input data has
been detected (step 246). If so, the conl~ ion is complete (step 248). If not, the
hash value H of the next input data substring of length L bytes with the same
hs~hing al~uli~ used to compute HT is calculated (step 250). The optimal match
30 leng~ ML is then set to 0 and the optimal position MP is set to -1 (step 252). For


S~ JTE SHEET (RULE 26~

_

CA 02243555 l998-07-20
WO 97/27546 PCT/US97/01165

-30-
each position P in HT corresponding to H, the best match length PML at position P
in file 1 such that
L<=PML<=U
is det~rmined (step 254). If PML is greater than ML, then ML is set such that
S ML=PML and MP is set such that MP=P. If in step 256, ML=0, the bit value 0 is
written to the output buffer (step 258). The byte at the current input buffer pointer
is written to the output buffer and the input buffer is advanced by one byte. The
al~,o~ 240 returns to step 246 and continuously iterates until the end of the input
data is detected (step 248).
If in step 256, ML is not equal to 0, the bit value 1 is written to the output
buffer (step 260). The optimal match length ML and the optimal match position MPare written to the output buffer. The input buffer pointer is then advanced by ML
bytes. The algul;~ 240 returns to step 246 and continuously iterates until the end
of the input data is detected (step 248).
As discussed in detail below, at the user end, the data blocks are
co.l~l,olldingly decolll~.c.,~ed in accord~lce with the algG-;Ih.ll 262 illustrated in
FIG. l9(b). The dictionary file, file 1, is initially loaded from mass storage (step
264~. The memory address pointer to the stream of colll~l~,;,sed input data and
retrieved and the memor,v buffer for the decolll~.e~ ed output data is allocated. It is
20 next ~1et~q~rnin~l whether the end of the input data has been detecte~1 (step 266). If
so, the decu...pre~:,ion routine is cc,lllplete (step 268). If not, one bit b from the
input buffer is read (step 270). It is then ~iFt~ P~l whether b=0 (step 274). Is so,
one byte from the input buffer is copied and written to the output buffer. The input
buffer pointer is then advanced by one byte. The al~,o.;ll..-l 262 returns to step 266
25 and cnntim-ously iterates until the end of the input data is ~l~tectecl (step 268).
If in step 274, b does not equal 0, the match length ML and the match
position MP is retrieved from the input buffer (step 278). ML bytes are copied from
file 1 at position MP to the output buffer. The input buffer pûinter is adv~lced by
the sizes of MI, and MP in bytes. The algo.;ll..-l 262 returns to step 266 and
3Q continuously iterates until the end of the input data is 11etecterl (step 268).


SUBSTITUTE SHEET (RULE 26~

CA 02243555 1998-07-20

WO 97127546 PCT/US97/01165


f. Wireless Data Format Encodin~
Where the method of kAncmi~ion is paging, all outgoing m~e~ges are
preferably encoded to 7l8 bit data or true 8 bit data for broadcast over paging
~ networks. After the data is received at the user end, it is correspondingly decoded.
S With respect to VBI and ~tellite tr~n~mi~sion, all outgoing messages are preferably encoded to true 8 bit data.
g. Addresses
In accordance with the present invention, outbound data will be segmented
and sent to the user by way of the user r~cei~,el 32 ~ltili7ing common and unique
addresses. Addresses are numbers used by wireless l~,ceivhlg devices to identifymessages targeted to a user. Addresses are usually stored in pro~.,1,..,..~ble read only
memory (PROM) in the receiver haldw~e 32. If the address to which a mes~ge is
k~n~mitte~l m~tr1l~s a address stored in the receiver 32, then the rcce:i~/.,. 32 will
process the message. Otherwise, the message will be ignored. In a typical
collfi~-~tion, general "basic services" are wirelessly ~ illerl on global commonaddresses, cle~ .l,ic mail and po;nt-to-point messages are tr~n~mittecl on
p. . ~;~"~li7e-1 or unique addresses, and combined p~ services and pay-per-view
events are grouped together and llnl~ e~l on common addresses. AAlt~ vt;ly~ the
combined ~ICllliulll services and pay-per-view events may be sent on unique
addresses as well.
h. Recluest for Additional Services
The central broadcast server 34 additionally includes telephone and/or modem
interf~ees for r~ceivillg remote request from users to obtain additional or modify
eXi~ting services. For example, a user from a ~ onal computer 14 or other
culllpuLillg device, can request additional services or modify e~i~ting services by
telephoning or mo~leming the central broadcast server 34, which automatically and
- wirelessly tr~n~mit~ the new or modified services. Modification of subscribed
services may also be performed via the Internet and World Wide Web.
i. Simlllt~neous Wired Tr~n~mi~ion
In accordance with an alternate embodiment of the invention, as explained in
detail below, the information provided from the hLL~ Lion sources 12 and


SU..S~ 1 1 1 UTE Sl IEE~ ~RULE 2b)

CA 02243555 1998-07-20
WO 97127546 PCT/US97/01165


tr~n~mitted to the central broadcast server 34 to be consolidated in accordance with
the present invention and then trAncmittecl wirelessly nationwide to personal
com~u~ 14 and other colll~uling devices as described in detail above can also besent simlllt~neQusly via a wired connection to the sarne ~.sonal co~ )ul~l~ 14 and
5 computing devices having ~nternet/World Wide Web access (direct or via on-lineservice providing Tnt~rn~t and Web access). In particular, the data processed at the
central broadcast server 34, in addition to being tr~nsmitt~A wirelessly, is
~imnlt~n~ously made available through wired connection to a specific web site on the
Internet. A user can thus corm~ct to the Web via the Internet and receive
10 information through wired means.
Receivin~ Means
Referring to FIG. 1, a user receiver 32, collne~ ;d to a ~ ollal co~ ulel 14
or colll~u~ g device, receives wireless Ll,..~ ion~ sent by the central broadcast
server 34. The user receiver 32 preferably includes an Industry-Standard
15 Arclli~rc;~..le (ISA) board with a I C int~rf~fe to an e~t~-rn~l whele~ receiver and
utilizes on-board POCSAG, Motorola's FLEX TM protocol or other wireless
receiving device receiving and decoding. In accordance with an advantage of the
present invention, Motorola's FLEX TM decoding allows for upgradeability to future
receivel protocols without requiring rerl~.?m~nt of the int~rn~l ISA board. The user
20 receiver 32 also includes an inrlic~t~)r~ such as a ~ hing LED, which in~ t~
reception of incoming mes~s As described in detail below, the user receiver 32
in~ s physical addresses for filt~ring data prior to being LL~r~r~ d to the P~L~OI~I
conl~Jul~ . 14. The user lecei~,~. 32 may be a specially ~ igneA or comrnercially
available receiving unit.
Filterin~
In accol~lce with the present invention, filterin~ of inform~tion can be
accomplished both at the user receiver 32 and p~ ol~al cc,~ uL~l 14 or COu-~ULillg
device. Me~gl-s are electronically sent to nationwide and local wireless broadcast
networks using both physical and virtual addresses. Physical addresses are tags
30 which reside in the hardware portion in the user l~cei~,~. 32.


Sl~ JTE SHE~T (RULE 263

CA 02243~ 1998-07-20

WO 97/27546 PCT/US97/01165

-33 -
ln addition to standard physical addresses, the present invention implements a
virtual address as illustrated in FIG. 14 and described in detail below. In particular,
the virtual addresses reside in the software of the user computer 14. Virtual
~ addresses provide additional filt~rin~ of inroming data from the user receiver 32.
5 For example, a message may be received by all receivers 32, but if the message is
targeted to a specific virtual address, then only those in~t~ tions in which that
virtual address is activated will process the message. In accordance with an
advantage of the present invention, virtual addresses may be activated and
deactivated through the broadcast n~Lwolk, allowing for çsrt~rn~l control over the
10 reception of services in a particular in~t~ tiQn It will be appreciated by those
skilled in the art that information filtering can be accomplished lltili~ing virtual
addresses only. Virtual addresses can allow for unlimited filtering of messages on
the user end. However, this may increase the lesoul.;e usage of the personal
conlpuLel 14. Co.~ o~ldingly, infQrm~tion filt~.~ing can be accomplished by
15 utili7ing physical addresses only.
A higher level of filtering based on message c~Legoly and content is also
provided. Users can set various filters based on a variety of ~lef~ .lces at
information category or specific content levels to allow for automated filtering of
incoming h~follll~Lion. At the category level, users can control which categories of
20 inforrn~tio~ received from the broadcast network are processed and which are
discarded. For example, if a user were not hl~ L~d in sports, all sports information
categories, such as baseball, football, golf, etc. can be selected for discarding. A the
specific content level, a user can select which suhç~tegories of information within a
particular ~-lfollllaLion c~legul~ will be processed. The user selectable snhc~te~ories
25 depend on the type of illr~ ;on cont~in~l in that c~Leg~ . Snhç~t~gories may
include, but are not limited to, source providers for h~-1lin~ news stories, specific
~ industry segm~nt~ (e.g., electronics, C~ uL~,Is, cullllll~fications, industrial, etc.) for
business news, specific teams for sports c~legolies, particular states and garnes for
lottery results, and stocks for which quotes are displayed. For example, a user that
30 wishes to have scores displayed only for baseball games involving the New York


SUBSTITUTE SHEET (RULE 26~

CA 02243555 1998-07-20

WO 97127546 PCT~US97/01165

-34-
Yankees or New York Mets can set the filter for the b~eb~ll viewer to discard gatne
results for all teams except those two.
Filtering is accomplished prior to information being transferred to the
personal computer's hard drive 14, thelero.e conserving the personal col~ L~,'s
5 resources. ~eferring to FIG. 14, a flow chart of an algo~ "n for message
proce~ing using filtering in accordance with the present invention is i~ ctr~ted An
illcollling message from the central broadcast server end 34 after plUCç~ g as
described above is applied to the receiver hal.lw~ 32 (s~ep 200). Physical address
filtering in the receiver hdLdw~, is then used to ~ -;--ç whether the mecc~e
10 should be passed on for further virtual address filt~ring (step 202). If the message
passes physical address filtering, the message is applied to virtual address filt~ring
(step 204). Otherwise, the mec~ge is disregarded (step 206). Virtual address
filtering is then used to clett?rmin~ whether the message should be passed (step 208)
on for further message content filtering (step 210). If not, the m~cc~ge is
15 disregarded (step 212). Message content filterinf~ then d~ Ps (step 214) wL~L
the m~cs~ge should be stored in the message t~t~b~ce (step 216) for further
proce~in~ and tr~n~rr~iccion to the user or disL.,ga~ded (step 218).
The process of l~g~Lillg data to an user 1ltiti~ing real and virtual addresses is
illustrated in FIG. 15. Data blocks are built in the inf~rrn~tion gateway 134 and all
20 applicable real and virtual addresses are clet~orrnin~cl based on the type of i..rc,....~l;nn
in the data block and user :~ubsel;~Lion data from the s~lhsçriber tl~t~h~ce 130. If a
data block is to be targeted to a specific virtual address, the virtual address is
inserted by the inform~ti~ln ~,~lt;w~y 134 into the virtual address field of the data
block header and the virtual address flag is set. The wireless g~k;w~y 136 provides
25 the interf~re to the wireless k~n~miccion network. It ~ ;s data for L~ ;on
over the network and implements real addresses in the proper data frames as
specified by the standard ~ ion protocol that is used. At the .~ceiving end,
arriving data is first filtered via real addl,sses in the wireless lcceivt;l 32 ~ollowed by
virtual address filtering in the c-~----------ications server 38. The C(Jllllllul~iC~iOI~
3~1 server 38 first checks the virtual address flag in the data block header. If it is not
set, then the data block is passed onto the alert panel 50 for storage and display. If


SU~ 111 UTE SHEET (RULE 26~

CA 02243~ 1998-07-20

WO 97/27546 PCT/US97/01165


this flag is set, the communications server 38 ~letPrminPs if the virtual address in the
data block header m~t~hes one in the virtual address rl~t:~h~ce If there is a match,
then the data block is passed onto the alert panel 50. If there is no match, then the
data block is discarded.
5 Message Server Desi~n
Referring to FI~S. 1 and 10, the message server design 18 includes a
coll.L.lu.lications server 38, user interface alert panel 50 and viewer server 58.
a. Driver
As is illustrated in FIG. 10, the driver 44 is preferably a Windows 95 driver
I0 for the wireless device h~-lw~e 42, although another comp~ti~le device may be used
as well. The driver 44 provides an interface to access received data and control the
hardware 42, as well as inform applications as to the status of the receiver h~lw~e
42.
b. Interface
The interface 46 for the wireless device is preferably an AmFlex DLL 46,
aIthough another compatible device may be used as well. The interface 46 is used to
pass the data received from the wireless device to the co~ --ir~tinn~ server 38 for
processing and distribution to other software COlll~OllclllS. It also provides a means
by which the communications server 38 can program the device haL.lw~lc to receive
20 specific messages and also allows the co-,----l~.-ic~tions server 38 to ~1c~ e
h~dw~c status.
c. Co...... l.. ic~tions Server
The communications server 38 receives data from the wh~,less device via the
interface 46, extracts the dirrcrc-ll types of data blocks (messages), passes public data
25 blocks to the user interface alert panel 50 and processes private data blocks locally.
The colllll-Lu.ications server 38 is also responsible for initi:lli7ing the wireless device
and m~ g the address ~t~h~ee which detPrminPc which received messages will
be processed. In addition, it provides diagnostic data on received messages for
software debug purposes.
In operation, the co.. ie~ti-)ns server 38 is notified of incoming data
packets by the driver 44 via the int~rf~re 46 through a software çz~llh~L function.

SU~ ~ )TE SHEET (RULE 26~

CA 02243555 1998-07-20
WO 97f27546 PCT/US97/01165

-36-
Once data packets are received by the co..,..~l...ication server 38, it recombines,
deco~ ,es, decrypts, filters via virtual addresses as previously discussed, and error
corrects the data packets using techniques c~ s~ollding to the proce~ing done atthe central broadcast server 34 end; In particular, the co..... l~,.ir~tion server 38
initially verifies the hlle~,lity of the data packets received using common error
correction techniques. After error correction, the data packets are ~-np~rk~ti7e~ and
entire messages are assembled. After assembly, the co....... -.. ic~ti~ n server 38 verifies
once again that the integrity of the me~s~ge is l~ ni~ed. The message is then
decrypted using the comrnon p~wu.d previously established. The data .~ign~t--re on
10 the message is also checked to verify the illLe~llLy of the data. The messages are
uni~uely encoded so that it is known which data packet belongs to which message.The messages are stored in a ~l~t~b~ce and when a complete message is formed, it is
Ll~ .l to one or more devices that are registered with the communication server
38. As sho~,vn in FIG. 10, the complete message may be tr~n~mitt.o~ to the user
15 int~rf~re alert panel 50, shown in detail in FIGS. 3 and 4 and ~ c-lc~e~l in detail
below. Thus, once the data packets are succes~r llly read off the driver 44, the data
is error COll~ ~led, decol.l~l~ssed, decrypted and assembled into a complete m~ e.
The co.".. ,.ications server 38 then notifies the user interface alert panel 50. d. User Interface Alert Panel
Referring to FIG. 10, the user interface alert panel 50 is the main user
r~ce for the applications software. The user interface alert panel 50, which
appears to a user as shown in FIG. 20, is the liaison for mr~ ges broadcast from the
col,~ ",ic~tiQn~ server 38 and delivered to the viewer server 20. The user i..l~ . rnre
alert panel 50 ~lrOlllls all m~ ge archiving to the messages ~l~t~b~ee The main
25 functions of the user interface alert panel 50 are (I) ini~i~li7~tion, (ii) processing
E~IT messages, and (iii) timing events. The user interface alert panel 50 is runwhen the user doublé clicks on a specific icon or selects the application from a start
menu, such as the Windows 95 start menu, and is responsible for other applications,
such as l~llnrhing the cu..,."...~ic~ti~ ns server 38 and viewer server 20 and passing
30 messages lweived from the commllnications server 38 to the viewer server 20. The
user interface alert panel 50 also displays "fly-in" graphics and icon buttons to alert

Sl~ 111 ~lTE SHEET (RULE 26)

CA 02243~ 1998-07-20
WO 97127546 PCT/USg7/01165


the user that a new message has been received, allows the user to open a viewer 48
to e~r~m;ne a received message by clicking on the viewer icon button for that
meSs~ge, and m~ c the received messages r~t~b~ce The latter in~ s saving
new messages in the ~1~t~b~ce and deleting old messages after a cer~ain period of
5 time, as exp!ained in detai! be!ow. T.he user also -5~cco~ the ~emote cor.t~ol 5A
from the user interface alert panel 50 by clicking a remote control icon.
~I) Tniti~li7~tion
FIG.21is a flow chart of an al~,olilhlll300 for implementing the
initi~li7~tion procedure for the user interface alert panel 50 in acco~d~lce with the
10 present invention. In step 302, during initi~li7~tion, the user is l,lo~ ed for
~l~t~h~ce management (co~ ess the m~cc~ge ~1~t~h~ee). In particular, the user
interface alert panel 50 will deterrnine if there are more than a predc;le~ ed number
of messages written into the ~l~t~h~ce 51. In the ~ler~.l. d embodiment, the
pre~ ",.i"e~l number of messages is 2000+, although one skilled in the art will
15 recognize that any number of m~cc~ec may be used. If the pre-lete~nin~l number is
e~ eeded, records which have heen previously m~rk~d for deletion are removed from
the d~t~h~ce 51. Marked records are typically records which have been read by a
viewer and are not targeted for any of the other viewers or applications, yet
physically remain in the ~l~t~b~se. These records are removed when the
pre-l~termin~l number of m~?cc~gec is met, thereby only leaving those records which
need to be read.
Following ~l~t~h~ce management, the .i~tZlh::~ct~:c 51 are opened for non-
exclusive read/writes (step 304). In accordance with the present invention, the three
mains databases are the (a) messages tl~t~h~ce which holds all the messages, (b)SYSAPPS ~l~t~h~ce or systems applications rl~t~h~ce which holds the viewer specific
inforrnation such as what is executable, what needs to be run for that viewer to be
kllml h.o~l, etc. and (c) V groups ~l~t~h~ce which contains a list of all viewers, their
alias names and descriptions.
The next step during initi~li7~tion involves reading the tool bar initi~li7~ti~n30 information from the registry keys (step 306). In particular, the ~locl~in~ location of
the user interface alert panel 50 is deterrnin~1 The user int~rf~ce alert panel 50 is

SlJt~ 1 11 ulTE SHEET (RULE 26)

-
CA 02243555 l998-07-20

WO 97127~46 PCT/US97/01165

-38-
dockable at all the corners of the dispIay and can also be floated at the center. The
animation def~--lts are also ~l~termine~l because in the e~l~Lollli~lion for the user
interface alert panel 50, the user can turn off the fly-in sequence, buttons ~nim~te~
andfor sound files being played. Which winsock ports need to be used to talk to the
5 colnl,lu,lications server 38 and viewer server 20 are also ~lettorrnin~l at initi~li7~tion.
The next step is during initi~li7~tinn is to launch the cn.. ir~t~onc server38 and viewer server 20 ~step 308). After the ex--cllt~hles for the cO~ U licatiorls
server 38 and viewer server 20 have been launched, the comm~ni~tionS server 38 iS
logged into as a client and the viewer server 20 is logged into as a server such that
10 each knows about the user int~ e alert panel 50.
Then, buttons are created in the user interface alert panel 50 for messages
m~rkecl as not read (step 310). For example, some records in the message ~l~t~h~se
51 are not read bec~use the user closed the user interface alert panel 50 beforereading them. In accordance with the present invention, buttons are created on the
15 user hl~lr~ce alert panel 50 for those m~s~es
Finally, the c.~.. ~.ic~tionS server 38 iS queried for valid service plans which
include but are not limited to E-mail, premier services and power up services (step
312).
(il) Process EMIT m~ss~es
FIG. 22 is a flow chart of the algc~,lhlll for impl~nn~nting process EMIT
m~s~ges procedure for the user ;nt~-rf~re alert panel 50. A message or feed fromthe c.J-..r.ln..ications server 38 via the winsock port is initially applied to the user
interface alert panel 50. In step 1, the user int~rf~ce alert panel 50 ~ es whatfeed type is present, i.e. whether the message is a binary, star or EMIT type feed.
. 25 A typical binary type feed is an E-mail message. The binary feed is, as
cllsse~l in detail below, decolll~lc~ed into a common EMIT feed and processed asa normal feed.
A typical EMIT type feed involves common user inform~ti~ n such as
messages for football, scoreboard viewers, horoscope, lottery etc.
A typical star type feed involves a registry value change which creates or
u~d~les the ~plo~l;ate registry key~s). In many cases, a star feed involves a visual

SUBSTITUTE SHEET (RULE 26)

CA 02243555 1998-07-20

WO 97127546 PCT/US97/01165

-39-
change to one of the viewers 48. For exarnple, a star feed will create/write registry
values to reflect a change in adverti~ernent on a particular viewer 48(step 2). Star
feeds are thus special feeds in that they can change register keys which point to
bitmap files, source names, URL sources and so forth. In particular, referring to
5 FIG. 23, star feeds are received by the co~ ications server 38 and passed to the
user interface alert panel 50 for procçc~inp The l~ values llp-l~te~l by starfeeds are read by other colllpollenls and the cll~ng~s programmed by the star feeds
are then put into effect. In operation, the user int~rf~e alert panel 50 first
c~le .,.;l~fS if a message is a star feed by ch~ in~ the message tag to fletermine if it
10 conL~ s the star feed indicator, preferably "*=". It then parses the star feed
extracting the component code and the registry key values to be llp-l~te-l The
updated key values are then written to the registry 49 where they are ~cce~ell by
other components, such as the remote control 54 and the viewers 48. The basic
~llu~ e of a star feed message is shown as follows:
FEED TAG~V=COMPONENT_CODE~P=REGISTRY_KEY_VALUES
where
FEED_TAG = the message tag code ("*----" for star feeds)
COMPONENT_CODE = a two letter code in~lie~ting to which
c~ ullelll the star feed applies (e.g., BB
for baseball viewer, RC for remote
control, etc.)

REGISTRY_KEY_VALUES= one or more sequences of the following
par~meter.~ for the specified component:
registry key, full file path name ~ag (0 or
1) if the key value cont~in~ a file name,
and the registry key value.
In a typical example, bitmaps for the Internet baseball score button are changed as
well as the URL for the source:
*~V----BB~P=Adl ;0;shared\bmps\SprtNet.bmp'TVB;0;s
hared\bmps\SprtNetU.bmp'Adb;0;shared\bmps\SprtNet.b

s~JDa 1 l l ~ITE SHEE~ tRULE 26)

CA 02243555 l998-07-20

WO 97127~i46 PCT/IJS97/01165

-40-
mp'ADB;O;shared\bmps\SprtNetU.bmp,Adl U;2,http://w
ww.sportsnetwork.com:80
In tne example, new bitmap files SprtNetU.bmp, SprtNet.bmp and new URL
http:f/www.sportsnetwork.com are added to the registry settings for the R~ceb~ll5 viewer. Where a new bitmap or other file name is specified in a star feed, the new
file will have been previously received from the wireless broadcast 11GlWU1k by the
cnmmtmications server 38 via the binary file l~ rc. capability. This process is
transparent to the user.
If in step 1, it is ~It;L~ ,il.ec~ that the feed is a binary type feed, the binary
10 feed is converted to a common EMIT string format (step 3). When the message is in
the EMrT string format, a record is added to the message ~~t~h~e by first
Ill;llit~pi the ~1~ÇGlled viewer for the feed (step 4) and then by parsing out the
}~MIT string to common viewer fields (step 6).
In particular, to dGI~,.lllille the p~eL..~d viewer for the feed (step 4), a filter
15 field from the SYSAPPS table is colll~ cd to the EMIT string (step 5). In a typical
configuration, appr~ xim~tely thirty viewers 48 are available and the user int~rf~r.e
alert panel 50 ~let~ PS which viewer 48 will be able to read the information. The
d viewer is the actual icon which will fly up to the user intprf~ce alert panel
50. To obtain a viewer alias match, the user interface alert panel 50 obtains the
20 nPcec~,y information by looking at the systems applications (SYSAPPS) table or
~l~t~b~ce By co..,~ a filter field from the SYSAPPS ~1~tAh~e to the EMIT
string, the user interface alert panel 50 ~ete~mint~s which viewer 48 is the ~ ,d
v~ewer and which viewer 48 should fly up to the user interface alert panel 50. For
example, for a football related message, the filter fields from the SYSAPPS ~i~t~h~e
25 would be reviewed against the football related message to determine the viewer alias
match.
In accordance with the present invention, level tags further define the EMIT
mç~ge so when the comparison is exçclltç~l in SYSAPPS table, it can be
determined which feed is for which viewer (level tag 1-5). A typical sample
30 ~cr~LL~d filtPring string is as follows:


SU~ 111 LJTE SHEET (RULE 26)

CA 02243555 1998-07-20
WO 97127546 PCT/US97/01165

-41 -
l=N,2=N,N=*,R!=*, l=N,2=N,h=*,R!=*

Under the sample p~cr~,llcd filtering string, the level tags are l=N, 2=N. By
COlll~illg l=N, 2=N against the sample EMIT feed, it knows that this is a news
marquee feed.
After a viewer alias match is achieved, a "Q~' time flag or time flag reflectingthe local time at which the message arrived at a user is created (step 6). The EMIT
string is then parsed into common viewer fields and written to a message ~i~t~bzlee 51
(step 8~. The common fields include but are not limited to level tags, data and time,
titles, source and content.
In the VGROUPS, there is a description for each viewer--a text typed out in a
particular field. If you put the mouse over one of the buttons on the alert panel, on
the bottom, it will say what this is. That description is pulled from VGROUPS (step
8~.
After the EMIT feed is recorded to the message rl~t~h~e 51 (step 8), the
I5 message is broadcast to the ~,.fe.,ed viewer via the viewer server (steps 9-14).
Initially, it is ~1et~ ~ ...;Iu?.rl whether the viewer is running (step 9). If the viewer is
running, e.g. football viewer is already running, the message is sent dilectly to the
viewer server ~step 10).
If the viewer is not lulJl~illg~ it is ~letprminpd whether the viewer should be
20 auto l~l-n~.h.o~ (step 11). If auto-launch has been turned on for this viewer, then the
viewer with message playback is l~llnrll~d For example, for a football type feed,
the viewer ~cr~ .ces are reviewed and if the user is setup for automatic launch of
football, the football viewer with message playback is l~nnrhPtl (step 12).
If the ~cr~ d viewer is not running, the fly-in sequence c- mpri~in~ a)
Z5 creating a fly-in animation object, b) playing a viewer specific wave file, c)
~nim~ting a button on the user intlorf~re alert panel 50, and d) placing a static button
on the user int~rf~ce alert panel 50, is initi~tecl (step 13). In particular, a fly-in
~nim~tion object is initially created. The fly-in ~nim~tion object is an actual icon
shown flying in from the opposite edge to the user interface alert panel 50. In
30 accordance with an advantage of the present invention, fly-ins alert the user that new

SlJ~ 111 ~ITE SHEET (RULE 26)

CA 02243555 l998-07-20
WO 97127~546 PCT/US97/01165

-42-
data is available for viewing. Fly-ins are small windows displaying ~nimz~tecl
graphics ~ s~ lg a particular message type, e.g. E-mail, which moves from the
bottom right part of the user display screen to the user int~ re alert panel 50
whenever a new message of that particular type is received. If the user interface alert
S panel 50 is in a flo:~tin~ state, then the fly-in animation objects flies in from a
random edge. At the same time the fly-in occurs, a viewer specific sound wave file
is initi~tec~ A button is then ~nim~t~cl on the user interface alert panel 50. Finally, a
static button which the user can press to launch the viewer is placed on the user
interface alert panel 50 (step 13) and when dc},l~ ed (step 14), will launch a viewer
10 with message playback (step 12). For example, for a football feed, a fly-in
~nim~ion obJect in the form of a football lands on top of the user interf~r~e alert
panel 50, a l~cl will play followed by a button ~nim~t~cl on the alert panel 50,which typically spins around and finally a static button appears on the alert panel 50.
Fly-in graphic and default sound effects reflect message type. For example, for a
l S golf feed, a golf tollrn~mPnt fly-in includes an image of a golf ball and the sound of
a golf ball falling into a cup.
When the static button on the user interface alert panel is pressed (step 13),
the viewer with message piayback option is l~lml~heA (step 12). The message is sent
to the viewer server 20 which is the actual application which physically l~llnrhçe the
2{) viewer 48.
(iii) Timely events
The user int~rf~re alert panel will periodically and autom~ti~lly ~ r~ . the
following functions: (I) check messages that require a mark for deletion, (2) check
for va~id service plans, (3) check for delayed bro~lc~ete, and (4) implement fly-in
2~ graphics for new m~ee~gçs, each of which is described in detail below.
(1) Check messages that require a mark for (letectit)n.
Each viewer has an entry in the SYSAPPS table that specifies the lifetime of
the meqs~g~e A comparison is made to the message rl~t~b~ee and if a record needsto be marked for deletion, an "X" is placed in the MSG_READ field. In a ~L~Ç~il..,d
30 embodiment, this function is ~ ro..lled every 24 hours. The user in~r~e alertpanel ~0 will decide, based on the information in the SYSAPPS table, how long a

SUBSTITUTE SHEET ~RU~E 2O)

.. .. ..

CA 02243555 1998-07-20
WO 97127546 PCT/US97/01165

-43-
message should be kept for a particular viewer 48. For example, for a football
viewer, if it is only desirable to see messages 2 days old, the user intrrf~re alert
panel 50 will check against that field and when 2 days has l~ a~iled~ proceed tomark those records for deletion.
(2) Check for valid service plans
The user interface alert panel 50 will also periodically check for valid serviceplans. Service plans typically dictate what kinds of feeds are available to a user. All
valid plans are recorded in the registry so that other modules can read the
hlr~.lllation. The service plan (~h.or~ing pLefc.dbly occurs at initi~li7~tion and every
5 ~ th~.edrLel. The user is also prompted with "plan expiration remin-lers."
(33 Check for delayed bro:~-lc~tc
The user interface panel 50 also checks for delayed bro~dc~ts which allow
m~cc~çc to be submitted for future bro~lr,~t If a date and time has arrived for a
delayed message, the MSG_READ field will be changed from "B" to "N" and a
I~ bu~ n -wïll be placed on the user int~. e ale~. pa,lel 50. Delayed b;Ondc~ctc ale
al~ly çh~cL~Prl every five mim1tes. The user interface panel 50 thus checks
every 5 minllt~s for special records that need to be shown to the user and then will
change a particular field in the message ~l~t~h~e- the "B" to "N" so that next time it
will not rebroadcast the sarne message again.
(4) Tmpl~mt?nt fly-in graphics means for new messages
The user intt-rf~ce alert panel 50 p~lru~ s fly-in graphics for new mPs~s
leceived from the communications server 38 if this option has been selected by the
user.
e. Viewer Server
Referring to FIG. 10, the viewer server 20 provides the means by which other
components can initiate the execution of viewers 48 to display m~ ges received
from the broadcast network. This includes I~Tlnrhing a particular viewer 48 uponcomm~n-1, parsing messages, and providing data extracted from the messages to the
~ viewers 48 for display. The viewer server 20 also acts as the interface between the
viewers 48 and the messages data base 51. Functionality of the viewer server 20 is
~rce~eCl through the Viewer Server Applications Pro~ g Interface (VSAPI).

SUBSTITUTE SHEET (RULE 2E;)

CA 02243555 1998-07-20
WO 97/27546 PCTtUS97/01165

-44-
The viewer server 20 serves the global control pl~,r~rences across all viewers
and allows comrnon controls to be shared by viewers requiring similar filnrtio~. In
accordance with the present invention, three .liLr~ t classes of user interface are
present. One class, the viewer class, views a particular type of illr~ nl;on~ such as
5 baseball or electronic mail. A second class, the viewer controller, is able to start and
stop the other class, the viewers class. For exarnple, in operation, the viewer
controller resembles a remote control and enables a user to turn the viewers on and
off. By ~tili7ing the remote control, a user can thus automatically bring up a
baseball viewer and b~ceb:~ll inforrnation will be autom~ti~-~lly displayed in that
10 viewer. For illL~LLdliv~ purposes, FIGS. 24(a),(b),(c) and (d) are depictions of a
market scoreboard viewer, a football viewer, a n~;w~ ,. viewer and stock ticker
viewer, respectively.
In particular, in accordance with the feed format of the present invention,
information is broken into logical il~u~ alion categories at the central broadcast
15 server 34 end which m~trh~s viewers 48 which exist on the user end. The viewer
server 20 ties into the viewers 48 so that an actual feed, such as an electronic mail
notification feed, b~ceb~ll sports feed or hPa-lline feed, is established. In accold~lce
with the present invention, the data at the server end is cl~ifie-l into various formats
to be able to indicate what type of a feed is present. This is accomplished by
20 placing tags in front of various words that break it up into a type of information,
such as a h~ lline story, electronic mail story, financial story, and the like. This is
the basis of the EMIT forrnat which was described previously.
When this data arrives on the user side, the viewer server 20 reads the
message including the codes and ~let~rrnin~s what type of message is being sent.25 Thus a viewer that is capable of displaying baseball information only receives
baseball il~o~ lion.
In accordance with an ~ItPrn~tive embodiment of the invention, another
viewer controller which enables both incoming inforrnation as well as past
information to be viewed can be ~tili7.~-rl Thus, for example, a user can bring up a
30 baseball game that occurred earlier in the day. ~n operation, the viewer controller


SIJBSTITUTE SHEET (RULE 26)

CA 02243~ 1998-07-20

WO 97127546 PCT/US97/01165

-45 -
talks to the viewer server 20 and in~ tes that it wants to bring up a particularviewer. The viewer server 20 then activates and l~lln~h~s that particular viewer.
Preference viewers enab}e each of the viewers in a common user interface to
show any ~ler~,~e.~ce information it has. The ~l~r~,lGl~ces viewers caIl be
S prograrnmed to provide various kinds of information. For example, the ~lcr~ lces
viewer can be directed to inr.,ll--~lion relating to baseball teams. Another
ylefel~llces viewer can be directed to stock market information. The preferencesviewer can be further pro~ lllcd to provide indication of events which are
cuL-c--lly happening. For example, if the price of a stock, such as IBM, goes above
a certain amount, such as $100.00 per share, a stock market crawl viewer will come
up to the foreground imrnediately and flash a red light.
f. Remote Control
The remote control 54, as shown in ~IG. 7, provides a user interface for
opening, closing and controlling viewers (viewer m~n~Çment), for ,~ ce of
user sellill~s and plerelellces, and for viewing the latest broadcast network news. It
also mslint~in~ a message history log which allows the user to view previously
received m~ss~s Viewer control functions include mute, pause and volume level
control for the viewer audio device. The remote control 54 is lz~llnr.h~l through the
user interface alert panel 50.
g. Viewers
Viewers 18, opened through the user intc~r~ce alert panel 50 or rernote
control 54, are the means by which data received from the broadcast network is
displayed to the user. There are separate viewers for each of the different types of
inforrnation provided over the network. Viewers 48 are capable of reading and
displaying various message formats and contain ~,~,r~ ces governing viewer
actions. Viewers generally include, but are not limitetl, to graphics, data, sound
files, and launch icons.
When each of the viewers 48 is installed, it goes through a registration
- process with the viewer server 20 and the viewer server 20 stores entries in the
~ e that keep track of each of the viewers by way of the viewer table. A
filtering means is provided for each viewer for filtering particular types of messages

S~Jt~ t 11 ~JTE SHEET (RULE 26)

CA 02243~ 1998-07-20

WO g7127S46 PCT/US97/01165

-46-
a viewer can look at. For example, a baseball viewer who wants to look at messages
relating to baseball inforrnation has two filtering means-one for saving information in
a .!~t~h~c and another filter for indicating that this is the type of information that
should immediately be brought up to the viewer. Thus, if a viewer is interested in
5 Dodger baseball games, such garnes would instantly be brought up by the secondfilter. Moreover, if a viewer desires to save all of the games in the n~tinn~1 league,
the filter for saving such information would be implçm~n~d
h. User Preferences Dynamic Link Librarv (DLL)
The User Preferences Dynamic Link Library (DLL) 53 allows the user to
lO precisely specify what information is to be displayed by the Viewers 48 and how this
information will be displayed and enters various related information, such as, the
narne of the user's Internet browser and activation codes for activating service plans.
For example, the user can select the teams for which baseball or football scores will
be shown, the sources of news stories, and the speed at which text is scrolled in
lS Marquee type viewers. The User P~ nces DLL 53 is accessed via the remote
contro~ 54 or through any open viewer 48.
i. Address Repro~l,.. ,.;.. p and Activation Code Parsin~ DLL
The address reprogr~mming and activation code parsing DLL 57 parses and
validates service plan activation codes received over the wireless broadcast network
or entered by the user and address reprogr~rnming messages received over the
network. Activation codes and address reprogr~rnming messages control what
broadcast network messages the user is allowed to receive. The code parsing DLL is
used by the communications server 38, remote control 54 and user ~l~,r~ nces DLL53.
j. Error Loggin~
Error Logging 55 provides a means by which all other co~ o~ can record
the occurrence of errors or potential problem conditions in a log file. The error log
can be a valuable aid to t~cllni~1 support in diagnosing problems a user may
encounter in running software. The log file is preferably in ASCII text format and
~0 can be viewed by any word processor or text editor, such as, Microsoft Word or
Notepad.

Sl,~ 111 ~)TE S~EE~ (RULE 26)

CA 02243~ 1998-07-20

WO 97/27546 PCT/US97/01165

-47-
k. Operation of Received Messa~e Data Flow
In operation, when a new message is received from the broadcast network,
the communications server 38 receives a new data block from the wireless device 42
- via the driver 44 and wireless interface 46. Depending on the data block type, the
communications server 38 either processes it locally or passes it to the user interface
alert panel 50. The user interface alert panel 50 receives a data block from thecommunications server 38, stores it in the messages data base 51, displays an icon
for the particular message type and generates a fly-in or other means for notification
such as an audio and/or visual alert for the new message if that option is selected by
l 0 the user. If the user clicks on the icon for the new message, the user interface alert
panel 50 sends a command to the viewer server 20 to open the applopliate viewer 48
to display the contents of the message. ~It~rn~tively, a viewer 48 to display the new
message can be l~llnched through the remote control 54. Upon receiving the
Cl~ to open a viewer 48, the viewer server 20 parses the message, l~llnchtos theviewer 48 and passes to it the data to be displayed. The viewer 48 displays the
message data received from the viewer server 20 and comm~n-l~ the viewer server 20
to mark the message as "read" in the data base. At any step in the process, if an
error condition is detected, it is recorded in the error log 55.
l. E-mail Alerts
FIG. 13 is a flow chart of an algorithm for generating and processing E-mail
alerts in accordance with the present invention. In accordance with the present
invention, a user may be instantly notified of E-mail messages without being
connected to an E-mail service provider. Referring to FIG. 13, when a user receives
an E-mail message (step 240), the user's provider sends an E-mail notification to
central broadcast server (step 244). Upon receiving this notification, the central
broadcast server transmits an E-mail alert message to the user's computer through the
broadcast network (step 246~. When the alert message is received by the softwareapplication in the user's computer, an ~nim~ted visual and/or audio notification is
triggered, or the e-mail viewer automatically pops up, depending on the mode of
operation selected by the user (step 248). In the first case, an E-mail alert icon
appears on the alert panel and the E-mail viewer can be lau ~ched in the same

SUBSTITUTE SHEET (RULE 26)

CA 02243~ 1998-07-20

WO 97127546 PCT/US97/0116S

-48-
manner as viewers for news alerts (i.e. by clicking the icon or through the remote
control). An E-mail alert contains the provider ID code number and the "From"
name (E-mail address of the sender). One skilled in the art will recognize that the
alert is not limited to the provider ID code number and name. Rather, the E-mail5 alert could include a header, whole message etc. The E-mail viewer displays an icon
corresponding to the provider ID, the date and time the alert was received, and the
sender's E-mail address. To read an E-mail message, the user simply clicks the
associated icon (step 250) which causes the E-mail program for the particular
provider to be launched (step 252). The user's E-mail can then be retrieved through
10 a wired connection to the E-mail provider (step 254). One skilled in the art will
recognize that E-mail alerts may be received from more than one source. For
exarnple, a user may receive an E-mail alert from an Internet E-mail provider and
America On-Eine or CompuServe.
User Wireless On-Line Guide
In accordance with the present invention, a wirelessly tr~n~milted on-line
guide provides a detailed schedule of when certain information, such as upcomingevents, forums and chat sessions, will be transmitted. With ongoing wireless
bro~-lc~e, the information in the on-line guide is m~int~inP~l up-to-date. In
particular, the on-line guide can notify a user just before an event is about to happen
on the Internet, therefore eli~ g the need to m~nl-~lly keep track of upcoming
events. The user indicates which events are important, and the on-line guide reminds
the user via an alarm including a visual and sound alert of the events at a
pre-letermined time, such as minlltes~ before each occurs. The user can then click on
the event and a connection to the event's location on the Internet is made through the
user's standard Internet browser and Internet service provider. Alternatively, a user
can specify that a connection to the event location via the user's Internet browser and
Internet service provider be made automatically when the selected event is about to
occur.
URL Broadcast and Hot Links
Referring to FIG. 1, the URL broadcast and hot links 22 back to the
inforrnation source 12 is shown. In accordance with the present invention, very short

S~ JTE SHEET (RULE 26)

CA 02243~ 1998-07-20

WO 97J27546 PCT~US97/01165

-49-
notification centric messages such as news he~lines from information sources 12,such as Internet, on-line services and other information providers, are tr~n~mitte~ to
the computer 14 by wireless tr~ncmiccion. A user, from a computer 14, can make awired connection 24 back to the information source 12 to obtain more detailed
S inforrnation. In accordance with the present invention, ~ rhefl to each of thenotification centric messages is a universal resource locator (URL) code 22 as well as
related Internet address information. This allows the user, by clicking on an icon
that is embedded in the message, to make a wired or wireless connection 24, either
through a modem, TC/IP or LAN-type cormection, and automatically establish a link
10 back to the information source 12. The user can thus go directly to the specific site
that the inforrnation carne from. In a typical example, the specific site can be ten
pages deep. Thus, in accordance with an advantage of the present invention,
information sources 12 such as the Internet and other on-line services, which are
typical~y overwhelming particularly with respect to locating a story, are easily15 ~cces~ihle. The present invention allows a user to pinpoint and locate the specific
information the user was alerted to. The user can thus hit one button which
establishes the connection 24 and takes the user directly to the location where the
~nformation is located.
FI&. 11 is a flow chart of an al~,ol;lhlll for extracting and processing the
20 Internet source URL for messages broadcast over the wireless collllllullication
network illustrated in FIG. 1. In accordance with the present invention, the Internet
source for a news item alert is broadcast as part of the alert message itself (step 260).
The message contains a number of tags delin~:ltinp the various parts of the message.
In the plcrt;lled embodiment, tags "S=" and "U=" identify the Internet source where
25 detailed information about the news alert may be found. For those messages which
always originate from the same list of default sources, the '~S" tag only applies (step
- 264). Following the "S=" tag is a letter code corresponding to the Internet URL.
For example, the letter code for an alert from the Reuters News Service is "R". The
actual U~L, http://www.reuters.com, is obtained by using the letter code as an index
30 into the alert source database of the present invention (step 266). URL's in the alert
source ~ b~e may be updated by Star Feed messages in case changes in the default

Sl~ ITE SHEET (RULE 26~

CA 02243~ 1998-07-20
WO 97/27546 PCT/US97/01165

-50-
URL's are necessary (step 26$). For messages whose sources are not limited to a
default set, the "U" tag conveys the Internet source (step 272). Following the "U="
tag is the actual URL source of the message (e.g. U=http://www.universalnews.com).
Wireless throughput is conserved by kansmitting the full URL only in those casesS where the source is not restricted to being a member of a fixed set. The source URL
is displayed at the end of the alert message text (step 270). A user with a wired or
wire}ess connection to the Internet can go directly to the alert source simply by
clicking the UR~ (step 270). A connection to the alert source on the Internet is thus
provided.
10 Over the Air Proy"l."lni..~
Services received and various operational characteristics at the user end can
be programmed by the central broadcast server 34 through the wireless broadcast
network. This is accomplished primarily through Star Feeds and service
activationldeactivation codes. Star Feeds, which have been described in detail above,
15 are special messages which allow parameters controlling viewer operation to be
modified from the central broadcast server 34. Activation/deactivation codes
c~ete .,~ which services a user is allowed to receive. For example, if a user
su~scribes to e-mail alerts, this service can be turned on for that specific user through
an e-mail alert activation code message ll~t~ n~ d to the user site via the wireless
20 broadcast network. Conversely, if a user stops subscribing to a service, that service
can be turned off through a deactivation code message. Additionally, the capability
exists for binary file transfer from the central broadcast server 34 to add new
executable files or replace existing ones with newer versions. In this way, new or
llp~ tPc~ viewers can be inct~ i directly through the wireless broadcast network.
2~ Billin~ and Activation Server
Referring to FIG. 1, users may remotely request additional services or modify
e~Xi~ting services from the personal conl~u~.,. 14 or other computing device through a
billing and activation server 64 which co~ micates with the central broadcast
server 34. By telephone or modem co~ ullication, a user can contact the billing
30 and activation server 64 which in turn communicates with the central broadcast
server 34. Once such a request has been processed by the central broadcast server


SlJts~ 131 lJTE S~EET (RULE 26)

= ~

CA 02243~ 1998-07-20

WO 97127546 PCT/US97/O1165

-51-
34, the server 34 wirelessly transmits an activation code directly to the message
server 18 to activate additional or modify existing services. By m~trhin~ the serial
number contained in the broadcast message with the users serial number, the user~ software will program a receiver board in the user receiver 32 to begin receiving
5 additional or modified services. Thus according to an advantage of the presentinvention, users can remotely adjust services from their personal CO"l~u~ S 14 or
other c~ ulh~g devices.
Simultaneous Wired Tr~n~mission
In accordance with an alternate embodiment of the invention, the information
10 provided from the information sources 12 and transmitted to the central broadcast-
server 34 to be consolidated in accordance with the present invention and then
transmitted wirelessly nationwide to personal computers 14 and other computing
devices as described in detail above can also be sent simultaneously via a wiredconnection to the sarne personal computers 14 and computing devices having
15 InternetlWorld Wide Web access (direct or via on-line service providing Internet and
World Wide Web access). In particular, the data processed at the central broadcast
server 34, in addition to being tr~n~mitte~l wirelessly, is simultaneously placed on
Web pages on the Internet. A user can thus connect to the Web via the Internet. In
operation, to access data sent by tne central broadcast server 34, a user makes a
20 connection via the Internet to the World Wide Web server and delivers its URLrequest. The request is acknowledged by the Web server, which then sends the
requested data to the user. Thus, a user can receive real time data/information in the
form of voice, video data or a combination thereof by ~cce~ing the World Wide
Web.
~5 It will be ~ cciated by persons skilled in the art that the present invention is
not limited to what has been shown and described hereinabove, nor the ~iimen~ions
of sizes o~ the physical implement~tion described immediately above.




SUBSTlTUTE S~IEEl' (RULE 26)

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date Unavailable
(86) PCT Filing Date 1997-01-24
(87) PCT Publication Date 1997-07-31
(85) National Entry 1998-07-20
Dead Application 2003-01-24

Abandonment History

Abandonment Date Reason Reinstatement Date
2002-01-24 FAILURE TO REQUEST EXAMINATION
2002-01-24 FAILURE TO PAY APPLICATION MAINTENANCE FEE

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Registration of a document - section 124 $100.00 1998-07-20
Application Fee $300.00 1998-07-20
Maintenance Fee - Application - New Act 2 1999-01-25 $100.00 1998-07-20
Registration of a document - section 124 $100.00 1998-12-18
Maintenance Fee - Application - New Act 3 2000-01-24 $100.00 2000-01-18
Maintenance Fee - Application - New Act 4 2001-01-24 $100.00 2001-01-24
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
AIR MEDIA, INC.
Past Owners on Record
EX MACHINA, INC.
KATZ, JASON
ODELL, JEFFREY
PAYNE, JOHN M.
STARR, DAVID
VON KAENEL, TIM
WANG, JEFFREY
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Claims 1998-07-20 14 547
Abstract 1998-07-20 1 72
Representative Drawing 1998-10-27 1 8
Description 1998-07-20 51 2,807
Drawings 1998-07-20 30 911
Cover Page 1998-10-27 1 60
Assignment 1998-12-18 16 533
Correspondence 1998-09-29 1 29
PCT 1998-07-20 9 306
Assignment 1998-07-20 4 138
Prosecution-Amendment 2000-05-17 13 440
Assignment 2001-01-25 4 200
Correspondence 2001-03-05 1 14
Fees 2000-01-18 1 37
Fees 2001-01-24 1 36