`UllltEd States Patent
`
`[191
`
`USDUS'778131A
`
`[11] Patent Number:
`
`5,778,181
`
`
`Hidary et a].
`[45] Date of Patent:
`Jul. 7, 1998
`
`[54} ENHANCED VIDEO PROGRAMMING
`SYSTEM AND METHOD FOR
`INCORPORATING AND DISPLAYING
`RETRIEVED INTEGRATED INTERNET
`INFORMATION SEGMENTS
`
`[75]
`
`Inventors: Jack D. flidary. New York: Craig
`Ulllnan. Brooklyn. both of NY.
`
`‘
`[73] Asstgnee: ACW’ Inc" New York. N‘Y'
`
`131996 1.05st eta]. ...... 343(7
`5,43L542
`
`711996 Majeli et a].
`3432'?
`5,534,913
`364514 C
`5572.442 llf1996 Schulhof et al.
`
`
`......
`5,589,899.
`1211996 Kneeet a].
`3481731
`
`5,612,730
`311991 Iewis
`343:8
`
`Primary Examiner—Parshotam S. Lall
`Assistant Emtiner—Viet Vt]
`Aflome); Agent, or Finn—Dorsey & Whitney LLP
`
`[211 AWL NO-I 5159143
`
`[57]
`
`ABSTRACT
`
`[22] Filed:
`
`" ° 14’ 19%
`Related US. Application Data
`
`[63}
`
`‘11“ Sen “0- 511144, Mar 3, 1996,
`
`COINII'33'3-'1‘3“|1'1fl'l='iIlrt
`abandon“
`Int. CL"
`[51]
`[52] US. Cl. .....
`
`
`
`GOGF 13m; H04N 5350
`395mm; 395f200.49;
`343!12
`39512003. 200.48.
`[53] Field of Search
`395f200.47. 327. 200.49. 34827. 8. 10.
`13. 564- 906 461. 12; 455’3-1‘ 5-1» 6-1.
`5-3
`
`[56]
`
`.
`References Clted
`U.S. PHI‘ENT DOCUMENTS
`
`A system for integrating video programming with the vast
`information resources of the Internet. A computer based
`system receives a video program with embedded uniform
`resource locators (URLs).'111e URLs. the elfective addresses
`of locations or Web sites on the Internet. are intelpreted by
`the system and direct the system to the Web site locations to
`renieve related Web pages. Upon receipt of the Web pages
`by the system. the Web pages are synchronized to the video
`content for display. The video program signal can be dis-
`played on a video window on a conventional pqsonal
`compute: screen. The actual retrieved Web pages are time
`stamped to also be displayed. on another portion of the
`display screen. when predetermined related video content is
`displayed in the video window.
`
`5.014.125
`
`5:1991 Poeocket a1.
`
`.............................. 34m
`
`23 Claims, 2 Drawing Sheets
`
`SYSTEM DESIGN
`
`
`
`NTFX—1004 I Page 1 of 34
`
`
`
`US. Patent
`
`Jul. 7, 1998
`
`Sheet 1 of 2
`
`5,778,1 81
`
`FIG.
`
`1
`
`2O URL:
`
`1 6
`
`SUBSCRIBER SITE
`
`NTFX—1004 I Page 2 of 34
`
`
`
`US. Patent
`
`Jul. 7, 1993
`
`Sheet 2 of 2
`
`5,778,181
`
` SEND NETSCAPE
`
`GOTO COMMAND
`
`SDI-“WARE DESIGN
`
`FIG. 3
`
`NTFX—1004 I Page 3 of 34
`
`
`
`5.778.181
`
`l
`ENHANCED VIDEO PROGRAMMING
`SYSTEM AND METHOD FOR
`INCORPORATING AND DISPLAYING
`RETRIEVED INTEGRATED INTERNET
`INFORMATION SEGMENTS
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`This application is a continuation-in-part of application
`Ser. No. 08511144.
`filed Mar. 8. 1996. entitled “AN
`INTEGRATED INTERACTIVE VIDEO AND INTERNET
`SYSTEM” now abandoned.
`
`BACKGROUND OF THE INVENTION
`
`Today. the capabilities of computers to provide massive
`amounts of educational and entertaimnent information has
`
`exploded with the Internet. The Internet has the power to
`transform society through unprecedented levels of informa-
`tion flow between members. Currently. on-line systems 01hr
`a variety of difl‘erent services to users. including news feeds.
`electronic databases (either searchable by the user directly
`on the on-line system. or downloadable to the users own
`computer). private message services. electronic newsletters.
`real time games for play by several users at the same time.
`and job placement services. to name a few. However. today.
`most on—line communications occur merely through text.
`This currently stands in great contrast to the audiofvisual
`presentation of the alternative electronic medium. television.
`However.
`it is expected that as multi-media’s incessant
`growth continues. audioivisual programs will proliferate and
`text will become less and less dominant in the on-line
`environment. Even though these programs will be
`introduced.
`the Internet. will remain essentially user
`unfriendly due to its very massiveness. organization. and
`randomness. Simply stated. there is no order or direction in
`the Internet. Specific pieces of information are many times
`hard to find. and harder yet. is the ability to put that piece of
`inionnation into a meaningful context.
`Television. on the other hand. has been criticizedfor being
`a passive medium—“chewing gum for the eyes.” as Fred
`Allen once observed. Television has always been something
`you watched. not something you do. Many social critics
`believe that the passivity television depends on has seeped
`into our entire culture. turning a nation of citizens into a
`nation of Viewers. While interactive television systems have
`increased the level of user interaction. and thus. provided
`greater learning and entertainment opportunities. vast infor~
`mation resources such as databases are inaccessible from
`such a medium.
`
`What is needed is a means to close the gap between video
`programming and the information superhighway of the
`Internet. What
`is needed is a wider. richer experience
`integrating audiofvisual and textual database elements into
`an organized unique interactive. educational. entertainment
`experience. Qlflclltl)’. the Internet is a repository of infor-
`mation on virtually any subject. However. what is needed is
`a mechanism for combining the user-friendly visual expe-
`rience of television with the vast infonnation resources of
`the Internet
`
`SUMMARY OFTi-IE INVENTION
`
`The system of the present invention combines broadcast
`television programming audior video programming which
`appears on a VHS or Beta tape. CD-ROM. DVD or other
`medium. or video programming at a video senter
`(hereinafter “video programming“) with the massive
`Internet. creating a new and powerful educational and enter-
`tainment medium. The system allows consumers to receive
`
`2
`more information in a more efficient manner than either
`television or the Internet alone. Consumers not only can see
`a news report on television. but they can also read pertinent
`information about
`the report. as well as explore related
`information about
`the story. The program becomes the
`introduction to a particular subject. rather than the entire
`subject itself. The act of viewing a program has now become
`a more engaging. enriching experience.
`The system can also create a more intimate relationship
`bettveen the viewer and the program. The user might be
`solving problems or performing virtual experiments on the
`Internet site that a teacher is discussing in an educational
`television program Similarly. the consumer might be solv-
`ing problems that the fictional characters in a television
`program must solve. In both cases. the consumer is an active
`participant in the process. rather than a passive obsa'ver.
`Instead of an undirected and unfocused exploration of
`Internet sites. by synching specific Internet pages to the
`video signal. the system puts the Internet in context. The
`television program producers now can decide what addi-
`tional information to other their audience. This material can
`now be seen in the context of the television program
`An additional advantage is that consumers don’t have to
`search through the literally hundreds of millions of pages on
`the Internet to find annopriate material. The material has
`already been filtered by the program producers and delivered
`to the consumer automatically.
`Another advantage of the system is that it changes the
`nature of advertising. Since additional information can be
`given to consumers automatically. advertising can now be
`more substantive. allowing customers to make more
`informed choices. Now. the act of purchasing a product seen
`on television can be streamlined—the consumer can be
`
`given the choice of buying the product instantly using the
`two-way capabilities of the system.
`Another advantage of the uncut system is that in the
`alternative embodiment. the local user need not have a
`vertical blanking interval (VBI) reader to receive the uni-
`form resource locators (URLs). Therefore. digital video can
`be used as the video somce. The Interacast. by comparison.
`is an analog video product.
`By marrying the appeal of television with the two-way
`data transfer capabilities of the Internet. the system creates
`a powerful new medium: Television producers and Internet
`site creators can enhance their content. advertisers can speak
`more directly to consumers. and consumers can gain a new
`level of interest and interactivity over a video-based
`medium.
`
`Now. several media companies have joined to create a
`system for linking the Internet and television on the personal
`computer. called “Intercast.” In this system. content will be
`provided simultanewsly with the TV video signal. This
`system. however. requires that stripped down Web pages be
`sent in the vertical blanking interval (VBI) of the video
`signal. using up to three scan lines limiting eflective band-
`width to approximately 28.8 lsbps. This approach. however.
`requires specialized hardware to both insert the Web pages
`into the VB] and extract these codes at each PC since it tallies
`up to three scan lines of the VB]. Thus. the complexity and
`cost of the PC is increased. Because the Web pages are
`transmitted with the Video signal. the Intercast system is not
`a true “midway" system. but merely a one-way ‘piggyba
`"
`system.
`The system of the present invention. on the other hand. is
`a much more flexible. but less complex. system First. the
`actual Web pages are not forced into the very limited
`
`NTFX—1004 i' Page 4 of 34
`
`
`
`5,778,181
`
`3
`bandwidth of the vertical blanking interval (VBI). Instead
`merely eight fields of line 21 of the V131 are used to deliver
`the relevant Internet Web page addresses to the PC. These
`addresses are called “uniform resource Iocators" (URLs).
`The system then directs the particular Web browser to
`retrieve the identified Web pages from the Internet. Upon
`receipt of the particular Web pnge(s). the system syncs the
`Web pagds) to the video signal. and at the appropriate times.
`presents the Web pages on one portion of the computer
`screen with the television video signal. shown in a window
`on another portion of the screen. and thus. provides the
`synergistic Internet and television experience. One of the
`advantages of the system of the present invention is that no
`specialized chip set need be produced and implemented into
`the standard PC. Thus. complexity is kept to a minimum
`Thus. it is an object of the present invention to provide
`order and direction to the Internet by using television signals
`to place. orient and control such information in a meaningful
`context.
`
`It is an object of the present invention to create a more
`intimate relationship between the viewer and the program by
`enriching the learning expu‘ience through the provision of
`more indepth information.
`
`DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a diagram of the system design. showing the
`receipt and decoding of video signals at the subscriber
`location using the method of the present invention.
`FIG. 2 is a diagram showing an alternative system
`embodiment to achieve the integration of the Internet infor-
`mation with the video content by decoding the uniform
`resource locators at a server site and then transmitting the
`URLs to the subscriber stations via the Internet.
`
`FIG. 3 is a flow diagram of the basic software design of
`the present invention.
`PREFERRED EMBODIMENT
`
`The system of the present invention combines the rich
`visual capabilities of television with the vastresources of the
`Internet. As shown in FIG. 1. the present invention is a
`computer based system for receiving a video program along
`with embedded unifon'n resource locators (URLs}—which
`direct the user’s computer 16 to address locations. or Web
`sites. on the Internet 20 to retrieve related Web pages. These
`Web pages correspond to the video mesentation. The par-
`ticular video prograrmning can be delivered in analog.
`digital or digitally compressed formats (e.g-. MPEG2) via
`any transmission means. including satellite. cable. wire. or
`television hoadmst.
`
`The video programming is preferably created at a cen-
`tralized location. be. content creation 4 as shown in FIG. 1.
`for distribution to subscribers in their homes. for example.
`Program creation is accomplished according to any conven-
`tional means known in the art After a video program is
`created. uniform resource iocators are embedded. preferably.
`into the vertical blankinterval of the video programming by
`the URL encoder 8. shown in FIG. 1. 1n the preferred
`embodiment. the URLs are encoded onto eight fields of line
`21 of the V131. Line 21 is the line associated with close
`captioning. among other things. However. the URLs could
`also be embedded in other fields of the V131. in the horizontal
`portion of the video. as part of the audio channel. or in any
`subcarrier to the video. Preferably. the URLs have associ-
`ated time stamps which indicate to the subscriber stations
`when. during the video program. to display the particular
`Web pages addressed by the URLs.
`
`4
`The particular infonnation in line 21 is not part of the
`visual part of the program. and thus. is not perceptible to the
`human eye. thereby makingit ideal to send data information
`to the users. While the bandwidth capacity of line 21 is
`limited because the system of the present invention trans-
`mits only the uniform resource locarors (URLs). and not full
`Web pages.
`there is more than enough capacity.
`Furthermore. no additional hardware is necessary at the PCs
`16 to implement the elements of the present invention.‘1hus.
`the present invention has the additional advantages of being
`very eflicient and takes advantage of conventional hardware.
`Once the video program is created. it can be transmitted
`to user sites over any transmission means.
`including
`broadcast. cable. satellite. or Intanet. and may reside on
`video servers. Ftn'thermore. the video program. with embed-
`ded URLs. can beer onaVHS orBetatape. DVD or
`other medium.
`
`Preferably. each receiver station comprises any Intel >686
`machine (preferably a 486 processor. pentium processor.
`etc.). an Apple Computer. UNIX or any other type of
`standard computer workstation. The local PC 16 is prefer-
`ably connected to either a cable andfor broadcast television
`connection or to a local VCR or other video sotn‘ce. At each
`subscriber site. the local personal computer 16 preferably
`receives the cable transmission by cable connection on the
`back of the pasonal computer 16. The videolaudio program
`can then be processed for display on the computer screen
`using any conventional PC card capable of displaying NTSC
`signals on a computer monitor. such as a WinTV card. In
`addition to the cable connection. however. in the present
`invention there is also an Internet 2. connection created
`concmrently with the cable connection.
`The Internet 20 connection can be via high-speed line. RF.
`conventional modem or by way of two-way cable carrying
`the video programming. The local PC 16 has internet access
`via any of the current ASCII software mechanisms. In the
`preferred embodiment. at each subscriber home. an associ~
`ated local URL decoder 12 receives the cable video televi-
`sion program. as shown in FIG. 1. The local URL decoder
`12 extracts the URLs. preferably embedded in the vertical
`blanking interval. with the use of any conventional VB]
`decoder device. The URL decoder 12 may be either a
`standalone unit or a card which is implemented into the
`personal computer 16.
`In an alternative system shown in FIG. 2. the uniform
`resource locatms (URLs) are encoded into the video in the
`same manner as described above. Again. the URLs are
`preferably encoded onto eight fields of line 21 of the VB].
`However. the URL decoder 24 is located at the server site.
`as opposed to the subscriber location. When the decoder 24
`receives the video program signal. it strips out the URL
`codes on line 21 of the VB] and delivers these codes
`independently to an Internet server 28. The URL code is then
`subsequently delivered over the Internet 20 to the user PC
`16. Simultaneously. the video is broadcast over conventional
`broadcast or cable transmission means 36 to the user’s
`personal computer 16.
`
`System Operation
`
`Once the URLs have readied the personal computer 16.
`system operation is the same for both of the embodiments
`diagramed in FIGS. 1 and 2.
`In the preferred embodiment. a JAVA enabled browser as
`well as specialized software for pa'forming part of the
`method of the present invention are installed on the com-
`puter. The JAVA enabled browser allows the computer 16 to
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`NTFX—1004 ! Page 5 of 34
`
`
`
`5.778.131
`
`5
`retrieve the Web pages and is preferred software. since it is
`platform independent. and thus. enables efficient and flexible
`transfer or programs. images. etc. over the Internet 20. The
`specialized interface software (hereinafter. “client
`software"). attached as Appendix A. acts as an interface
`between the video programming and the Internet functions
`of the present invention. The client sofnvare retrieves URLs
`from the video program. interpret these URLs and direct the
`JAVAenabled browser to retrieve the particular relevant web
`pages. and synchronizes the retrieved Web pages to the
`video content for display. as shown in FIG. 3 and explained
`in more detail below.
`
`In the preferred method. the URLs are encoded and
`embedded into the video signal by inserting them into the
`vertical blanking interval (VBI). as mentioned above.
`The method of the present invention has the capability to
`detect identical URLs sent directly after one another which
`causes the browser not to fetch URLs in these particular
`cases. As shown in FIG. 3. once the URL code is received
`at the computer. the client software first interprets the URL
`and determines whether the particular URL has been
`received previously 42. If it has already been received. the
`next received URL is interpreted for detertnination of prior
`receipt. If the particular URL has not been detected before.
`the software checks for misspelling 46 and any other errors.
`and if errors exist. corrects these particular errors. Once
`again. it is determined whether the URLhas been previously
`detected. If it has. the next URL is accessed 38. If the URL
`has not been detected. the specific URL is added to the URL
`list 54. The specific URL is then sent to the Web browser.
`preferably a Java enabled brotvser. Upon receipt of the URL.
`the browser will access the Web site address indicated by the
`URL and retrieve the cited Web page(s) 58 via the Internet.
`Viewers can view the integrated presentation in the fol-
`lowing manner. As mentioned above. the video signal is
`processed and displayed on a video window on the PC
`screen using a Win TV card. for example. The corresponding
`audio is forwarded to the audio card and sent to the PC
`speakers.
`The actual retrieved Web pages. referenced by file URL.
`are preferably time stamped to be displayed on the computer
`screen when predetermined related video content is dis»
`played in the video window. thus. enlightening and enhanc-
`ing the video presentation by providing indepth information
`related to the video content thereto. Another section on the
`screen is also preferably used to represent an operational
`control panel. This control panel provides a list of the URLs
`that have been broadcast and correspondingly received by
`the computer 16. This control panel is updatedto adda URL
`code each time a new URL code is received by the PC 16.
`This list gives the subscriber the flexibility to go back and
`retrieve particularly informative or interesting Web pages
`that have already been displayed earlier in the program. or
`alternatively.
`to print
`them out
`for future reference.
`Furthermore. the list could include URLs referring to Web
`pages not displayed with the broadcast program. but that
`provide further information on a certain topic of interest to
`the viewer.
`
`The present invention can best be understood with refer
`ence to an example. A viewer can begin watching a musical
`
`6
`video featuring a new band. for example. As the video is
`received by the PC 16. URLs are being extracted from the
`vertical blanking interval and are being interpreted by the
`client software. Upon direction and command. the JAVA
`enabled browser retrieves particular Web pages from Inter—
`net 20 Web sites identified in the URLs. These Web pages
`will then be displayed on the video screen at particular
`times. Thus. for example. while the viewer is watching the
`music video. biographical information on the band can also
`be displayed adjacently to the video window. Web pages
`could also include an upcoming concert schedule. or even
`audio clips of the band's music may be downloaded from the
`Internet 20. As another example. a user could be watching a
`program relating to financial news. While the narrator is
`shOWn discussing high tech stocks. Web pages correspond-
`ing to detailed financial performance information on high
`tech stocks. environment and characteristics can be dis-
`played with the video on the computer screen. When the
`program narrator switches to a discussion on the weekly
`performance of the Dow Jones- Web pages presenting
`related financial performance information can be simulta—
`neously displayed. Thus. it is evident that the present inven-
`tion profoundly enriches the viewing and learning experi-
`once.
`
`It is understood that there can exist alternative embodi~
`
`ments for use with the present invention. For example. the
`user can view the interactive program using a television set
`or other display monitor in conjunction with the display
`screen of the personal computer 16. In this embodiment. the
`retevant Web pages are shown on the personal computer 16
`While the video program is displayed on the television
`monitor. In this alternative embodiment. a cable set top box
`receives the television program from the multichannel cable.
`The personal computer 16 also receives the video program
`from the multi-channel cable and extracts the URLs. pref-
`erably embedded in the vertical blanking interval of the
`video signal. The computer software extracts the URLs and
`retrieves the particular web pages as described above. The
`web pages are then synchronized with the particular video
`frames and presented to the user. It is understood that a
`hyperlink may exist on the Web site that will allow the user
`to automatically load the client software and call up the
`specific television channel referenced in the Web site. For
`example. someone browsing the Internet 20 may come upon
`a major television network’s Web site. They scroll to an
`interesting story then click on an hyperlink to turn on the
`software which tunes the TV window to the network to
`enhance the information residing at the Web site.
`
`Fin-drennore. instead of receiving the video moment from
`a transmission means. the video program can be addressed
`directly from the user site if the video program. with
`embedded URLs. is stored on a VHS. Beta. DVD or other
`medium. In this embodiment. the user PC 16 andr'or televi-
`sion are connected to a VCR. DVD player or other appro-
`priate device.
`
`Using the foregoing embodiments. methods and
`processes.
`the system of the present
`invention creates a
`synergistic experience combining the vast resources of the
`internet with the presentation capabilities of television.
`
`10
`
`15
`
`35
`
`45
`
`55
`
`NTFX—1004 f Page 6 of 34
`
`
`
`5.773.131
`
`APPENDIX A
`
`NTFX—1004 I Page 7 of 34
`
`
`
`5,778,] 81
`
`nativelnpu:$tream.gava
`
`_
`
`-.1+'k-§k'QQ1-fiittliik!11tfiiiilvliftfkkx$witfifvtrffinkitbkktttijntk|fltkhk
`
`Copyright Notice: This source code is :C] Copyright 1996, EarthWeb LLC.
`
`All Rights Reserved. Distribution of this document or it‘s resulting
`compiled code is granted for non—commercial use, with prior approval of
`Earthweb LLC. Distribution of this document or its resulting compiled
`code,
`for commercial use,
`is granted only with prior written approval 0
`
`to infoGearthweb.com.
`arthWeb. LLC. For information, send email
`ativil:a!ikiwkflrtttiwkifii-tikk‘kttii‘tl‘“lklfi-itfif‘itttii’wlitrtiii-lfi-V‘wtitik
`
`f E
`
`; p
`
`ublic :lass nativelnputStream extends java io.Input3tream {
`public native int readih;
`public native void nativeinitii;
`public nativeInputS:ream{} {
`guper{}:
`nativeini:(};
`
`}s
`
`}
`
`tatic
`System.loadLibrary{"instream");
`
`Paqe
`
`
`
`NTFX—1004 I Page 8 of 34
`
`
`
`11
`
`12
`
`5,778,181
`
`nativeInputStreamCode.cpp
`
`“
`
`J'goqtinctr'kxenIA—tfigct‘wvi-{ifik‘«qrvii‘litxtititfikii-x‘ftlwtxttidttkfiiift-I
`
`Copyright Notice: This source code is (C? Copyright 1996, EarthWeb LLC-
`
`All Rights Reserved. Distribution of this document or it's resulting
`compiled code is granted for non-commercial use, with prior approval of
`Earthfieb LLC. Distribution of this document or its resulting compiled
`code,
`for commercial use,
`is granted only with prior written approval o
`
`to infoeearthweb.com.
`information, send email
`EarthWeb, LLC. For
`twtteflttiiiflQfi‘rvttflxutttvtfiktatlttttInQIII-vrtrvtggttkfiA—kk!kkufll'1WIi-1-wwt-w
`
`ainciude <5tubFreamble.hb
`flinolude "na:iue1nput$tream.h"
`#include <Windef.hb
`#inciude <winbase.h>
`#inciude <stdio.h>
`
`HANDLE h:
`
`long nativeInputStreamwread{struot HnativornputStream *3
`DWORD evttype :
`unsigned long nread = 0; f/ the number of characters read
`unsigned char result;
`if the character read
`while Enread == 0] ReadFileIh,
`[LPVOID}&result, 1. &nread, NULL];
`return [longlresult;
`
`{
`
`1 v
`
`iLPVOlofioomcode, 2, enwrirren, NULL
`
`grintfl"Yeahfi"};
`
`Page i
`
`A?
`
`NTFX—1004 I Page 9 of 34
`
`oid nativeTnputSt:eam_nativeinit(struct HnativelnputStream *]
`h L Create?i.le["CDM1", GENERIC_READIGENERIC_W‘RITE, 0, NULL,
`GPEN_EXISTING, 0’ NULL]:
`
`[
`
`DCB dob:
`fidcb::
`GetCommStateih,
`= 9600:
`dcb.BaudRate
`- 8:
`dob.By:eSize
`? NOPRRITY:
`dcb.Par‘ity
`= ONESTOPEIT:
`dob.3topBits
`SetCommStateih, &dcb}:
`SetCommEaskIh, EV_RXCHARJ;
`char ‘comcode L "\1B";
`unsigned long nwriLten = 0;
`while Inwritten<21 WriteFileth,
`
`
`
`13
`
`14
`
`5,773,131
`
`Serial.cpp
`
`h
`
`'tarc1*§KTt&*ihi*v111xnttitVfiiqtttiI*vrk4wIittow+tt1+tillfltwiiiikitxtt1
`
`Copyright Not;ce: This source code is {C} Copyright 1996, EarthWeb LLC.
`
`I f
`
`ill Rights Reserved. Distribution of this document or it's resulting
`Compiled code is granted for non-CDmmEICLal use, with prior approval of
`Earthweb LLC. Distribution of this document or its resulting compiled
`code,
`for commercial use,
`is granted only wirh prior written approval o
`
`f E
`
`to infoGearthweb.con.
`erthWeb, LLC. For inlormetion, send email
`e+iatwoxwrteeqw+w*qvikez~1uo1itri**wt+*txrrr+tuxe*twttrwwnyttttirttrrvr
`
`.
`
`hinciude {Wintypes.h>
`#include <winbase‘h)
`#inciude <Nindef.h)
`fiinc1ude <5tdi0.h>
`#include <conio.h>
`
`ffifidefine COMl = OXBFS
`fi3define COMZ n OXEFS
`
`HANDLE h:
`{
`in: main£l
`unsigned char result;
`unsigned long nread:
`
`h = Createfile("COMl", GENERIC_REBD!GENERIC_WRITE, 0, NULL,
`OPEN_EXISTING, 0. N3LL3:
`{h == INVALID_HANDLE_VALUE§
`{
`printf["NOOOOO!"L
`CB dob;
`GetCommStateth, deb);
`dcb.BaudRate
`= 9600:
`deb.ByteSize
`- 9:
`dcb.Parity
`5 NOPARITY:
`dcb.StopRirs
`= ONESTDPBIT:
`SetCommState(h, edcb};
`
`}D
`
`it
`
`SetCoanaskfih. EV_RXCHAR2;
`printfr"Reading serial porr:\n"i;
`DWORD evttype;
`while [1;
`[
`prinzfi“ c”. natiueinputStream_readt} {
`WaitCommEventrh, aevcrype, NULL]:
`while :ReadFileth,
`t;onID]aresu1t, 1, &nread. NULLJ)
`priatf("%c“,
`result};
`'I
`
`f‘
`
`1 r
`
`eturn 0;
`
`Page 1
`
`
`
`NTFX—1004 I Page 10 of 34
`
`
`
`15
`
`16
`
`5,778.13]
`
`Serial.cpp
`
`Long native:nput3tream_read(} i
`SWORD evttype:
`unsigned long nread: If the number of characters read
`unngned char result;
`if the character read
`NaiLCommEventth, &evctype, NULL}:
`ReadFileih,
`:;LFVOID)&result,
`"l. &nread, NULLI:
`return tlcnglresuLt;
`
`
`
`1‘) 1|: N
`21>“, v.)
`
`NTFX—1004 I Page 1 1 of 34
`
`
`
`17
`
`13
`
`5.773.181
`
`TVconirol.java
`
`-
`
`..vu-«imwkqmti—g.uw‘*«g1-uygv.1w.aatnrhi-vuw.u—*yunvqtv|y~yt1*tewx.rwt‘.1+««
`
`t C
`
`1'
`
`opyright No:ice: This source code is :C) Copyright 1996, EarthWeb LLC.
`
`All Fights Reserved. Distribution of this document or it's resulting
`compiled :ode is granted for non-commercial use, with prior approval of
`Earthfleb LLC. Distribution of this document or its resulting compiled
`sode,
`tor commercial use,
`is granted only with prior written approval 0
`
`to infoEearthweb.com.
`artnfieb, LLC. For intermation, send email
`thatuniri-tOt-rt{ti-vvttwttitlwsfii’fi‘fliifiwflkwjtiiih‘tll‘v+fi*tv')itik*~k§*ii‘*v§
`
`[ E
`
`java.appiet.*:
`import
`java aut.*;
`import
`java.io.*;
`import
`java.net.ERL;
`import
`java.net.HalformedURLException:
`import
`import jave.util.Hashtable:
`
`i
`:lass blackPanel extends Panel
`{
`public void paintiGraphics g]
`q.setCOlor{Coloriblacki:
`g.fillRect(O, 0, sizefl.width, size{).heightl;
`
`class dispisybrane extends Panel
`in: xofiset
`= 30;
`int yoffset - 40:
`
`implements Runnable {
`
`if
`
`List URLEist:
`TextField textl;
`Checkbox autobrowse;
`String textLStr = "";
`int Ila, riy;
`AppletContexL ape:
`
`Thread thread;
`InputStream din;
`Hashtable dict:
`fiashtable visited:
`
`booiean periodbefore; If HACK ALERT
`
`m
`
`r
`
`em in
`
`~.\'1
`
`public displavirameisnrinq frameName, AppletConLext apc,
`)
`l
`super£frameNamel3
`this.apc = apc:
`din = in;
`dict = new Hash:able[l;
`visited = new Hashtabieqj;
`
`Inpues
`
`face 1
`
`
`
`NTFX—1004 I Page 12 of 34
`
`
`
`19
`
`2|}
`
`5,778,181
`
`TVControl.jaua
`
`i
`
`thread = new Threadlthis);
`thread.startéu
`
`resizellOB a; xoffset,
`
`:56 «- yoffseu;
`
`rlx = -1size().width/42£
`rly : size{].heightl4;
`
`set;aycu:£ new BorderLayoutl} }:
`addfi ”South", autobrowse = new Checkboxi"sutobrow5e"j};
`autobrowse.set5tate{true}3
`
`URLlis: 4 new List(}:
`add("Cen:er", URLlist};
`XXrl.set:onstraint(URLlist, autobrowsef RelativeLayout.
`
`irrl.sethnstraint(URLlist, buttonO. RelativeLayout.und
`
`URLli.:.se:Backgroundt Color.fiyan }:
`Font newfont = new Font(“TimesRoman", Font.PLAIN, 10}:
`URLlist.se:Font( newfont };
`
`under,
`
`-4. 10]:
`
`-£, 10?;
`
`er,
`x
`sf
`’
`a"
`
`ublic synchronized void turnToURLtString 5, String targeti
`System.out.println["Turninq to URL " + s + targeti:
`Visitfid.put[5, thisi:
`try apc.showDocumen::new java.net.URL(s},
`catch {Exception e}:
`
`target);
`
`{
`
`} p
`
`E p
`
`{
`ublic void turnToTitle{String 5, String target:
`System.nu:.println(“Turning to Title “ + s + targeth;
`turnTsflRL{{String}(dict.get[si}.
`target);
`
`ublic synchronized void addURL(Strinq title, String uri]
`String preuLsus = {String}(dict.gec¢title]};
`it {lIdic:.:oncainsKey(titleu}; uaLlist‘adthemttitle};
`dict.putftitle, uril;
`
`{
`
`J p
`
`public void runil
`
`:
`
`Th:ead.current?h:ead{).setPriorityt Thread.M1N_PRIOR1TY 5:
`"5u5Lem.out.println["Context: “+apcon};
`Char bufEl = new CharILZBf;
`int bufidx = O;
`booLean capture = false;
`String :urrentTitle = null;
`
`LEE"
`
`[
`
`'1! "I L1. w
`
`l‘)
`
`
`
`NTFX—1004 I Page 13 of 34
`
`
`
`21
`
`22
`
`5,778.18]
`
`TVcontrcl.java
`
`-
`
`If Listener loop
`
`int c;
`
`while ((c = (din.:ead{})! E‘ ‘1} {
`if {c == '.'1 i
`if {capture as periodbeforefi
`bufidx--;
`c = (byte:‘>':
`periodbefore = false:
`} e;5e periodbefcre = true;
`I eLse periadbefore = false:
`if ([char:c ==
`'>'} 1
`capture = false:
`Str;ng result = new Stringibuf. 0, bufi
`
`{
`
`periadbefore = raise:
`
`dx};
`
`result):
`
`}i
`
`entTitle, result} ;
`
`d.containsKeytresultJii
`
`{
`
`msLJ-l};
`
`System.cut.println("Remote found tag "+
`if (result.5ta:tswith(“URL:")p {
`result = result.substring(4}r
`if {currentTitle != null} addURchurr
`
`if :autobrowse.get5tate{: GE [(visite
`
`URLlist.select!URLL15t.countIte
`
`turnToURL[rssult, “browser"i;
`
`urrentTitle = null:
`
`Jc
`
`lse if (result.startsWith("Title:"}]
`currentTitle _ resul:.substrinq{6:;
`
`Il e
`
`{
`f (capture:
`(Charis;
`bqubufidx++1 =
`if {bufidx >i buf.length}
`capture a false:
`
`}i
`
`<
`f {(charjc ==
`capture ; tr
`bufidx = 0:
`
`}
`
`t
`.i This 13 an acceptable exception
`l catch: EOFException e
`} System.ou:.print1n{ "URLClient: act" };
`f; Thls is probably not.
`catch! TfiException a
`I System.out.prin:lfil "URLClLent.run:
`J
`
`"*9 i;
`
`-
`
`'
`
`ff
`
`public ucrd paLcttGraphics g;
`
`i
`
`Par\
`
`3
`
`1?!
`
`
`NTFX—1004 I Page 14 of 34
`
`
`
`23
`
`24
`
`5378,18]
`
`Tucontrol.java
`
`__
`
`:-
`I."
`
`q.setColo:{CQlor.bLackh
`g.f:.llRect{D, 0, sizellmidth, sizeilmeight);
`
`public void update‘GKaphjcs g3
`repainttl;
`
`I
`
`I p
`
`ublic ooolean actioniEvent evt. Object what]
`URL where;
`
`1
`
`turnToTitlei(Stringhwhat, "browser"];
`repaintfh
`re:urn true:
`
`} p
`
`1
`ublic class TUcontrol extends Applet
`static displayframc remoteFrame = null:
`
`public void init:} i
`Inputstream in;
`AppletCGntext apc = gathppletContexttl;
`
`in = new nativeInputStreamth;
`setLayDut[new BorderLayoutii]:
`
`if {remoteFrame 1- null)
`remoteFrame - new displayPramci"Remote Control“
`
`add{“Cen:ez“,remote?:ame:;
`remoteFrame.show(l;
`
`{
`public void startaj
`:emoteFrame.apc = getAppletContextih;
`
`Pa,e 4
`
`
`
`NTFX—1004 I Page 15 of 34
`
`
`
`25
`
`26
`
`5,778,181
`
`index.html
`
`tTITLE?WebT$CITITLE>
`
`CERAMESET ROW3="33,66“>
`(FRAMESET COLS="35,65">
`<FRAME SCROLLLNG="no" NAME="tv“ SRC=“file:lionce—ler/pub/moo.tv
`
`<FRAME SCROLLENG "no” NAME="controL" SRC="control.h:ml“>
`<NOERAMES>blank.html<fNOFRRMES>
`</FRAMESET>
`
`<FRAM£ SCROILING=“yes" NAME:"browser" SRCL"browser.html">
`fiFRflMESET)
`
`aqt
`
`-
`
`
`
`NTFX—1004 I Page 16 of 34
`
`
`
`27
`
`28
`
`5.778.181
`
`controi.htm1
`
`—
`
`«:itLenaemote<ftitle>
`
`,
`_
`<centar>
`<app1e: code="TVcontrol.ciaas" Width=300 halght‘lCG>€/applet>
`<fcenter>
`
`
`
`NTFX—1004