throbber
FILE HISTORY
`US 6,271,840
`
`6,271,840
`PATENT:
`INVENTORS: Finseth, James Lee
`Hermel, Jerry
`Pelz, Bryan F.
`
`TITLE:
`
`Graphical search engine visual index
`
`APPLICATION
`NO:
`FILED:
`ISSUED:
`
`US1998160633A
`
`24 SEP 1998
`07 AUG 2001
`
`COMPILED:
`
`12 JUN 2014
`
`Google Exhibit 1019
`Page 1
`
`

`
`cNi-
`
`U.S. UTILITY PATENT APPLICATION
`
`PATENT
`
`N.UMBER,
`6271840
`
`62?13413
`
`J DISK (CRF) tU FICIjE
`(Attached In pocket on right inside flap)
`
`PREPARED AND APPROVED FOR ISSUE
`
`ORIGINAL
`
`CLASS
`34Y=M
`INTERNATIONAL CLASSIFICATION
`
`SUBCLASS
`SN4
`
`ol
`
`F _
`
`3
`
`1114_
`
`ISSUING CLASSIFICATION
`CROSS REFERENCE(IS)
`SUBCLASS (ONE SUBCLASS PER BLOCK)
`__
`I
`I
`
`-
`
`____
`
`--
`
`CLASS
`-703.__
`3 L+
`
`L
`35 7
`
`___________
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`HContinued on Issue Slip Inside File Jacket
`
`Ei EMNLDRAWINGS
`Sheets Drwg.
`iiDISCLAIMER
`4e8
`
`,~j7
`
`(date)
`
`Ha) The term of this patent
`subsequent to ______
`has been disclaimed.
`H b) The ternm of this patent shall
`not extend beyond the expiration date
`of U.S Patent. No.
`
`Figs. Drwg.
`
`Print Fig.
`
`CLAIMS ALLOWED
`Print Claim for 0.G.
`Total Claims
`1
`A7NOTICE OF ALLOWANCE MAILED
`ftl(~.g.,' 03 -2-61
`(Date)
`mAssanEamnr)
`
`JOHN WAEGA
`ER
`9
`SUpERVISORY PAT$
`TEHOOYAmount
`
`-3-) /3-6)
`ISSUE FEE,4
`-- '-
`at P d
`Due
`
`_________________(Primary
`
`Examiner)
`
`(Date)
`
`-~months of
`C3 c) The terminal
`this patent have been disclaimed.'J
`
`(Legal instrumients Examiner)
`
`(Date)
`
`4)
`
`ISSUE BATCH NOMWE
`3
`
`WARNING:
`The Information disclosed herein mey be restricted. Unauthorized disclosure may be prohibIted by the United States Code Title 35, Sections 122, 181 and 368.
`Possession outside the U.S. Patent & Trademark Office is restricted to authorized employees and contractors only.
`Form PTO-43SA
`(Rev. t0/07)
`
`jSWr.,;,SE
`
`Formal DvlQS &__h, s sev.
`(FACE)
`
`Google Exhibit 1019
`Page 2
`
`

`
`6,271,840
`
`GRAPHICAL SEARCH ENGINE VISUAL INDEX
`
`Transaction History
`
`Date
`
`Transaction Description
`
`9/24/1998
`
`Information Disclosure Statement (IDS) Filed
`
`9/24/1998
`
`Information Disclosure Statement (IDS) Filed
`
`9/29/1998
`
`Initial Exam Team nn
`
`10/5/1998
`
`IFW Scan & PACR Auto Security Review
`
`10/13/1998 Application Dispatched from OIPE
`
`6/24/1999 Case Docketed to Examiner in GAU
`
`9/22/2000 Non-Final Rejection
`
`9/25/2000 Mail Non-Final Rejection
`
`10/6/2000 Case Docketed to Examiner in GAU
`
`10/12/2000 Mail Supplemental Non-Final Action
`
`10/12/2000 Supplemental Non-Final Action
`
`2/16/2001 Response after Non-Final Action
`
`2/16/2001 Request for Extension of Time - Granted
`
`3/5/2001 Date Forwarded to Examiner
`
`3/5/2001 Correspondence Address Change
`
`3/13/2001 Mail Notice of Allowance
`
`3/13/2001 Notice of Allowance Data Verification Completed
`
`3/29/2001 Workflow - File Sent to Contractor
`
`6/11/2001
`
`Issue Fee Payment Verified
`
`6/11/2001 Workflow - Drawings Finished
`
`6/11/2001 Workflow - Drawings Matched with File at Contractor
`
`6/11/2001 Workflow - Drawings Received at Contractor
`
`6/11/2001 Workflow - Drawings Sent to Contractor
`
`7/5/2001 Workflow - Complete WF Records for Drawings
`
`7/9/2001 Application Is Considered Ready for Issue
`
`7/19/2001
`
`Issue Notification Mailed
`
`8/7/2001 Recordation of Patent Grant Mailed
`
`8/7/2001 Patent Issue Date Used in PTA Calculation
`
`2/25/2009 Correspondence Address Change
`
`2/26/2009 Change in Power of Attorney (May Include Associate POA)
`
`
`Google Exhibit 1019
`Page 3
`
`

