CA2243555A1 - System and method for transmission of data - Google Patents

System and method for transmission of data Download PDF

Info

Publication number
CA2243555A1
CA2243555A1 CA002243555A CA2243555A CA2243555A1 CA 2243555 A1 CA2243555 A1 CA 2243555A1 CA 002243555 A CA002243555 A CA 002243555A CA 2243555 A CA2243555 A CA 2243555A CA 2243555 A1 CA2243555 A1 CA 2243555A1
Authority
CA
Canada
Prior art keywords
data
user
preprocessed data
information
preprocessed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002243555A
Other languages
French (fr)
Inventor
John M. Payne
Tim Von Kaenel
Jeffrey Wang
Jeffrey Odell
Jason Katz
David Starr
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AIR MEDIA Inc
Original Assignee
Ex Machina, Inc.
John M. Payne
Tim Von Kaenel
Jeffrey Wang
Jeffrey Odell
Jason Katz
David Starr
Air Media, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ex Machina, Inc., John M. Payne, Tim Von Kaenel, Jeffrey Wang, Jeffrey Odell, Jason Katz, David Starr, Air Media, Inc. filed Critical Ex Machina, Inc.
Publication of CA2243555A1 publication Critical patent/CA2243555A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1895Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for short real-time information, e.g. alarms, notifications, alerts, updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5691Access to open networks; Ingress point selection, e.g. ISP selection
    • H04L12/5692Selection among different networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/224Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/48Message addressing, e.g. address format or anonymous messages, aliases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata

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.

Description

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) 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 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~

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) ,~

~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) 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~

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) 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 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 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) 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) 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~

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) 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

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) 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 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) 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) WO 97/27~;46 PCT/US97/01165 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~

= = = =

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) 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) 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 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 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 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) 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) 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~

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) WO 97127546 PCT~US97/01165 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 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~

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) 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 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~

WO 97127546 PCT~US97/01165 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 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~

WO 97f27546 PCT/US97/01165 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 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) 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 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) 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 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) .. .. ..

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;) WO 97/27546 PCTtUS97/01165 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 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 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 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 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 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 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 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)

Claims (81)

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.
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 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.
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 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;

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.
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.
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.
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.
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.
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.
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 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.
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.
CA002243555A 1996-01-26 1997-01-24 System and method for transmission of data Abandoned CA2243555A1 (en)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US1065196P 1996-01-26 1996-01-26
US60/010,651 1996-01-26
US1434196P 1996-03-29 1996-03-29
US60/014,341 1996-03-29
US1473596P 1996-04-01 1996-04-01
US60/014,735 1996-04-01
US2647196P 1996-09-23 1996-09-23
US60/026,471 1996-09-23

Publications (1)

Publication Number Publication Date
CA2243555A1 true CA2243555A1 (en) 1997-07-31

Family

ID=27486029

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002243555A Abandoned CA2243555A1 (en) 1996-01-26 1997-01-24 System and method for transmission of data

Country Status (5)

