`
`
`
`United States Patent
`
`
`
`6,131,116
`Patent Number:
`
`[11]
`[19]
`
`
`
`
`
`
`
`Rigginsetal.
`*Oct. 10, 2000
`[45]
`Date of Patent:
`
`
`
`
`
`
`SYSTEM AND METHOD FOR GLOBALLY
`
`
`
`
`ACCESSING COMPUTER SERVICES
`
`
`
`
`
`
`
`
`
`
`
`Inventors: Mark D. Riggins, McLeansville, N.C.;
`
`
`
`
`
`
`R. Stanley Bailes, San Jose, Calif.;
`
`
`
`
`
`Hong O. Bui, Cupertino, Calif.; David
`
`
`
`
`
`
`I. Cowan, Menlo Park, Calif.; Daniel I.
`
`
`
`
`
`Mendez; Mason Ng,both of Mountain
`
`
`
`
`
`View, Calif.; Sean Michael Quinlan,
`
`
`
`
`
`San Francisco, Calif.; Prasad Wagle,
`
`
`
`
`Santa Clara, Calif.; Christine C. Ying,
`
`
`
`
`Foster City, Calif.; Christopher R.
`
`
`
`
`
`Zuleeg, San Jose, Calif; Joanna A.
`
`
`
`
`Aptekar-Strober, Menlo Park, Calif.
`
`
`
`
`
`Assignee: Visto Corporation, Mountain View,
`Calif.
`
`
`
`
`
`
`
`This patent issued on a continued pros-
`
`
`
`
`
`ecution application filed under 37 CFR
`
`
`
`
`
`
`1.53(d), and is subject to the twenty year
`
`
`
`
`
`
`term provisions of 35 U.S.C.
`patent
`
`154(a)(2).
`
`Notice:
`
`
`
`
`
`
`
`
`Appl. No.: 08/766,307
`
`
`
`Filed:
`Dec. 13, 1996
`
`
`
`
`
`
`
`Tint, C07 cece eececseeeecseeeseceesnneeeceennenseesnnees GO06F 15/16
`
`
`
`
`US. Ce ccccsecseesessnessnceeserneneennees 709/219; 709/203
`
`
`
`
`
`
`
`
`Field of Search... 395/200.33, 200.47,
`
`
`
`
`395/200.57, 200.49, 200.59; 709/203, 217,
`227, 229, 219
`
`
`
`
`
`
`
`
`[54]
`
`
`[75]
`
`
`[73]
`
`
`
`
`[21]
`
`[22]
`
`[51]
`
`
`
`[52]
`
`
`[58]
`
`
`
`References Cited
`
`
`U.S. PATENT DOCUMENTS
`
`
`
`5/1989 Miller et al. oe eeeeee 707/104
`
`
`
`
`
`6/1993 Parker ...ccccccsssssesscsssseeecsssneesseees 380/21
`
`
`
`
`
`11/1993 Janis we.
`we. T07/9
`
`
`
`
`
`
`12/1996 Hossain et al.eee eee TO7/1
`
`
`
`
`
`
`
`
`
`(List continued on next page.)
`FOREIGN PATENT DOCUMENTS
`
`
`
`6/1997) Canada woe eeeeeeeee HO4M 3/42
`
`
`
`
`
`4,831,582
`
`5,220,603
`
`5,263,157
`
`5,581,749
`
`
`2191505
`
`
`
`
`OTHER PUBLICATIONS
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Article by Bellovin et al., entitled: “Network Firewalls”
`
`
`
`
`
`Published by IEEE Communications Magazine Sep. 1994,
`
`
`pp. 50-57.
`
`
`
`
`
`Article by Steffen Stempel, entitled: “IPAccess—An Internet
`
`
`
`
`
`
`Service Access System for Firewall Installations” Published
`
`
`
`
`
`
`
`by IEEE Communications Magazine Feb. 16, 1995, pp.
`31-41.
`
`
`
`
`
`
`
`Article by Braunet al., entitled: “Web Traffic Characteriza-
`
`
`
`
`
`
`
`tion: an assessment of the impact of caching documents
`
`
`
`
`
`
`from NCSA’s web server” Published by Elsevier Science
`
`
`
`
`B.V. 1995 pp. 37-51.
`
`
`
`
`
`
`
`Article by Nelson et al., entitled: “Security for Infinite
`
`
`
`
`Networks” Published by IEEE Communications Magazine
`
`
`
`
`
`
`on Aug. 22, 1995, pp. 11-19.
`
`
`
`
`
`
`
`Article by Greenwald et al., entitled: “Designing an Aca-
`
`
`
`
`
`
`
`demic Firewall: Policy, Practice, and Experience with
`
`
`
`
`
`SURF” Published by IEEE Communications Magazine on
`
`
`
`
`
`Feb. 22, 1996, pp. 79-92.
`
`
`
`
`
`
`Article by Kiuchiet al., entitled: “C-HTTP—The Develop-
`
`
`
`
`
`ment of a Secure, Closed HTTP-based Network on the
`
`
`
`
`
`Internet” Published by IEEE Proceedings of SNDSSon Feb.
`
`
`
`
`22, 1996, pp. 64-75.
`
`
`
`(List continued on next page.)
`
`
`
`
`Primary Examiner—Mehmet B. Geckil
`
`
`
`
`
`Attorney, Agent, or Firm—Graham & James LLP
`
`
`ABSTRACT
`[57]
`
`
`
`
`
`
`
`A system for communicating through a computer network.
`
`
`
`
`
`
`
`The system includes a communications engine for establish-
`
`
`
`
`
`
`
`ing a communications link with a server, a browser, coupled
`
`
`
`
`
`
`
`
`to the communications engine, for receiving applet infor-
`
`
`
`
`
`
`
`mation corresponding to a service from the server, and an
`
`
`
`
`
`
`
`
`
`applet engine for using the applet information to control user
`
`
`
`
`
`
`
`
`interface I/O of the service. The communications engine
`
`
`
`
`
`
`
`may confirm user access privileges before establishing a
`communications link between the client and the server. The
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`communications engine receives configuration data, and
`
`
`
`
`
`
`
`configures client attributes using the configuration data to
`
`
`
`
`
`
`
`provide a user-specific user interface to the client. It will be
`
`
`
`
`
`
`
`
`appreciated that the system may bestored on a floppy disk
`or hard drive.
`
`
`
`
`
`
`
`
`
`
`
`43 Claims, 10 Drawing Sheets
`
`
`
`B00
`
`
`
`
`
`
`
`(sa)
`
`
`- fo
`
`
`
`620—
`ee J
`re
`630
`
`
`Configure Remote Client
`
`
` Display Web Page onRemote |”
`e fj
`
`Download Applets from Master
`Serverto Remote Client
`
`
`
`Cliant Display
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`640~~
`
`860
`
`660—,
`
`7a
`
`
`
`620
`
`LGEExhibit-1008/Page 1 of 18
`LGEv. Uniloc
`
`LGE Exhibit-1008/Page 1 of 18
`LGE v. Uniloc
`
`
`
`
`6,131,116
`Page 2
`
`
`
`
`U.S. PATENT DOCUMENTS
`
`
`
`3/1997
`Hoffman et al. occ eeeececeeeee 382/115
`
`
`
`
`Conmorset al. wc ceeeeceeceeeee 358/407
`5/1997
`
`
`
`
`7/1997
`
`
`
`
`Thompson et al.
`wee 348/13
`8/1997
`
`
`
`
`Elgamal et al. occ 380/49
`9/1997
`Crozier oe.
`... 395/803
`
`
`
`
`10/1997
`Watson et al... ceeeeeeereeee 395/200.12
`
`
`
`
`10/1997
`Freund et al. oo. ceeeeesceeeeeee 395/605
`
`
`
`
`11/1997
`
`
`
`
`Boothby........
`«707/203
`
`12/1997
`CHOZIEL .oeceeececsseseeeceeeeeneceeeenees 395/335
`
`
`
`1/1998
`
`
`
`
`Foley et ab.
`.ccccceccseeeceees 395/610
`2/1998
`Stefik occccccceesersetcesceecteeneeeee 705/44
`
`
`
`
`Butts et al...
`. 3995/500
`5/1998
`
`
`
`
`
`MacDoran et al... ce ceeeceeceeee 380/25
`5/1998
`
`
`
`
`6/1998
`GSN eeececececcteeereeeeeeceeenes 395/200.33
`
`
`
`7/1998
`Frid-Nielsen et al.
`... 395/208
`
`
`
`
`
`7/1998
`Chen et al. vice cceeeneceeceeee 380/21
`
`
`
`
`
`7/1998
`
`
`
`
`Akiyamaet al. cece 380/25
`
`9/1998
`Van Hoff
`......
`.- 707/513
`
`
`
`
`
`
`9/1998
`WDE o.eeeeececcseeeeceneceeceeceneenscnee 380/24
`
`
`
`
`9/1998
`
`
`
`Vogler icccccscccsescsescsseecsees 395/500
`10/1998
`Cowan et al. v..cceceeeeeeee 395/200.33
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`5,613,012
`
`5,627,658
`
`5,644,354
`
`5,657,390
`
`5,666,553
`
`5,682,478
`
`5,682,524
`
`5,684,990
`
`5,701,423
`
`5,706,502
`
`5,715,403
`
`5,754,830
`
`5,757,916
`
`5,768,510
`
`5,778,346
`
`5,784,463
`
`5,784,464
`
`5,802,530
`
`5,812,668
`
`5,815,683
`
`5,828,840
`
`
`
`
`
`OTHER PUBLICATIONS
`
`
`
`
`
`
`
`Article by S. Cobb, entitled: “Establishing Firewall Policy”
`
`
`
`
`
`
`
`Published by National Computer Security Assn. on Jun.
`
`
`
`
`25-27, 1996, pp. 198-205.
`
`
`
`
`
`
`Tanenbaum, Andrew S., “Computer Network”, Third Edi-
`
`
`
`
`
`
`tion, Prentice—Hall 1996, ISBN 0-13-349945-6, Chapter7,
`
`
`
`
`
`Sections 7.1.4 to 7.1.6, pp. 597-618.
`
`
`
`
`
`
`Knudsen, Jonathan, “Java Cryptography”, First Edition,
`
`
`
`
`
`
`
`O’Reilly & Assoc. 1998, ISBN 1-56592—402-9, pp. 79-91.
`
`
`
`
`Web page: www.verisign.com/press/product/isv.html, Veri-
`
`
`
`
`
`
`
`sign Press Release, “Versign Enhances Digital
`IDS to
`
`
`
`
`
`
`
`Enable Universal Website Login and One-Step Registra-
`
`
`
`
`tion’, Nov. 3, 1998, 3 pages.
`
`
`
`
`
`
`
`Mark Brown, “Using Netscape 2”, Que Corporation, 1995,
`
`
`pp. 885-907.
`
`
`
`
`
`
`Douglas Kramer, “The Java Platform,” Javas—Soft, May
`
`
`
`1996, pp. 1-25.
`
`
`
`Package java.applet; java.net http:/Awww-nrg.ee lbl.gov/jef/
`
`
`
`
`
`apibook/javaf.htm javam.htm Apr. 22, 1996.
`
`
`
`
`http://mech.postech.ac.kr/Java/java.sun-
`Servlet Tutorial
`
`
`.com/products/jeeves/current
`release//doc/servlet—tutorial/
`
`
`
`
`servlet—tutorial html Aug. 20, 1996.
`
`
`
`
`
`
`LGEExhibit-1008/Page 2 of 18
`
`LGE Exhibit-1008/Page 2 of 18
`
`
`
`
`U.S. Patent
`
`
`
`
`
`Oct. 10, 2000
`
`
`
`
`
`Sheet 1 of 10
`
`6,131,116
`
`
`
`
`
`001
`
`
`
`
`
`ByeqUOReINDYUODySjalddy@Tan©
`
`
`
`*jsenbayBdIANIES©)©“ySonboey
`
`SdiAlas
`
`
`
`GLL9eLOSL
`
`eaulBuy3BOIAIBSom
`
`O71a|qepeojumoqOviJasmoig
`
`
`
`
`
`
`
`sjajddy
`
`
`
`eyeqaaisucdsay©)
`
`ejeqsalsuodsay»@
`
`cel
`
`
`
`JaAlasJayseyy
`
`
`
`JUSI|DBJOWsY
`
`
`
`OLLae
`
`uoneinByuoy
`
`
`
`Z€L
`
`
`
`Req
`
`
`
`
`
`BdIAIESauibuyadiAiesTOMESONO
`
`aulbug
`
`SEL
`
`
`
`
`
`aulbuysolAles
`
`091Z9L
`
`SOLOF991
`
`lSls
`
`LGEExhibit-1008/Page3 of 18
`
`LGE Exhibit-1008/Page 3 of 18
`
`
`
`
`
`
`U.S. Patent
`
`
`
`
`
`Oct. 10, 2000
`
`
`
`
`Sheet 2 of 10
`
`6,131,116
`
`
`
`
`
`
`
`OS]JUSIIDSsjowsy
`
`
`
`
`
`
`
`
`
`yndjno
`
`S0lAaq
`
`Ww
`
`0te
`
`
`
`022Ole
`
`
`
`sja\ddy
`
`pepeojumogc6¢
`
`
`
`uoleinbiyuoyv6Z
`
`962
`
`¢Old
`
`082
`
`C8C
`
`8c
`
`SSL
`
`
`88¢
`
`62
`
`
`
`abeiojseyeq
`
`ao1Aeq
`
`SUON]eOIUNWWUOD
`
`SORHE}U]
`
`Ort
`
`Ge
`
`LGE Exhibit-1008/Page 4 of 18
`
`LGE Exhibit-1008/Page 4 of 18
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`
`
`
`
`Oct. 10, 2000
`
`
`
`
`Sheet 3 of 10
`
`6,131,116
`
`
`
`
`
`aulBugJsoHjejddy
`
`98t
`
`v’
`
`casjuaby
`ansS}O[NIaS
`
`ajqepeojumoq
`
`sjaiddy
`
`
`
`eyeguoneinbyuoy
`
`
`
`eulbuysoInas
`
`Oge
`
`c8e
`
`eel
`
`e8e
`
`9EL
`
`Zeb
`
`8el
`
`09
`
`
`
`aBeiojseyeq
`
`ad1Aaq
`
`SUONEOIUNWWUOD
`
`adeHa}u]
`
`Ose
`
`OcL
`
`OvL
`
`Ve‘Sls
`
`LGEExhibit-1008/Page 5 of 18
`
`yndjno
`
`a01Aeq
`
`yndu|
`
`aolnaq
`
`0v
`
`Ndd
`
`
`
`O€|JaAasJa}seYW
`
`we
`
`Oee
`
`Oce
`
`OLe
`
`
`
`LGE Exhibit-1008/Page 5 of 18
`
`
`
`
`
`
`
`€
`
`
`
`U.S. Patent
`
`
`
`
`Oct. 10, 2000
`
`
`
`
`
`Sheet 4 of 10
`
`
`6,131,116
`
`
`
`137
`
`
`
`
`a
`
`Service Addresses
`
`
`
`Settings
`
`Preferences
`
`
`
`Services
`
`
`
`
`
`
`
`
`FIG. 3B
`
`LGEExhibit-1008/Page6 of 18
`
`LGE Exhibit-1008/Page 6 of 18
`
`
`
`
`U.S. Patent
`
`
`
`
`
`Oct. 10, 2000
`
`
`
`
`Sheet 5 of 10
`
`6,131,116
`
`
`
`
`
`
`
`
`
`OOFJUAIID|e907]
`
`OLP
`
`
`
`—_—Vv
`
`O&Pr
`
`OcV
`
`OLY
`
`yndyno
`
`s01Neq
`
`yndu}
`
`ad1ANq
`
`Orr
`
`Ndd
`
`
`
`aBelojsejeg
`
`B01Aeq
`
`suoljeolunwwoD
`
`soeHa}u|
`
`O87
`
`0S
`v
`
`
`
`L8P
`
`
`
`09P
`
`
`
`O06eulBuyadlNas
`
`v-Ols
`
`CSV
`
`v8y
`
`
`
`987
`
`
`
`Och
`
`LGEExhibit-1008/Page7 of 18
`
`LGE Exhibit-1008/Page 7 of 18
`
`
`
`
`
`
`U.S. Patent
`
`
`
`
`Oct. 10, 2000
`
`
`
`
`
`Sheet 6 of 10
`
`
`6,131,116
`
`
`
`900
`
`
`x
`
`
`
`396
`
`
`
`Sending Faxes
`
`
`
`
`Roam Page
`
`
`
`Calendaring
`
`
`
`Internet Access
`
`
`
`
`
`
`
`
`
`FIG. 5
`
`
`
`(Roam Page Screen Shot)
`
`
`
`LGEExhibit-1008/Page8 of 18
`
`LGE Exhibit-1008/Page 8 of 18
`
`
`
`
`U.S. Patent
`
`
`
`Oct. 10, 2000
`
`
`
`
`
`Sheet 7 of 10
`
`
`6,131,116
`
`
`
`600
`
`
`
`
`x
`
`
`
`
`
`
`
`Create Link Between Remote
`
`
`
`
`Client and Master Server
`
`
`
`Download Configuration Data
`
`
`
`610
`
`
`
`620
`
`
`
`630
`
`
`
`
`
`Configure Remote Client
`
`
`
`
`
`
`Download Applets from Master
`
`
`
`Server to Remote Client
`
`
`
`
`
`
`Display Web Page on Remote
`
`
`Client Display
`
`
`
`
`
`Select a Service, whichInitiates
`
`
`
`
`
`
`Execution of the Appropriate
`
`Applet
`
`
`
`
`
`Initiate Execution of the
`
`
`Appropriate Service
`
`
`
`
`
`
`Provide Access to Service to
`
`
`
`Remote Client User
`
`a L
`
`640
`
`650
`
`
`
`660
`
`
`
`670
`
`
`
`680
`
`
`
`
`
`GEExhibit-1008/Page 9 of 18
`
`LGE Exhibit-1008/Page 9 of 18
`
`
`
`U.S. Patent
`
`Oct. 10, 2000
`
`Sheet 8 of 10
`
`6,131,116
`
`670
`
`A
`
`Start
`Corresponding Serviet
`
`Applet Forwards Service Request to
`
`Serviet Retrieves Service Address
`
`Servlet Forwards Service Request
`to Appropriate Service Interface
`
`Service Interface Initiates Execution
`of Appropriate Service
`
`Service Interface Informs Servlet of
`Service Initiation
`
`Servlet ConfiguresItself to Act as
`
`Proxy for Applet
`
`Serviet Informs Applet of Service
`Initiation
`
`Applet Configures Itself to Act as I/O
`Interface with Service Engine
`
`710
`
`720
`
`730
`
`740
`
`750
`
`760
`
`770
`
`780
`
`FIG. 7
`
`LGE Exhibit-1008/Page 10 of 18
`
`
`
`810
`
`
`
`820
`
`
`
`830
`
`
`
`840
`
`
`
`850
`
`
`
`860
`
`
`
`870
`
`
`
`
`
`
`
`Applet Forwards Service Requestto
`
`
`Service Interface
`
`
`
`
`Service Interface Initiates Execution
`
`
`
`of Appropriate Service
`
`
`
`
`
`
`
`ServiceInitiation
`
`U.S. Patent
`
`
`
`
`Oct. 10, 2000
`
`
`
`
`
`Sheet 9 of 10
`
`
`6,131,116
`
`
`
`670
`
`
`
`
`
`
`
`
`
`
`Applet Requests the Master Serverto
`
`
`
`
`
`Opena Direct Connection with the
`
`
`Service Engine
`
`
`
`
`Master Server Sends Service-Specific
`
`
`
`
`Configuration Data to the Applet
`
`
`
`
`
`
`Client Opens Direct Connection
`
`
`With Service
`
`
`
`
`
`
`
`Service Interface Informs Applet of
`
`
`
`Interface with Service Engine
`
`
`
`
`
`Applet ConfiguresItself to Act as I/O
`
`
`
`
`
`End
`
`
`FIG. 8
`
`LGEExhibit-1008/Page 11 of 18
`
`LGE Exhibit-1008/Page 11 of 18
`
`
`
`
`U.S. Patent
`
`
`
`Oct. 10, 2000
`
`
`
`
`
`Sheet 10 of 10
`
`
`6,131,116
`
`
`
`680
`
`
`
`910
`
`
`
`920
`
`
`
`930
`
`
`
`940
`
`
`
`960
`
`
`
`Load Service Engine
`
`
`
`
`
`
`
`
`
`
`
`
`Engine
`
`
`
`
`
`into RAM Execute Service
`
`
`
`
`
`Send Display Data and I/O
`
`
`Requests as Responsive Data
`
`
`
`to Remote Client
`
`
`
`Wait for an Instruction
`
`
`
`
`from Remote Client
`
`
`
`
`
`Instructed to Quit
`
`ProcessInstruction and
`
`
`
`
`
`
`Repeat Steps 920-960 Until
`
`
`
`
`
`End
`
`
`
`
`FIG. 9
`
`LGEExhibit-1008/Page 12 of 18
`
`LGE Exhibit-1008/Page 12 of 18
`
`
`
`6,131,116
`
`
`
`
`
`
`1
`SYSTEM AND METHOD FOR GLOBALLY
`
`
`
`ACCESSING COMPUTER SERVICES
`
`
`
`BACKGROUND OF THE INVENTION
`
`
`1. Field of the Invention
`
`
`
`
`
`
`
`
`
`
`This invention relates generally to computer networks,
`
`
`
`
`
`
`
`and more particularly to a system and method for globally
`
`
`
`accessing computer services.
`
`
`
`
`
`2. Description of the Background Art
`
`
`
`
`
`
`The internet currently interconnects about 100,000 com-
`
`
`
`
`
`
`
`puter networks and several million computers. Each of these
`
`
`
`
`
`
`computers stores numerous application programs for pro-
`
`
`
`
`
`
`viding numerous services, such as generating, sending and
`
`
`
`
`
`
`
`receiving e-mail, accessing World Wide Websites, generat-
`
`
`
`
`
`
`
`ing and receiving facsimile documents, storing and retriev-
`
`
`
`ing data, etc.
`
`
`
`
`
`
`
`
`
`A roaming user, i.e., a user who travels and accesses a
`
`
`
`
`
`
`
`workstation remotely, is faced with several problems. Pro-
`
`
`
`
`
`
`gram designers have developed communication techniques
`
`
`
`
`
`
`
`for enabling the roaminguserto establish a communications
`link and to download needed information and needed service
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`application programs from the remote workstation to a local
`
`
`
`
`
`
`
`
`computer. Using these techniques,
`the roaming user can
`
`
`
`
`
`
`
`
`manipulate the data on the remote workstation and, when
`
`
`
`
`
`
`
`
`
`finished, can upload the manipulated data back from the
`
`
`
`
`
`
`
`remote workstation to the local computer. However, slow
`
`
`
`
`
`
`
`computers and slow communication channels make down-
`
`
`
`
`
`
`
`loading large files and programs a time-consuming process.
`
`
`
`
`
`
`
`Further, downloading files and programs across insecure
`
`
`
`
`
`
`
`channels severely threatens the integrity and confidentiality
`of the downloaded data.
`
`
`
`
`
`
`
`
`
`
`
`The roaming user alternatively can carry a copy ofall
`
`
`
`
`
`
`
`potentially needed information and all potentially needed
`
`
`
`
`
`
`application programs. However, maintaining a true copy of
`
`
`
`
`
`
`
`a database is a cumbersome process which often results in a
`
`
`
`
`
`
`
`data inconsistency problem. Therefore, a system and method
`
`
`
`
`
`
`
`
`are needed to enable multiple users to access computer
`
`
`
`
`
`
`
`services remotely without consuming excessive time, with-
`
`
`
`
`
`
`
`out severely threatening the integrity and confidentiality of
`
`
`
`
`
`
`
`the data, and without compromising data consistency.
`SUMMARYOF THE INVENTION
`
`
`
`
`
`
`
`
`
`
`
`The present invention provides a system and method for
`
`
`
`
`
`
`communicating through a computer network. The system
`
`
`
`
`
`
`
`
`includes a master server, service engines and clients, each
`
`
`
`
`
`
`equipped with a communication engine for establishing
`
`
`
`
`
`
`communications links. The system further includes a
`
`
`
`
`
`
`browser for receiving applet information corresponding to a
`
`
`
`
`
`
`
`
`service performed by one of the service engines from the
`
`
`
`
`
`
`
`
`
`server, and an applet engine for using the applet information
`to controluser interface I/O of the service. The master server
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`may confirm access privileges before allowing clients to
`55
`
`
`
`
`
`
`
`access a service. The communications engine receives con-
`
`
`
`
`
`
`
`
`
`figuration data which are used to configure the client com-
`
`
`
`
`
`
`
`
`
`ponents such as the operating system, the web browser, the
`
`
`
`
`
`
`
`
`applets, etc.
`to enable communication with the service
`
`
`
`
`
`
`
`
`engine and to provide a user-specific user interface to the
`
`
`
`
`
`
`
`
`client. It will be appreciated that the system may be stored
`
`
`
`
`
`on a floppy disk or hard drive.
`
`
`
`
`
`
`The method includes establishing a communications link
`
`
`
`
`
`
`
`between a client and a server, receiving applet information
`
`
`
`
`
`
`
`by the client from the server, establishing a communications
`
`
`
`
`
`
`
`
`
`link between the client and a service using the applet
`
`
`
`
`
`
`
`
`information, and directing user interface I/O control of the
`
`
`
`
`
`
`
`
`service to the client using the applet information. Establish-
`
`
`
`
`10
`
`
`
`
`
`
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`60
`
`65
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`2
`
`
`
`
`
`
`ing a communications link may include confirming access
`
`
`
`
`
`
`
`privileges. The method may further include receiving con-
`
`
`
`
`
`
`
`
`figuration data, and using the configuration data for config-
`
`
`
`
`
`
`
`uring the client components such as the operating system,
`
`
`
`
`
`
`
`
`the web browser, the applets, etc. to enable communication
`
`
`
`
`
`
`
`with the service engine and to provide a user-specific user
`interface to the client.
`
`
`
`
`
`
`
`
`
`
`
`
`The system and method use web browser technology to
`
`
`
`
`
`
`
`enable multiple users to access computer services remotely.
`
`
`
`
`
`
`
`
`Furthermore, the system and method use applet technology
`
`
`
`
`
`
`
`
`to enable users to access computer services without con-
`
`
`
`
`
`
`
`suming excessive time, without severely threatening the
`
`
`
`
`
`
`
`
`
`integrity and confidentiality of the data, and without com-
`
`
`
`
`
`
`
`
`promising data consistency. Still further,
`the system and
`
`
`
`
`
`
`
`method use configuration data to enable users to obtain a
`
`
`
`
`
`
`consistent interface from any remote terminal.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`
`
`
`
`
`
`
`FIG. 1 is a block diagram illustrating a roaming-user
`
`
`
`
`
`
`
`network access system in accordance with the present inven-
`
`tion;
`
`
`
`
`
`FIG. 2 is a block diagram illustrating details of the remote
`
`
`client of FIG. 1;
`
`
`
`
`
`
`FIG. 3A is a block diagram illustrating details of the
`
`
`
`master server of FIG. 1;
`
`
`
`
`
`
`FIG. 3B is a block diagram illustrating details of the
`
`
`
`
`configuration data of FIG. 3A;
`
`
`
`
`
`
`FIG. 4 is a block diagram illustrating details of each local
`
`
`client of FIG. 1;
`
`
`
`
`
`
`FIG. 5 illustrates an example graphical user interface of
`
`
`
`
`
`
`
`
`web page as maintained by the web page engine of FIG. 1;
`
`
`
`
`
`
`FIG. 6 is a flowchart illustrating a method for globally
`
`
`
`
`accessing a particular computer service;
`
`
`
`
`
`
`FIG. 7 is a flowchartillustrating details of the FIG. 6 step
`
`
`
`
`
`
`
`
`of initiating execution of a service on the local client;
`
`
`
`
`
`FIG. 8 is a flowchartillustrating alternative details of the
`
`
`
`
`
`
`FIG. 6 step of initiating execution of a service on the local
`
`
`client; and
`
`
`
`
`
`
`FIG. 9 is a flowchartillustrating details of the FIG. 6 step
`
`
`
`
`
`
`
`
`of providing service access to the remote client user.
`DETAILED DESCRIPTION OF THE
`
`
`
`PREFERRED EMBODIMENT
`
`
`
`
`
`
`
`
`FIG. 1 is a block diagram illustrating a roaming-user
`
`
`
`
`
`
`
`
`network access system 100, in accordance with the present
`
`
`
`
`
`
`invention. System 100 includes a network of computers,
`
`
`
`
`
`
`
`
`
`referred to herein as an “internet” 140, connected via a
`master server 130 to a local network 120. A first local client
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`110 and a second local client 160 are addressably connected
`via the local network 120 to the master server 130. A remote
`
`
`
`
`
`
`
`
`
`
`client 150 is connected via the internet 140 to the master
`
`
`
`
`
`
`
`
`
`server 130. Another server 166 is also connected via the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`internet 140 to the remote client 150, to the master server
`130 and to the local clients 110 and 160.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Thefirst local client 110 includesa first service engine 115
`
`
`
`
`
`
`
`for providing a first computer service, such as calendaring,
`
`
`
`
`
`
`
`
`e-mail, paging, word-processing or the like, to a user. The
`
`
`
`
`
`
`
`
`
`second local client 160 includes a second service engine 165
`
`
`
`
`
`
`
`for providing a second computer service to a user. Service
`
`
`
`
`
`
`
`
`
`engines 115 and 165 are described in greater detail with
`reference to FIG. 4. The remote client 150 includesa client
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`engine, an example of which is an applet-based web browser
`
`
`
`
`
`
`
`
`155 which is configured for communicating with the internet
`
`
`
`
`
`
`
`
`140 and for reading and executing applets. Examples of web
`
`LGEExhibit-1008/Page 13 of 18
`
`LGE Exhibit-1008/Page 13 of 18
`
`
`
`6,131,116
`
`
`
`10
`
`15
`
`
`
`
`
`25
`
`
`
`3
`4
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`To initiate execution of the service request, the master
`browsers 155 include the Netscape™ web browser produced
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`by the Netscape Corporation, the Internet Explorer™ web
`server 130 may use servlets or agents. The appropriate
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`browser produced by the Microsoft Corporation, or the
`service engine 115, 138, 165 or 167 executes the service and
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Java™ Developers Kit 1.0 web browser produced by Sun
`generates responsive data accordingly. As shown byline 5,
`
`
`
`
`
`
`
`Microsystems, Inc. While the illustrated client engine is a
`
`
`
`
`
`
`
`
`
`
`the service engine 115, 138, 165 or 167 sends the responsive
`
`
`
`
`
`
`
`
`
`
`web browser 155, those skilled in the art will recognize that
`
`
`
`
`
`
`
`
`
`data back to the master server 130 and, as shownbyline 6,
`
`
`
`
`
`
`
`
`other client engines could be used in accordance with the
`
`
`
`
`
`
`
`
`
`
`the master server 130 sends the responsive data back to the
`
`
`
`
`
`
`
`present
`invention. Although the embodiment herein are
`remote client 150.
`
`
`
`
`
`
`
`
`
`
`
`being described with reference to the Java™ distributed
`
`
`
`
`
`
`
`
`
`
`
`Since the master server 130 stores the applets 136 and the
`
`
`
`
`
`
`environment produced by Sun Microsystems,Inc., “Down-
`
`
`
`
`
`
`
`
`
`configuration data 137, the roaming user can access a service
`
`
`
`
`
`
`
`loadables” herein correspond to all downloadable and
`
`
`
`
`
`
`
`
`
`via any computer 110, 130, 150 or 160 which includes an
`
`
`
`
`
`
`executable or interpretable programsfor use in a distributed
`
`
`
`
`
`
`
`
`environment such as ActiveX™ controls in the ActiveX™
`applet-based web browser 155 and which is connected to the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`master server 130. Further, because the master server 130
`
`
`
`
`
`
`distributed environment produced by the Microsoft Corpo-
`ration.
`
`
`
`
`
`
`
`
`maintains the network addresses of all services, the user
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`need only maintain the URL address of the web page
`The master server 130 includes a web page engine 133 for
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`maintained by the web page engine 133. That is, the user
`maintaining and providing access to an internet web page
`need not maintain the current address of each service.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`whichis enabled to forward applets 136 to the web browser
`
`
`
`
`
`
`
`
`155 of the remote client 150. A user can select a particular
`
`
`
`
`
`
`
`
`Although not shown in FIG. 1, a web browser 155 may be
`
`
`
`
`
`
`
`service which correspondsto oneof the applets 136, thereby
`
`
`
`
`
`
`
`
`
`placed onalocal client 110 or 160. Auser can access the web
`20
`
`
`
`
`
`
`
`
`
`causing the web browser 155 of the remote client 150 to
`
`
`
`
`
`
`
`
`
`
`page engine 133 from the local client 110 or 160 to take
`
`
`
`
`
`
`
`initiate execution of the corresponding applet 130. Execu-
`
`
`
`
`
`
`advantage of the services provided by the master server 130,
`
`
`
`
`
`
`
`
`
`tion of the applet 130 causes the appropriate service engine
`
`
`
`
`
`
`
`
`
`by the server 166 or even by the local clients 110 or 160. For
`
`
`
`
`
`
`
`
`115 or 165 to execute the particular service or access an
`
`
`
`
`
`
`
`
`
`
`example,
`the local client user may access the web page
`
`
`
`
`
`
`
`already executing service. It will be appreciated that execut-
`
`
`
`
`
`
`
`
`engine 133 and select a particular service which resides on
`
`
`
`
`
`
`
`ing a service may include directing Input/Output (1/0)
`
`
`
`
`
`
`
`
`
`the local client 110. Accordingly,
`the applets 136 would
`
`
`
`
`
`
`control of a service application program, such as an e-mail
`
`
`
`
`
`
`
`
`
`launch the service on the local client 110 and would provide
`
`
`
`
`
`
`application program, a paging application program or a
`direct I/O control of the service to the user. Those skilled in
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`word-processing application program, to the remote client
`
`
`
`
`
`
`
`
`
`150 user.
`the art will recognize that a particular service engine may
`
`
`
`
`
`
`
`
`
`
`
`require the services of other service engines.
`It will be
`
`
`
`
`
`
`
`
`The master server 130 further includes configuration data
`
`
`
`
`
`
`
`
`
`
`appreciated that the local client user need not know the
`
`
`
`
`
`
`
`
`
`137, which the remote client 150 can download to gain
`
`
`
`
`
`
`
`
`
`
`location of each service. The local client user need only
`
`
`
`
`
`
`
`
`access to the desired service and to configure the
`access the master server 130.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`functionality, look and feel of the web browser 155. The
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`FIG. 2 is a block diagram illustrating details of the remote
`configuration data 137 may include operating system set-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`client 150, which includes a Central Processing Unit (CPU)
`tings such as TCP protocol data and the domain nameserver
`
`
`
`
`
`
`
`
`
`
`
`
`210 such as a Motorola Power PC® microprocessor or an
`address, user preferences, bookmarks, services, service
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Intel Pentium® microprocessor. An input device 220 such as
`addresses, etc. Each user preferably uploads unique con-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`a keyboard and mouse, and an output device 230 such as a
`figuration data 137 to the master server 130 in order to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Cathode Ray Tube (CRT) display are coupled via a signal
`obtain similar functionality, look and feel from any web
`browser 155.
`
`
`
`
`
`
`
`
`bus 240 to CPU 210. Acommunicationsinterface 250, a data
`
`
`
`
`
`
`
`
`
`
`storage device 260, such as Read Only Memory (ROM) and
`
`
`
`
`
`
`
`
`
`
`Similar to the local clients 110 and 160, the master server
`
`
`
`
`
`
`
`a magnetic disk, and a Random-Access Memory (RAM) 270
`
`
`
`
`
`
`
`
`
`130 may include a service engine 138 for providing access
`
`
`
`
`
`
`
`
`
`
`are further coupled via signal bus 240 to CPU 210. The
`
`
`
`
`
`
`
`
`
`to a third computer service, and server 166 may include a
`
`
`
`
`
`
`
`communicationsinterface 250 is coupled to the internet 140.
`
`
`
`
`
`
`
`service engine 167 for providing access to a fourth computer
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`service. Service engines 138 and 166 are described in greater
`An operating system 280 includes a program for control-
`detail with reference to FIG. 4. From the remote client 150
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ling processing by CPU 210, andis typically stored in data
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`user’s standpoint, the location of the service engine does not
`storage device 260 and loaded into RAM 270 for execution.
`matter.
`
`
`
`
`
`
`Operating system 280 further includes a communications
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`engine 282 for generating and transferring message packets
`As shown by line 1, the remote client 150 user inputs a
`to and from the internet 140 via the communications inter-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`predetermined Uniform Resource Locator (URL) address
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`face 250. Operating system 280 further includes an Oper-
`for opening the web page managed by the web page engine
`
`
`
`
`
`
`
`
`ating System (OS) configuration engine 284, which config-
`
`
`
`
`
`
`
`
`
`133 of the master server 130. As shownby line 2, the web
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ures the operating system 280 based on OS configuration
`page engine 133 sends at least one of the applets 136 and
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`data 137 such as TCP protocol data, domain name server
`web browser configuration data 137 to the web browser 155.
`
`
`
`
`
`
`
`
`addresses, etc. received from the master server 130.
`
`
`
`
`
`
`
`
`
`From the services offered by the web page, the user selects
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`a particular service corresponding to one of the applets 136.
`Operating system 280 further includes a web browser 155
`as described with reference to FIG. 1. The web browser 155
`
`
`
`
`
`
`
`
`For example, to access e-mail services, the user selects an
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`e-mail prompt corresponding to an e-mail applet 136.
`includes a Web Browser (WB) configuration engine 288,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`As shownbyline 3, the web browser 155 forwards to the
`which configures the web browser 155 based on WB con-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`master server 130 a service request for initiating execution
`figuration data 137 such as home page addresses,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`of the selected service. As shownbyline 4, the master server
`bookmarks, caching data, user preferences, etc. received
`130 determines the location of the service and sends the
`from the master server 130. The web browser further
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`service request to the appropriate address, i.e., either to the
`includes an applet engine 290 for handling the execution of
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`service engine 115 of the local client 110, to the service
`downloaded applets 294. The applet engine 290 includes an
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Applet Engine (AE) configuration engine 292, which con-
`engine 165 of the local client 160, to the service engine 138
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`of the master server 130 or to service engine 167 of the other
`figures the applet engine 290 based on AE configuration data
`server 166.
`
`
`
`
`
`
`
`
`
`
`
`
`137 received from the master server 130. The applet engine
`
`30
`
`35
`
`
`
`40
`
`
`
`45
`
`
`
`50
`
`
`
`55
`
`
`
`60
`
`
`
`65
`
`
`
`LGEExhibit-1008/Page 14 of 18
`
`LGE Exhibit-1008/Page 14 of 18
`
`
`
`
`5
`
`
`
`
`
`
`
`290 further includes applet-specific configuration data 296
`
`
`
`
`
`
`
`
`
`
`received from the master server 130. For example, for the
`
`
`
`
`
`
`
`
`
`e-mail applet 294, e-mail applet configuration data 296 may
`
`
`
`
`
`
`
`include a user’s e-mail address, name, preferred signature
`
`
`
`
`
`
`block, as well as customizable user interface parameters.
`
`
`
`
`
`
`
`
`FIG. 3A is a block diagram illustrating details of the
`
`
`
`
`
`
`
`
`master server 130, which includes a Central Processing Unit
`
`
`
`
`
`
`
`(CPU) 310 such as a Motorola Power PC® microprocessor
`
`
`
`
`
`
`
`or an Intel Pentium® microprocessor. An input device 320
`
`
`
`
`
`
`
`
`such as a keyboard and mouse, and an output device 330
`
`
`
`
`
`
`
`
`
`such as a Cathode Ray Tube (CRT) display are coupled via
`
`
`
`
`
`
`
`
`a signal bus 340 to CPU 310. A communications interface
`
`
`
`
`
`
`
`
`
`350, a data storage device 360, such as Read Only Memory
`
`
`
`
`
`
`(ROM)and a magnetic disk, and a Random-Access Memory
`
`
`
`
`
`
`
`
`
`(RAM)370 are further coupled via signal bus 340 to CPU
`
`
`
`
`
`
`
`310. The communications interface 350 is coupled between
`the internet 140 and the local network 120.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`An operating system 380 includes a program for control-
`
`
`
`
`
`
`
`
`ling processing by CPU 310, and is typically stored in data
`
`
`
`
`
`
`
`
`storage device 360 and loaded into RAM 370 for execution.
`
`
`
`
`
`
`Operating system 380 further includes a communications
`
`
`
`
`
`
`
`engine 382 for generating and transferring message packets
`via the communications interface 350 to and from the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`internet 140 and to and from local network 120. Operating
`
`
`
`
`
`
`
`
`
`
`system 380 also includes a web page