`
`INIIiALS
`
`_____
`
`OCT 0 a 98 2 6
`
`Date received
`(Incl. C. of M.)
`or
`Date Mailed
`
`PATENT APPLICAT0N
`
`1jc135
`
`.PTO~
`
`-I
`
`09160633
`
`CONTENTS
`Date received
`(Inci. C. of M.)
`or
`Date Mailed
`
`1. Application 7 A a ppes
`
`(77
`
`c ~FDral braWings L'-shti) Set.,
`
`III^f
`
`16. _
`
`17. _
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`42.-_
`
`43.-_
`44.-_
`
`45.-_
`
`46.-_
`
`47.-_
`
`48 .
`
`49.-_
`
`52.-_
`
`53.-_
`
`54.-_
`
`56.-_
`
`56.-_
`
`57.-_
`
`18. _
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`20. _
`
`21.
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_ _
`
`_
`
`_
`
`_
`
`59.-_
`
`60.-_
`
`61.-_
`
`62.-_
`
`_
`
`_
`
`22.
`
`23. _
`
`24.
`
`_
`
`_ _
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_ _
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_ _
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_ _
`
`_
`
`_
`
`_ _
`
`_
`
`63.-_
`
`64.-_
`
`_
`
`_
`
`25.
`
`26. _
`
`27. _
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_ _
`
`_
`
`_
`
`_
`
`_ _
`
`_
`
`_
`
`_
`
`S.
`
`65.-_
`66.
`67.
`68.
`69.
`
`70.
`
`71.
`
`28.
`
`_
`
`_
`
`29.
`
`30. _
`
`31. _
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_ _
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_ _
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`32.
`
`33.
`
`34. _
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_ _
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`72.-
`73.
`
`74.
`
`35.
`
`36.
`
`37.
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_ _
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_ _
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_ _
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_ _
`
`_
`
`_
`
`_
`
`_ _
`
`_
`
`75.
`76.
`
`77.
`78.
`
`_
`
`_
`
`_
`
`38.
`
`39.
`
`40.
`
`41.
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_ _
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_ _
`
`_
`
`_
`
`_
`
`_ _
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`_
`
`79.-_
`
`80.-_
`
`81.-_
`
`82.-_
`
`_
`
`_
`
`_
`
`(FAC
`
`)NT)
`
`Google Exhibit 1019
`Page 4
`
`

`
`oIVt;:
`=10a
`
`tdc3mmoll
`
`EXHIBIT 1
`
`Google Exhibit 1019
`Page 5
`
`

`
`EXHIBIT 1
`
`oIMtOMR
`
`s
`
`The following code comprises the files View.java, MapCanvas.java, MapLabel.java,
`Map.java, Region.java, and java-iinages.html and is a Java applet designed to trigger an
`image and associated image map change when the mouse pointer is moved over a hyperlink.
`The images can be moved or resized with the mouse. Basically, this applet embodies all of
`the output features described in Figures 5 and 6. A more detailed description of what this
`applet does can be found in the View.java and java imnages.html files. The accompanying
`screen dump from a browser indicates the results achieved.
`
`java-images.html
`0 < html >
`
`<!-This HTML source file contains the <applet> tag used to call the View. class Java
`applet, The applet parameters are:
`
`num_images
`irmagei
`stringi
`urli
`
`num_areasi
`map_coordij
`
`map_ urlij
`
`Number of images
`Name of image file i (i = 0, 1,2...)
`Label/click text for imagei
`URL to link to when user clicks label i or a non-active region
`(see below) of imagei
`Number of active rectangular area elements in imagei
`Coordinates of area element j 0 = 0, 1,2....) in image i; the first
`two values are for the upper-left corner (x,y); the second
`two values are for the lower-right corner; (0,0) is located
`at the upper-left corner of the image
`URL to link to when user clicks area element j in image i '- >
`
`25
`
`< head >
`< title > Java Changing Images Example < /title >
`"C/head >
`< body >
`"<p> < font size
`" + 1" > < b > Java Changing Images Example <l/b> C /font > < /p >
`< p > Move mouse pointer over links to view images: <l/p>
`30 <br>
`
`<applet code=View,class width=590 height=400 alt= "Java disabled or unsupported' >
`< param name = num-images value =" 3 ">
`
`< paramn
`< param
`
`name = imageO value = "imagel. gif" >
`name =stringO value = "Link # 1: imagel1" >
`
`Exhibit I
`
`Google Exhibit 1019
`Page 6
`
`