Country Link
EP (1) EP0886826A1 (en)
CN (1) CN1217800A (en)
AU (1) AU1754397A (en)
CA (1) CA2243555A1 (en)
WO (1) WO1997027546A1 (en)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5905865A (en) 1995-10-30 1999-05-18 Web Pager, Inc. Apparatus and method of automatically accessing on-line services in response to broadcast of on-line addresses
US6742022B1 (en) 1995-12-11 2004-05-25 Openwave Systems Inc. Centralized service management system for two-way interactive communication devices in data networks
US5809415A (en) 1995-12-11 1998-09-15 Unwired Planet, Inc. Method and architecture for an interactive two-way data communication network
US6473609B1 (en) 1995-12-11 2002-10-29 Openwave Systems Inc. Method and architecture for interactive two-way communication devices to interact with a network
US6466783B2 (en) 1995-12-11 2002-10-15 Openwave Systems Inc. Visual interface to mobile subscriber account services
US5761606A (en) 1996-02-08 1998-06-02 Wolzien; Thomas R. Media online services access via address embedded in video or audio program
US20020038383A1 (en) 1999-12-23 2002-03-28 Craig Ullman Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments
US6513069B1 (en) 1996-03-08 2003-01-28 Actv, Inc. Enhanced video programming system and method for providing a distributed community network
US5774664A (en) * 1996-03-08 1998-06-30 Actv, Inc. Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments
US6018768A (en) * 1996-03-08 2000-01-25 Actv, Inc. Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments
EP0899950B1 (en) * 1996-05-16 2005-11-23 Kabushiki Kaisha Infocity Method for transmitting and displaying additional information and device for displaying information using an icon
IL121427A0 (en) 1997-07-30 1998-01-04 S H F Computers Software Servi System and method for off-line notifying a network user
US6219696B1 (en) * 1997-08-01 2001-04-17 Siemens Corporate Research, Inc. System for providing targeted internet information to mobile agents
US6385647B1 (en) 1997-08-18 2002-05-07 Mci Communications Corporations System for selectively routing data via either a network that supports Internet protocol or via satellite transmission network based on size of the data
EP0901284A3 (en) * 1997-09-05 1999-05-19 AT&T Corp. Internet linkage with broadcast TV
US6636733B1 (en) 1997-09-19 2003-10-21 Thompson Trust Wireless messaging method
DE59705288D1 (en) * 1997-10-31 2001-12-13 Sohard Ag Bern Procedure for the creation of transmission plans for multimedia data
EP1036459B1 (en) * 1997-11-24 2003-06-18 Irdeto Access B.V. System for processing broadcasted signals
US6535855B1 (en) * 1997-12-09 2003-03-18 The Chase Manhattan Bank Push banking system and method
DE19755742A1 (en) * 1997-12-16 1999-06-17 Thomson Brandt Gmbh Signaling incoming electronic message for certain addressee in on-line service
FI974662A0 (en) * 1997-12-31 1997-12-31 Finland Telecom Oy Web telefon
US6138158A (en) * 1998-04-30 2000-10-24 Phone.Com, Inc. Method and system for pushing and pulling data using wideband and narrowband transport systems
CA2270621A1 (en) * 1998-06-10 1999-12-10 Lucent Technologies, Inc. System and method for broadcasting computer network data
WO1999066747A2 (en) * 1998-06-15 1999-12-23 Telefonaktiebolaget Lm Ericsson (Publ) Headline hyperlink broadcast service and system
SE523335C2 (en) 1998-07-03 2004-04-13 Sendit Ab Method and apparatus for accessing and retrieving information
JP3142820B2 (en) 1998-08-27 2001-03-07 株式会社エヌ・ティ・ティ・ドコモ Push type information distribution method and its relay device
JP3142821B2 (en) * 1998-08-27 2001-03-07 株式会社エヌ・ティ・ティ・ドコモ Information communication network billing method
EP0993145A1 (en) * 1998-10-08 2000-04-12 International Business Machines Corporation System for broadcasting alarm messages to selected users of an IP network
US7136919B1 (en) 1998-10-08 2006-11-14 International Business Machines Corporation Method and system for broadcasting alarm messages to selected users of an IP network
US8266266B2 (en) 1998-12-08 2012-09-11 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
US6282713B1 (en) * 1998-12-21 2001-08-28 Sony Corporation Method and apparatus for providing on-demand electronic advertising
JP2000207326A (en) * 1999-01-08 2000-07-28 Matsushita Electric Ind Co Ltd Mobile agent method
US6601104B1 (en) 1999-03-11 2003-07-29 Realtime Data Llc System and methods for accelerated data storage and retrieval
EP1037425A3 (en) * 1999-03-16 2002-09-04 TRW Inc. Apparatus and method for integrating error control and authentication for satellite uplinks
FI118947B (en) 1999-06-11 2008-05-15 Elisa Oyj A method for transmitting an information packet to a mobile communication interface
US7120871B1 (en) * 1999-09-15 2006-10-10 Actv, Inc. Enhanced video programming system and method utilizing a web page staging area
US7949722B1 (en) 1999-09-29 2011-05-24 Actv Inc. Enhanced video programming system and method utilizing user-profile information
US6950881B1 (en) 1999-11-02 2005-09-27 Mshift, Inc. System for converting wireless communications for a mobile device
WO2001041477A1 (en) * 1999-12-03 2001-06-07 Arreo Communications Inc. Instant messenger system and instant message transfer method using phone number as instant messenger address
AU2001227882A1 (en) * 2000-01-20 2001-07-31 Digital:Convergence Corporation Method and apparatus for utilizing coded signals to conduct commerce over the internet
AU2001241739A1 (en) * 2000-02-25 2001-09-03 Mshift, Inc. System for automatic data retrieval on an internet protocol network
FR2805952B1 (en) * 2000-03-02 2002-07-26 Sagem DEVICE FOR DECODING A TELEVISION INFORMATION FLOW AND METHOD FOR TRANSMITTING DATA RELATING TO AN ELECTRONIC BOX
EP1137235A1 (en) 2000-03-24 2001-09-26 BRITISH TELECOMMUNICATIONS public limited company Processing network communication control messages
EP1139631A1 (en) * 2000-03-31 2001-10-04 BRITISH TELECOMMUNICATIONS public limited company Method of initiating a data transfer from a server to a client
IL135670A0 (en) 2000-04-16 2001-05-20 Netgong Ltd Telephone tuning and signaling system
SE0002798D0 (en) * 2000-07-31 2000-07-31 Teracom Ab Method and apparatus for communication
US6650890B1 (en) 2000-09-29 2003-11-18 Postini, Inc. Value-added electronic messaging services and transparent implementation thereof using intermediate server
US9143546B2 (en) 2000-10-03 2015-09-22 Realtime Data Llc System and method for data feed acceleration and encryption
US8692695B2 (en) 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
US7386046B2 (en) 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
FR2826532B1 (en) * 2001-06-20 2005-11-18 Herve Sainct CONNECTING TO A DIGITAL NETWORK OR THE ACCESS PROVIDER TAKES THE INITIATIVE TO CONNECT THE SUBSCRIBER UPON REQUEST FROM THIRD PARTIES; POSSIBLY ON AN INTERMEDIATE PAGE; ASSOCIATED CONTRACT
FI20012256A0 (en) * 2001-11-20 2001-11-20 Nokia Corp Mobile networks and digital broadcasting services
WO2003050641A2 (en) 2001-12-10 2003-06-19 Virtual Locality Ltd. Apparatus and method for optimized and secured reflection of network services to remote locations
AU2003215276B2 (en) 2002-02-19 2007-09-06 Google Llc E-mail management services
JP3371208B1 (en) * 2002-03-27 2003-01-27 株式会社ログ・モンスターズ Information distribution method, server and program
US7930716B2 (en) 2002-12-31 2011-04-19 Actv Inc. Techniques for reinsertion of local market advertising in digital video from a bypass source
US7603472B2 (en) 2003-02-19 2009-10-13 Google Inc. Zero-minute virus and spam detection
US7958187B2 (en) 2003-02-19 2011-06-07 Google Inc. Systems and methods for managing directory harvest attacks via electronic messages
US7647321B2 (en) 2004-04-26 2010-01-12 Google Inc. System and method for filtering electronic messages using business heuristics
US7668951B2 (en) 2004-05-25 2010-02-23 Google Inc. Electronic message source reputation information system
US7227475B1 (en) 2005-04-13 2007-06-05 Giorgio Provenzano Public transportation interactive geographical advertisement system having world wide web access
US20070091206A1 (en) * 2005-10-25 2007-04-26 Bloebaum L S Methods, systems and computer program products for accessing downloadable content associated with received broadcast content
US20070294721A1 (en) * 2006-06-20 2007-12-20 Sbc Knowledge Ventures, Lp System and method of providing supplemental video content related to targeted advertisements in a video stream
US8793303B2 (en) * 2006-06-29 2014-07-29 Microsoft Corporation Composition of local user interface with remotely generated user interface and media
US8160563B2 (en) 2006-06-30 2012-04-17 Qualcomm Incorporated Method and apparatus for controlling response to service notifications in a network environment
US20080109749A1 (en) * 2006-11-06 2008-05-08 Nokia Corporation Providing information while rendering content
CN103037078B (en) * 2012-12-06 2016-06-29 中兴通讯股份有限公司 The method and apparatus of the information processing at notice center
CN103023757B (en) * 2012-12-13 2016-12-21 北京奇虎科技有限公司 Message display device and methods of exhibiting

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5043721A (en) * 1989-12-18 1991-08-27 Hewlett-Packard Company Paging accessory for portable information/computing devices
ATE172347T1 (en) * 1991-02-25 1998-10-15 Motorola Inc OBJECT LOCATION SYSTEM
US5311570A (en) * 1991-05-10 1994-05-10 At&T Bell Laboratories Integration of wireless paging in a communication system
US5423086A (en) * 1992-10-19 1995-06-06 Motorola, Inc. Dual port memory communication for a radio frequency device and a personal computer
US5544320A (en) * 1993-01-08 1996-08-06 Konrad; Allan M. Remote information service access system based on a client-server-service model
CN1045358C (en) * 1993-07-06 1999-09-29 摩托罗拉公司 Virtual pager for general purpose data terminal
USH1641H (en) * 1993-11-30 1997-04-01 Gte Mobile Communications Service Corporation Connection of mobile devices to heterogenous networks
US5510778A (en) * 1994-04-01 1996-04-23 Krieter; Marcus A. Paging receiver system for receiving a paging communication signal
US5504476A (en) * 1994-07-28 1996-04-02 Motorola, Inc. Method and apparatus for generating alerts based upon content of messages received by a radio receiver
US5617565A (en) * 1994-11-29 1997-04-01 Hitachi America, Ltd. Broadcast interactive multimedia system
US5596318A (en) * 1995-01-12 1997-01-21 Microsoft Corporation Method for operating a two-way messaging system to extend battery life

Also Published As

Publication number Publication date
EP0886826A1 (en) 1998-12-30
CN1217800A (en) 1999-05-26
WO1997027546A1 (en) 1997-07-31
AU1754397A (en) 1997-08-20

Similar Documents

Publication Publication Date Title
CA2243555A1 (en) System and method for transmission of data
US9380106B2 (en) System and method for transmission of data
US6021433A (en) System and method for transmission of data
US6697942B1 (en) Method for remotely managing a remote device using an electronic mail message
US8818842B2 (en) Method and apparatus for defining, distributing and redeeming SMS and MMS coupons
US6909904B2 (en) System and protocol for extending functionality of wireless communication messaging
US7099659B1 (en) Method and system for management of messages
US7437416B2 (en) Electronic mail server apparatus
KR20100084631A (en) Multiple and multi-part message methods and systems for handling electronic message content for electronic communications devices
US6040784A (en) Alphanumeric paging message system operating on internet
US20020010698A1 (en) Method of applying locking function to electronic documents and text messages
US20010052022A1 (en) Method to transmit an information service in a broadcast transmission system
US6260060B1 (en) Method and apparatus for enhancing a message preview mode in a messaging unit
KR100600503B1 (en) Method for receiving multimedia message in mobile communication terminal
EP1433275B1 (en) Method allowing a consumer to interact with a service provider
US20050270994A1 (en) Method for the broadcasting of multimedia messages to a heterogeneous fleet of terminals
WO2001093560A2 (en) System for sending messages
KR20010008460A (en) Method for processing urgent message in push system
MXPA99010973A (en) System and method for multicasting multimedia content

Legal Events

Date Code Title Description
FZDE Discontinued