`
`< pararn
`< param
`< pararn
`< param
`< pararn
`< param.
`
`name = urlO value ="#linkl ">
`name = num areasO value= 1'2 ">
`name =map-coord00 value = "0,0,76,30"1>
`name=map urlOO value=" #link4 ">
`name =map coord0l value= "0,50,76,80" >
`name=mapurl0l value= V#link5"->
`
`5
`
`< pararn
`< param
`< pararn
`< paran
`< pararn
`< param
`< param
`< param
`< pararn
`< param,
`
`namne =imagel value = Image2.gif'>
`name =stringl1 value = "Link #2: image2 ">
`name =urll value= "#link2">
`name=num areas I value =" 3 ">
`name =map-coordlO value= "0,O, 15,80" >
`name = map_ uri 10 value = " #link6 ">
`name =map_coordll1 value= "23,0,30,80">
`name=mnapurlll value= V"linkT'">
`name =map_coordl2 value= "45,0,66,80" >
`name =mapyrll12 value = "#link8 ">
`
`< paranm name = image2 value = " image3. .gif ">
`< param name =string2 value = "Link #3: image3 ">
`< param name= ur12 value= "#link3">
`< param name = num_areas2 value= "0">
`< /applet >
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`<br> <br> <br> <br> Cbr> <br> <br> <br> <br> <br> <br> <br> <br> <b
`r> <br> <br> <br>
`<a name="link1"> </a> <font>Link 1 Works! </font>
`<br> <br>c<br>c<br> <br> <br> <br> <br> <br>
`r> <br> <br> <br>
`< a name = "link2 "> </a > < font >Link 2 Works!< /font >
`<br> <br> <br> <br> <br> <br> <br> <br> <br>
`r> <br> <br> <br>
`< a name ="1link3"11> </a > < font >Link 3 Works!<I/font >
`<br> <br> <br> <br> <br> <br> <br> <br> <br>
`r> <br> <br> <br>
`< a name = " link4 "> </a > .< font > Link 4 Works! <C/font >
`<br> <br> <br> <br> <br> <br> <br> <br> <br>
`r> <br> <br> <br>
`< a name = "link5 "> C /a > <font >Link 5 Works! <I/font >
`<br> <br> <br> <br> <br> <br> Cbr> <br> <br>
`r> <br> <br> <br>
`< a name="link6 "> </a > < font >Link 6 Works!C</font >
`<br> <br> <br> <br> <br> <br>; <br> <br> <br>
`r> <br> <br> <br>
`
`<br> <br> <br> <br> <b
`
`<br> <br> <br> <br> <b
`
`<br> <br> <bi> <br> Cb
`
`<br> <br> <br> <br> <b
`
`<br> <br> <br> <br> <b
`
`Cbr> <br> Cbr> <br> <b
`
`Exhibit I
`
`Google Exhibit 1019
`Page 7
`
`

`
`< a name = "link7 "> <C/a > < font >Link 7 Works!P</font >
`<br> <br> <br> <br> <br> <br> <br> <br> <Cbr> <br> <br> <br> <br> <b
`r> <br> <br> <br>
`< a name="link8'"> </a > < font >Link 8 Works! c /font >
`
`<p> <font size='"-1">Copyright ©D 1998 by J. Hermel and J.L. Finseth. All rights
`reserved. c /font > < /p >
`< /body >
`< /html >
`
`View.java
`
`*@(#)View.java
`
`1.1 98/08/25
`
`*Coprigt ©1998 by J. Hermel and J.L. Finseth. All rights reserved.
`
`import netscape. security. PrivilegeManager;
`import java. io. *;
`import j ava. applet.*
`import java. util. *;
`import java. net.*;
`import java. awt. *;
`import java. awt. event.*;
`
`*View -
`
`This Java applet is designed to trigger an image and associated image ma
`change when the mouse pointer is moved over a hypertext link. The imo
`map for each image describes the active regions in the image and
`indicates the location of the document to be retrieved when the defined
`area is clicked.
`If the user clicks the mouse button over a hypertext
`lint or one of the non-active regions of the image, the browser links to
`the URL associated with the hypertext link. If the user clicks the mouse
`button over one of the active areas of the image, the browser links to
`the URL associated with that area. The coordinates of the rectangular
`areas -- only rectangular regions are supported -- are expressed, in pairs
`of x,y coordinates which define the upper-right and lower-left hand
`
`*
`
`*
`
`Exhibit 1
`
`s
`
`10
`
`20
`
`30
`
`35
`
`Google Exhibit 1019
`Page 8
`
`

`
`* corners of the regions. If the mouse pointer is moved over a hypertext
`* link or image (both active and non-active regions) the associated URL is
`* displayed in the browser's status bar. Each image can be moved and/or
`* resized by dragging the mouse over the upper-right or upper-left hand
`* corners of the image, respectively.
`
`" The following files are needed to use this applet:
`" View. class, MapCanvas, class, MapLabel.class, Map.class, Region.class,
`" java-images.html
`*
`
`*@version 1. 1, 25 August 1998
`
`public class View extends Applet implements MouseListener{
`
`MapCanvas theCanvas;
`Vector mapLabels;
`Panel labelPanel;
`Panel mapPanel;
`AppletContext appContext;
`
`public void init()o
`try{(
`
`PrivilegeManager. enablePrivilege(" UniversalFileRead")
`showStatus( "UniversalFileRead enabled! ");
`
`catch(Exception e){
`showStatus(" File access denied');
`
`appContext = getAppletContextO;
`theCanvas= new MapCanvas(this);
`mapLabels = new Vectoro;
`int x, y, height, width;
`URL baseURL=null, regionURt=null, mapURL=null
`labelPanel = new Panel();
`labelPanel.setSize(100,300);
`labelPanel. setLayout(new GridLayout(0, 1,10,10));
`
`try{
`baseURL = getDocinnentBaseo;
`
`}c
`
`atch(Exception e){
`System. out.println(e. getMessageo);
`
`Exhibit I
`
`10
`
`15
`
`20
`
`25}
`
`30
`
`35
`
`40.
`
`Google Exhibit 1019
`Page 9
`
`

`
`for (int n= 0; n < (Integer. value0f(getParameter
`("num.images"))). intValueo; n+ +){
`
`5
`
`10
`
`try{
`mapURL= new URL(baseURL,getParameter("url" + n));
`System. out. println(mapURL);
`
`catch(MalformedURLException e){
`~Systemn.out. println(e. getMessageo);
`
`Image tempImage = Toolkit.getDefauItToolkito.
`getlmage(getParameter(" image" + n));
`System. out. println( "View. inito: templmage = "+tempImage
`+' paramter=
`'+ getParameter("image" +n));
`this. showStatus("View. inito: image=" + templmage);
`Map aMap= new Map(tempImage, mapURL);
`
`theCanvas .maps. addElement(aMap);-
`mapLabels .addElement(new MapLabel(getParameter
`("string" + n), this ));
`
`for (int m= 0; m < Integer. valueOf(
`getParameter('num_areas' "+n)) .intValueo)
`;m++){
`
`String mapCoord = getParanmeter
`("map_coord" + n + in);
`StringTokenizer st= new StringTokenizer
`(mapCoord, ", ");
`x =Integer. valueOf(st. nextTokeno). intValueo;
`y = Integer. value0f(st. nextTokeno). intValue (;
`width = Integer. valueOf(st. nextTokeno). intValueo)
`
`height =Integer. valueOf(st. nextTokeno) .intValueo)
`
`try {
`regionURt= new URL(baseURt,getParameter("map_url"
`
`catch(MalformedURLException e){
`System. out. println(e. getMessageo);
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40}
`
`Exhibit 1
`
`Google Exhibit 1019
`Page 10
`
`

`
`s
`
`I0
`
`15
`
`20
`
`25
`
`30
`
`35
`
`((Map)theCanvas. maps. elementAt(n)).
`myRegions. addElement(new Region(x ,y ,width,height, regionURL));
`
`mapPanel= new PaneIO;
`mapPanel. setSize(490,381);
`
`mapPanel. setLayout(null);
`mapPanel. add(theCanvas);
`
`this. setLayout(new BorderLayout(O0,O));
`this. add(labelPanel, "West");
`this. add(mapPanel, "East');
`this. doLayoauto;
`theCanvas. showFirsto;
`this. setVisible(irue);
`this.repainto;
`mapPanel .repainto;
`theCanvas. repainto;
`
`mapPanel. addMouseListener(this);
`
`void changeMap(MapLabel theLabel){
`int labeUndex = mapLabels. indexOf(theLabel);
`theCanvas .changeMap(labellndex);
`
`void goToDoc(MapLabel theLabel){
`int b = this. mapLabels. indexOf(theLabel);
`URL alURL = ((Map)this. theCanvas .maps. elementAt(b)) .myURL;
`System. out. printin("go to " + aUl.toStringf);
`this. appContext. showDocument(aURL);
`
`void goToDoc(URL aUlRL){
`System. out. prihtln(" go to " + aUl.toStringf)t
`this.appContext. showDocument(aURL);
`p u l c vi}o s C i k d M u e v n e
`public void mouseClicked(MouseEvent me) {
`void mouseRelesed(MouseEvent me){
`
`}
`
`40public
`
`40
`
`public.void mouseRneeaed(MouseEvent me){
`
`public void mouseExited(MouseEvent me) ()I
`
`Exhibit 1
`
`Google Exhibit 1019
`Page 11
`
`

`
`MapCanvas.java
`
`*@(#)MapCanvas.java
`
`1.1 98/08/25
`
`5
`
`*
`
`*Copyright © 1998 by J. Hermel and J.L. Finseth. All rights reserved.
`
`.10
`
`15
`
`20
`
`25
`
`30
`
`import j ava. util.;
`import java. awt.*
`import java.awt.event.*;-
`import java. net.*;
`
`*MapCanvas
`
`*@version 1.1, 25 August 1998
`
`public class MapCanvas extends Canvas implements MouseListener,
`MouseMotionListener{
`
`Vector maps;
`Map currentMap;
`View theView;
`Image currentImage;
`int iWidth = 10,illeight = 10;
`URL currentURL =null;
`boolean ishiRegion= false;
`int pressedX, pressedY, releasedX, releasedY;
`int deltaX,deltaY;
`int xPos,yPos;
`
`MapCanvas(View theView){
`maps = new Vectoro;
`this. the View = theView;
`this. setSize(200, 100);
`
`Exhibit 1
`
`Google Exhibit 1019
`Page 12
`
`

`
`5}
`
`0
`
`0
`
`0
`
`this. setLocation(0, 100);
`this. addMouseListener(this);
`this. addMouseMotionListener(this);
`this. setBackground(Color. lightGray);
`
`public void showFirstO{
`currentMap = (Map)maps .elementAt(0);
`cuffentImage = currentMap. myMap;
`System. out.println("MapCanvas. showFirsto: :currentImage=
`+ currentImage);
`iWidth = currentImage. getWidth(this);
`iHeight = currentImage. getHeight(this);
`this. setSize(iWidth,iHeight);
`
`5
`
`Dimension panelSize = this. theView .mapPanel.getSizeo;
`(panelSize. width - iWidth)/2;
`~xPos=
`yPos= (panelSize. height - iHeight)/2; // -10 places the image
`flin the same position as changeMap()
`System. out. println("MapCanvas. showFirsto: width =" + iWidth +
`"height=" +iHeight+ "xPos=" +xPos +" yPos=" +yPos);
`this. setLocation(xPos, yPos);
`repainto;
`
`public void paint(Graphics g){
`g .drawlmage(currentlmage,0,0,iWidth,
`
`iHeight, this);
`
`void changeMap(int theIndex){
`cuffentMap. resetRegionso;
`theView. showStatus(((Map)maps .elementAt(thelndex)) .myURZL
`AtoStringo);
`currentMap = (Map)maps .elementAt(theIndex);
`currentlmage = currentMap.myMap;
`iWidth = cuffentImage. getWidth(this);
`iHeight = cuffentImage. getHeight(this);
`this. setSize(cuffentlmage .getWidth(this) ,currentImage.
`getHleight(this));
`Dimension panelSize = this. theView. mapPanel. getSizeo;
`xPos= (panelSize. width - iWidth)/2;
`iHeight)/2;
`yPos= (panelSiie. height -
`System. out. println("MapCanvas. changeMapo: xPos=" + xPos +
`11yPos=" + yPos);
`this. setLocation(xPos,yPos);
`repa into;
`
`35
`
`40
`
`Exhibit I
`
`Google Exhibit 1019
`Page 13
`
`

`
`void resizeMap(int deltaX,int deltaY){
`float xFactor, yFactor;
`int oldX,oldY; U/starting location of canvas on panel
`Dimension canvasSize = this. getSizeo;
`xFactor= (float)((float)deltaX / (float)canvasSize. width + 1.00);
`yFactor= (float)((float)deltaY / (float)canvasSize. height + 1.00);
`iWidth= canvasSize. width + deltaX;
`iHeight= canvasSize. height'+ deltaY;
`oldX = this. getLocationo. x;
`oldY = this. getLocation() .y;
`this. setSize(canvasS ize. width + deltaX, canvasSize. .height +
`deltaY);
`this. setLocation(oldX- deltaX, oldY- deltaY);
`this. currentMap .rescaleRegions(xFactor,yFactor);
`System. out. println("'resizeMap: xFactor=" + xFactor +
`"yFactor=" +yFactor+"' iWidth=" +iWidth+" iHeight="
`+ iHeight);
`
`void moveMap(int deltaX, fit deltaY){
`int oldX,oldY;
`oldX = this. getLocationo. x;
`oldY = this. getLocation().y;
`this. setLocation(oldX - deltaX, oldY - deltaY);
`ubicvod musClckd(MusEvntme
`* public void mouseClicked(MouseEvent me){
`
`25
`
`if (this. getCursoro.equals(Cursor.getPredefmnedCursor(Cursor.
`DEFAULT-CURSOR)))
`theView. goToDoc(currentURL);
`
`else {
`
`pressedX = me. getXo;
`pressedY = me. getYo;
`this. repainto;
`
`public void mouseReleased(MouseEvent me){
`deltaX= pressedX - me.getXo;
`deltaY= pressedY - mne.getYo;
`System. out.println( "MapCanvas.mouseReleased: deltaX,deltaY="
`+ deltaX +","+deltaY);
`
`Exhibit 1
`
`5
`
`10
`
`15
`
`20
`
`30
`
`35}
`
`40
`
`Google Exhibit 1019
`Page 14
`
`

`
`System.out.prntln("MapCanvas.mouseReleased: x,y =+
`me.getX() + ", + me.getYo);
`if (this. getCursoro .equals(Cursor. getPredefinedCursor(Cursor.
`NW -RESIZE-CURSOR)))
`this. resizeMap(deltaX, deltaY);
`else if (this. getCursoro). equals(Cursor. getPredefinedCursor(Cursor.
`MOVE_CURSOR)))
`this. moveMap(deltaX, deltaY);
`repainto;
`
`public void mouseEntered(MouseEvent me) {
`
`public void mouseExited(MouseEvent me){}
`public void mouseMoved(MouseEvent me){
`isInRegion= false;
`if (!isInHotArea(me)){
`
`for (int a=O; a < currentMap.myRegions.sizeo; a+ +){
`Region theRegion = (Region)currentMap .myRegions.
`elementAt(a);
`if ((me.getX() > = thieRegion.scaledX) &&
`(me.getXo < = theRegion.scaledX + theRegion.
`scaledWidth)
`&& (me.getY() > =theRegion.scaledY)'&&
`(me.getYo <= theRegion.scaledY + theRegion.
`
`25
`
`scaledHeight)){
`
`the View. showStatus(theRegion.url.toStringQ);
`isInRegion = true;
`currentURL = theReg ion .url;
`
`if (lisInRegion){
`theView. showStatus(currentMap. myURL. toStringo);
`currentURt = currentMap .myURL;
`
`public void mouseDragged(MouseEvent me){
`
`Exhibit I
`
`Exhit I10145
`
`s
`
`10}
`
`15
`
`20
`
`30
`
`35
`
`40}
`
`Google Exhibit 1019
`Page 15
`
`

`
`boolean isInHotArea(MouseEvent me) (
`if (me.getX() > = 0 && me.getX() < = 7 && me.getY0 > = 0 &&
`me.getY0) < = 7) {
`this. setCursor(Cursor. getPredefinedCursor(Cursor.
`NW-RESIZE-CURSOR));
`System. out. println(" isInHotAreao: resize");
`return true;
`
`if (me.getX() < = iWidth && me.getX() > =iWidth-7 &&
`me.getY0 > = 0 && me.getY0 < = 7){
`this. setCursor(Cursor. getPredefinedCursor(Cursor.
`MOVE_CURSOR));
`System. out.println( "isInHotArea0: move");
`return true;
`
`this. setCursor(Cursor. getPredefinedCursor(Cursor.
`DEFAULT-CURSOR));
`return false;
`
`public Dimension getPreferredSizeo()
`return new Dimension(50,50);
`
`MapLabel.java
`
`30
`
`*@(#)MapLabel.java
`
`1.1 98/08/25
`
`*Copyright © 1998 by J. Hermel and J.L. Finseth. All rights reserved.
`
`35
`
`import
`import
`
`j ava. awt. event. *
`java.awt.*;
`
`Exhibit 1
`
`Exhit I11/46
`
`Google Exhibit 1019
`Page 16
`
`

`
`*MapLabel
`
`*@version 1. 1, 25 August 1998
`
`5
`
`public class MapLabel extends Label implements
`MouseMotionListener, MouseListener{
`
`View theView;
`
`MapLabel(String label, View theView){
`super(label);
`this.theView= theView;
`this, setBackground(Color. green);
`this. the View . labelPanel .add(this);
`this. addMouseListener(this);
`this. addMouseMotionListener(this);
`
`public void mouseClicked(MouseEvent me){
`System. out.println('MapLabel: mouseClickedo");
`theView.goToDoc(this);
`public void mousePressed(MouseEvent me) {
`public void mouseReleased(MouseEvent me) {
`
`public void mouseEntered(MouseEvent me){
`theView .changeMap(Nhs);
`
`} p
`
`ublic void mouseExited(MouseEvent me){}
`public void mouseMoved(MouseEvent me) {
`public void mouseDragged(MouseEvent me){
`
`t0
`
`20}
`
`25
`
`30
`
`}
`
`Map.java
`
`*@(#)Map.java
`
`1.1 98/08/25
`
`Exhibkt I
`
`Google Exhibit 1019
`Page 17
`
`

`
`*Copyright @ 1998 by J. Herme'l and J.L, Finseth, All rights reserved.
`
`5
`
`import java. util.*
`import java. net.*;
`import java. awt,*
`
`10
`
`15
`
`20
`
`30
`
`35
`
`*Map
`
`*
`*@version 1.1, 25 August 1998
`
`public class Map {
`
`Image myMap;
`URL myURL;
`Vector myRegions;
`
`Map(Image myMap, URL myURL){
`this.myURL= myURL;
`this.myMap= myMap;
`myRegions= new Vectoro0;
`miyMap.getHeight(null); // wakes up image so it is ready to be
`I/displayed when called
`
`25
`
`void resetRegionso,
`for (int a= 0; a < myRegions. sizeQ; a++){
`((Region)myRegions .elementAt(a)) .resetRegiono;
`
`void rescaleRegions(float xFactor, float yFactor){
`for (int a =0; a < myRegions. sizeo; a ++){
`((Region)myRegions.elementAt(a)) .rescale(xFactor,
`yFactor);
`
`}
`
`Exhibit I
`
`Exhit I13/48
`
`Google Exhibit 1019
`Page 18
`
`

`
`'Region.j ava
`
`*@(#)Region.java 1. 198/08/25
`
`5
`
`Copyright © 1998 by J. Hermel and J.L. Finseth. All rights reserved.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`import java. net.*;
`import java.ltang. Math;
`
`*Region
`
`*@version 1.1, 25 August 1998
`
`public class Region{
`int x,y,width,height, scaledX,scaledY,scaledWidth,scaledHeight;
`URL url;
`
`Region(int x, it y, int width, int height, URL url){
`this.x=x;
`this.y=y;
`this. width =width;
`this. height= height;
`this. url = url;
`resetRegiono;
`System. out. println("Regiono: x, y,width, height= "+x+y +
`width +height);
`
`void resetRegion()o
`scaledX = x;
`scaledY= y;
`scaledWidth= width;
`scaledHeight= height;
`
`void rescale(float OFactor, float yFactor){
`scaledWidth= Math. round((float)scaledWidth * xFactor);
`scaledHeight = Math. round(scaledHeight * yFactor);
`scaledX = Math. round(scaledX * xFactor);
`scaledY = Math. round(scaledY * yFactor);
`
`Exhibit I144
`
`14/49
`
`Google Exhibit 1019
`Page 19
`
`

`
`Java Changing images Examtple
`
`Move mouse pointer over links to view images:
`
`a Copyright 1998 by J. Hermel and J.L. Finseth. All rights reserved.
`
`Exhibit I
`
`Exhit I15150
`
`Google Exhibit 1019
`Page 20
`
`

`
`EXHIBIT 2
`EXHIBIT 2
`
`Google Exhibit 1019
`Page 21
`
`

`
`EXHIBIT 2
`The following is an example of JavaScript source code allowing a single
`graphic screen area to show a plurality of images. Each of the images is associated
`with a hyperlink. When the cursor passes over the hyperlink, the associated image
`replaces a default image (which may be blank). The accompanying screen dump from
`a browser indicates the results. achieved.
`In that screen dump, the cursor (not shown)
`is positioned over the "Do Not Cross" link. Below the screen dump is an alternative,
`and more generic, coding of thie code immediately below.
`
`<html >
`1. < head >
`< title > Changing Images Example < /title >
`<script language= "JavaScript" >
`<!--Hide
`//Preload images to cache to display them immediately.
`var imageOne = new Imageo)
`imageOne. src = "enter. gif"
`var imageTwo =new Imageo)
`imageTwo.src= "pass.gif"
`*
`* var imageThree =new Imageo0
`imageThree. src ="crossing. gif"
`/ *Tri.gger image change by assigning new source to image defined in HTML
`(i.e., images.gif). New and old images must be of the same size or
`Netscape will automatically re-scale new image -- not a problem in
`Internet Explorer. */
`function changer(filePrefix) {
`document. images[0].src=filePrefix+ ".gif"
`
`/End hiding-->
`< /script >
`< /head >
`< body link= "#213D89" vlink= "#AM1B2A" alink= V#FFOOOO" >
`<p> <font color= V#CCOOOO" size--" +1"
`face = "Verdana,Helvetica,Arial" > < b > Changing Images
`Example </b > < /font > <I/p>
`< p > Move cursor over links to view images: < /p >
`< table width= " 100% ">
`<ar>
`<td>
`* <br>
`Link #1: <a href =V"link" onMouseOver = "changer('enter')"
`onMouseOut= "changer('images') "> < b >Do Not Enter </b > </a > < br > < br >
`Link #2: <a href=V"#ink" onMouseOver= "changer('pass')"
`
`I/
`
`Exhibit 2
`
`5
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`Google Exhibit 1019
`Page 22
`
`

`
`ornMouseQut= "changer('images') "> < b > Do Not Pass <l/b> </a > < br > < br >
`Link #3: <a href= "#link" ornMouseOver= 'changer('crossing')"
`onMouseOut= "changer('images')"'> < b > No Crossing <l/b> <C/a> < br > < br >
`
`<td>
`< p align='"center" > < img src='"images. gif' alt = "Images" > < /p >
`
`<C/table >
`<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <b
`r> <br> <br> <br>
`<a name="link" > </a> <font>The Link Works! C/font> Cbr> <br>
`
`<p> <font size="-V">Copyright 0 1998 by J. Hermel and J.L. Finseth. All fights
`reserved. < /font > < /p >
`<I/body >
`C /html >
`
`5
`
`t0
`
`is
`
`Changing Images Example
`
`Move cursor aver links to view images:
`
`Link #1: Do Not Enter
`
`Link #2: Do Not Pass
`
`Link #3: No Crossing
`
`__
`
`~
`
`hj~i
`
`jgt.
`
`I'~
`
`~
`
`-
`
`Exhibit 2
`
`Google Exhibit 1019
`Page 23
`
`

`
`Alternative coding
`< html >
`
`<I!--This JavaScript/HTML source code is designed to trigger an image
`change when the mouse pointer is moved over a hyperlink. If the
`user clicks the mouse button over a hyperlink, the browser links
`to an associated bookmark anchor elsewhere in the document. -- >
`
`< head >
`< title > JavaScript Changing Images Example < /title >
`< script language= "JavaScript >
`<!--hide
`
`//Preload the images into the cache to display them immediately.
`var imageOne = new Imageo)
`imageOne. src = " image 1. gif"
`var imageTwo =new Imageo)
`imageTwo. src = " image2. gif"
`var imageThree =new Image()
`imageThree. src =" image3. gif"
`
`/ *Trjgger an image change by assigning a preloaded image to the
`default image source (i.e., imagAOgif). Note that in Netscape,
`the new and old images must be of the same size or the new image
`will be automatically re-scaled. This is not a problem in Internet
`Explorer. *
`function changer(filePrefix){
`document. images[O].srQ =filePrefix + ".gif"
`
`} f
`
`/end hiding-- >
`< /script >
`C /head >
`
`< body >
`+ 1 "> < b > JavaScript Changing Images Example < /b > C /font > < /p >
`< p> < font size
`<p > Move mouse pointer over links to view images: C /p >
`
`< table width=100O% ">
`
`Exh,ibit 2
`
`s
`
`10
`
`15
`
`20
`
`25
`
`30
`
`Google Exhibit 1019
`Page 24
`
`

`
`5
`
`is
`
`20
`
`25
`
`< tr >
`<td> <br>
`Link #1: < a href ="Vlinkl"
`onMouseOver= "changer('imagel') "> < b> imagel <I[b> </a > <br > <br >
`Link #2: <a href ="#hink2"
`onMouseOver = "changer('imageT)'"> < b> image2 <l/b> </a > <br > < br >
`Link #3: < a href ="#link3 "
`onMouseOver= "changer('image3') "> < b> image3 < /b > </a > < br > <br >
`
`</td>
`10 <td>
`< p align = "center" > < img src = "imnageO.gif" alt = "Images" > < /p >
`
`< /table >
`
`<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br>
`r> <br><br> <br>
`<a name="linkl" > </a> <font>Linkl Works!h</font>
`<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br>
`r> <br> <br> <br>
`< a name = "link2 ". > </a > < font >Link:2 Works! < /font >
`<br> <br> <br> <br> <br> <br> <br> < Br> <br> <br> <br>
`r> <br> <br> <br>
`< a name = "link3 "> </a > < font >Link:3 Works!< /font > <br > <br >
`
`<br> <br> <b
`
`<br> <br> <b
`
`<br> <br> <b
`
`< p> < font size= "- 1 "> Copyright 0 1998 by J. Hermel and J.L. Finseth. All rights
`reserved,<I/font > < /p >
`"</body >
`"</html>
`
`(D Copyright 1998 by J. Hermel and J.L. Finseth. All rights reserved.
`
`Exhibit 2
`
`Google Exhibit 1019
`Page 25
`
`

`
`EXHIBIT 3
`EXHIBIT 3
`
`Google Exhibit 1019
`Page 26
`
`

`
`EXHIBIT 3
`The following is an example of JavaScript source code allowing a single
`browser graphic screen area to show two distinct frames. The upper frame shows a
`series of links. The lower frame shows the web page when the cursor is positioned
`over the link. As indicated below, upper frame 1 and lower frame 2 provide the
`content of the frames used in the controlling code below. The accompanying screen
`dump from a browser indicates the results achieved.
`
`Controlling Code JavaScript
`< html >
`
`<!--This JavaScript/HTML source code uses frames to display a new page.
`Moving the mouse pointer over a hyperlink changes the contents of a
`frame in the browser window, loading the document referred to by that
`link.
`
`Copyright 0 1998 by J. Hermel and J. L. Finseth. All rights reserved.-->
`
`< head >
`< title > JavaScript Frames Example < /title >
`"</head >
`< frameset rows = "50 %,50 %" >
`<frame src="framel.htm1" name= 'framel" scrolling= "yes">
`<frame src="frame2.htrnP name ="frame:2" scrolling= "yes">
`"</frameset >
`"C/html >
`
`s
`
`10
`
`is
`
`20
`
`Frame 1 JavaScript
`< html >
`
`25
`
`<!-- framel.html--
`
`< head >
`<tidle> JavaScript Frames
`"C/head >
`< body >
`<p> <font size="+P">
`
`30
`
`Exhibit 3
`
`Example -- Frame 1 </title>
`
`< b > JavaScript Frames Example < /b > C /font > < /p >
`
`Google Exhibit 1019
`Page 27
`
`

`
`< p> Move mouse pointer over links to view pages in bottom frame: < /p > < br >
`Link #1: <a href = "http:I//www. yahoo. com/l"
`onMouseOver = "Parent. frame2. window. location ='http: //www. yahoo,.com/ "' > <b >
`Yahool</b> </a> <br> <br>
`5 Link #2: <a href = "http: //www. altavista. digital. com/"
`onMouseOver = "Parent. frame2. window. location ='http: //www. altavista. digital. comn/"
`> <b>AltaVista</b> </a> <br> <br>
`Link #3: <a href= "http://www.lycos.com/l"
`oniMouseOver= "Parent.frame2. window.location= 'http://www.lycos.com/"''> <b >L
`ycos</b> </a> <br> <br>
`Link #4: <a href= "http://www.infoseek.com/"
`onMouseOver= "Parent. frame2. window. location ='http://www.infoseek.com/"' > <b
`>Infoseek</b> </a> <br> <br>
`Link #5: <a href = "htt: //www. excite. com/"
`onMouseOver= "Parent.frame2.window.location= 'http://www.excite.com/"' > <b >
`Excite</b> </a> <br> <br> <br> <br>
`< p> < font size = "-I" > Copyright 0 1998 by J. Hermel and J. L. Finseth. All rights
`reserved. < /font > < /p >
`"</body >
`< /html >
`
`Framne2 JavaScript
`< html >
`
`<!-frame2. htmIl-- >
`<!--Copyright 0 1998 by J. Hermel and J. L. Finseth. All rights reserved.-->
`
`< head >
`< title > JavaScript Frames Example -- Frame 2 </title >
`"</head >
`"</html >
`
`10
`
`15
`
`20
`
`25
`
`Exhibit 3
`
`Google Exhibit 1019
`Page 28
`
`

`
`O a d ci p i
`
`le E pe r N es ao
`
`FQ a K
`
`-
`
`tWUUIDI/ETSCAECommunicator/PRogram/tmpiIae hl!UIIitMI1W dA
`
`JavaScript Frames Example
`
`Move mouse pointer over links to view pages in bottom frame:
`
`Link #1: Yahoo)
`
`Link #2: AltaVista
`
`Whmt.z N4w ChgckEil
`Yahoo) Pagler
`stock quote alerts
`
`u
`Pemsonzfiz4
`ijoP r1Yahool Mail
`a.,t
`'rsj&
`free email account
`-I
`
`Pla frefnayfooeDn
`
`cmeefr$0ki
`
`hsmnhsfits
`
`tc
`
`ak
`
`© Copyright 1998 by J. Hermel and J.L. Finseth. All rights reserved.
`
`Exhibt 3
`
`Google Exhibit 1019
`Page 29
`
`

`
`EXHIBIT 4
`EXHIBIT 4
`
`Google Exhibit 1019
`Page 30
`
`

`
`EXHIBIT 4
`The following is an example of JavaScript source code that generates new
`browser windows when the cursor is positioned over a link. The web page
`corresponding to the link is then retrieved into that window. When the mouse is
`positioned over a second link, a new browser window is opened with the link's web
`page. When the mouse is positioned over a link already accessed, no action is taken
`to prevent duplicate windows of the same web page. The accompanying screen dump
`from a browser indicates the results achieved.
`
`< html >
`
`<!--This JavaScript/HTML source code is designed to open a new browser
`window when the mouse pointer is moved over a hyperlink. The new
`window displays the Web page referred to by the link. If the user
`clicks the mouse button over a hyperlink, the associated URL is
`loaded.-->
`
`< head >
`< title > Ja

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket