throbber
United States Patent
`Stone
`
`[i9]
`
`[54] AUTOMATION AND DIAI TIME CHECKING
`OF SYSTEM CONFIGURATION FOR
`INTERNET
`
`P5]
`
`Inventor:
`
`Jeremy Daniel Stone. Bellevue. Wash.
`
`[73] Assignee. Microsoft Corporation, Redmon/L
`Wash.
`
`[52] U.S.Cl.. 395/2008
`
`[21] AppL Noz 634@89
`[22] Filed:
`Apr. 18, 1996
`Int. CL ...................................................... G06F 17/00
`
`[51]
`
`[58] Fitdd of Search ............................ 395/200.5, 200.59.
`395/200.56, 200.34. 200.35. 186. 187.01.
`608
`
`[56]
`
`References Cited
`
`U.S. PATENT D~S
`
`4,104,7188/1978 Publan et sL .....
`5243496
`9/1993 Pou et aL .........
`7/1996 Hensopn et sl...
`5337,645
`9/1996 Heath et st...,...
`5453239
`5377209 1 I/1996 Boyle et al.......
`Primary Exam/ner—Ellis B, Ramirez
`
`....... 395/60$
`...... 370/94. 1
`.. 395/200.59
`.. 395/200 59
`.. 395/187.01
`
`lllllnllllllllllllllllllllllllllHlllllllllllllllIIIIIIIIIIIIIIIIIIIIIIII
`US005784555A
`[11] Patent Number:
`[45] Date of Patent:
`
`5s784$55
`Jul. 21, 1998
`
`Attorney, Agent, or Firm—Klarquist Sparkman Campbell
`Leigh 81 Whinston
`
`ABSTRACT
`
`Networking software is configured for connecting to the
`Internet with a set-up automation software without disturb-
`ing the networkiog software's coafiguration for connecting
`to another computer network. such as a corporate local area
`network. Where instafiing the TCP/IP network protocol for
`communicaling on the Internet also causes binding to a
`device configured for connecting to the other computer
`aetwork. the set-up automation software records whether the
`TCP/IP network protocol was previously bound to that
`device and unbinds the TCP/lp network protocol from the
`device after installing the TCP/IP network protocol if not
`previously bound to the device. The set-up automation
`software also unbinds file and printer sharing services fiom
`a device used for connecting to the Internet. Where a dial-up
`device is used for connecting to the Internet, a dial-time
`security check and configuration check software verifies that
`the network software is correctly and securely configured for
`connecting to the Internet. The dial-time check software
`warns the user and Isirrects the configuration if the configu-
`ration is incorrect or insecure.
`22 Claims, n Drawing Sheets
`
`BE IN C NFIGURE
`INrERNET DEVICE 10
`
`70
`
`ENDCOI'FIGURE
`
`Google Exhibit 1052
`Google v. VirtaMove
`
`

`

`U.S. Patent
`
`Jul. 21, 199S
`
`Sheet 1 of 11
`
`5,784,555
`
`

`

`U.S. Patent
`U.S. Patent
`
`Jul. 21, 1998
`Jul. 21, 1998
`
`Sheet 2 of 11
`Sheet 2 of 11
`
`5,784,555
`5,7S4,555
`
`FIG. 2
`
`50
` NETWORK
`
`
`APPLICATION
`
`52
`(INTERNET
`BROWSER)
`
`
`
`NETWORK PROGRAMMING INTERFACE
`
`
`(WINDOWS SOCKETS)
`
`
`
`
`NETWORK
`
`TCP/IP)
`(NETBEUI OR
`
`
`
`
`
`
`NETWORK
`PROTOCOL
`
`
`
`IPX/SPX)
`DRIVER
`
`
`
`DIAL-UP DEVICE
`
`
`
`
`
`NETWORK
`ADAPTER
`DRIVER
`
`
`
`
`
`
`NETWORK
`
`DIAL-UP DEVICE
`DEVICE
`
`(MODEM)
`
`
`
`(NETCARD)
`
`
`
`
`
`
`61
`
`65
`
`55
`55
`
`

`

`U.S. Patent
`
`Jul. 21, 1998
`
`Sheet 3 of 11
`
`5,7S4,555
`
`52
`
`150
`
`TO INTERNET
`
`

`

`U.S. Patent
`
`Jul. 21, 1998
`
`Sbeet 4 of 11
`
`5,7S4,555
`
`BEGIN CONFIGURE
`INTERNET DEVICE (ID
`
`YES
`
`DRIVER FOR
`"ID" INSTALLED?
`
`UNBIND NON-TCP/IP
`PROTOCOL(S) FROM "ID
`
`72
`
`NO
`
`75
`
`INSTALL INTERNET DEVICE
`DRIVER
`
`NON-TCP/IP
`PROTOCOL(S) BOUND
`TO "ID"?
`
`NO
`
`77
`
`TCP/IP
`BOUND TO "ID"?
`
`NO
`
`YES
`
`DETECT AND RECORD
`WHETHER TCP/IP BOUND TO
`EXISTING NETWORK DEVICE
`(ND)
`
`INSTALL TCP/IP
`
`79
`
`TCP/IP
`PREVIOUSLY BOUND
`TO "ND"?
`
`NO
`UN 8 IND TC P/IP F ROM "ND"
`
`UNBIND FILE AND PRINTER
`SHARING FROM "ID"
`
`81
`
`80
`
`82
`
`FILE AND
`PRINTER SHARING
`ENABLED?
`
`NO
`
`END CONFIGURE
`
`

`

`U.S. Patent
`
`Jul. 21, 1998
`Jul. 21, 1998
`
`Sheet 5 of 11
`Sbeet 5 of 11
`
`5,7S4,555
`5,784,555
`
`FIG. 5
`
`90
`90
`
`
`
`92
`
`NO
`
`
`FILE AND
`PRINTER SHARING (FPS)
`ENABLED?
`
`
`
` FPS
`BOUND TO TCP/IP
`
`\ BEGIN SECURITYCHECK
`
`
`
`
`OF "ID"?
`
`
`YES
`
`
`
`POST SECURITY WARNING
`
`
`DIALOG BOX
` CHOOSES TO DISABLE
`CHECK
`
`
`UNBIND FPS FROM TCP/IP OF
`"Ip"
`
`END SECURITY
`
`

`

`U.S. Patent (‘pepusuwosdal
`
`
`
`
`
`0}UONDSULOSdi/dOLey}UOBuueysJejUUdpueayyajqesip0}SMOPUIAAa>I|NOAPINOAA
`
`
`
`
`
`QU}SS9DDE0}BSN|jIMNOAUO!JOBUUODdI/dD194}UOBuluunssiBueUsJajyuUdpueayi4
`
`
`
`
`‘S9|lJINOASsed0e0}B]qeaqJYUBIWJOUIO}U]9}UOSYaSNJEUIO‘JeuUJEzU|
`
`
`
`U.S. Patent
`
`CD
`
`ool9DIA
`
`
`
`
`
`Jul 21, 1998
`Jul. 21, 1998
`
`Sheet 6 of 11
`Sheet 6 of 11
`
`5,7S4,555
`5,784,555
`
`AjyBipy)gJeusayUyau}
`
`GYVZIMdNlasLANYSLNI
`
`

`

`U.S. Patent
`
`Jul. 21, 1998
`
`Sbeet 7 of 11
`
`5,7S4,555
`
`BEGIN CONFIGURATION
`CHECK
`
`112
`
`NO
`
`113
`
`114
`
`NO
`
`115
`
`DIAL-UP
`ADAPTER
`INSTALLED?
`
`YES
`
`DIAL-UP
`NETWORKING
`INSTALLED'
`
`YES
`
`TC P/IP
`INSTALLED?
`
`YES
`
`TOP/IP
`BOUND TO DIAL-UP
`ADAPTER?
`
`YES
`
`131
`
`116
`
`POST CONFIGURATION
`WARNING DIALOG BOX
`
`130
`
`USER
`CHOOSES TO
`CORRECT?
`
`YES
`
`132
`
`INSTALL DIAL-UP
`NETWORKING
`
`DIAL-UP
`NETWORKING
`INSTALLED?
`
`YES
`
`DO CONFIGURE INTERNET
`DEVICE (FIG. 4)
`
`133
`
`OTHER
`NETWORK DRIVERS
`PRESENT?
`
`UNBIND NON-TCP/IP
`DEFAULT NETWORK
`PROTOCOLS
`
`YES
`
`END CONFIGURATION
`CHECK
`
`

`

`U.S. Patent
`
`Juh 21, 1998
`Jul. 21, 1998
`
`Sheet 8 of 11
`Sheet 8 of 11
`
`5,784,555
`5,7S4,555
`
`U.S. Patent GZL.
`8ZlOcLQ‘OY
`
`
`
`
`0}SMOPUIAA21NOApino~AyEUJd}U]BY}SSedde0}dnjesAjeuUaJouSIWassINO)
`vZlecl
`
`
`
`éMouNOAJO}dn3!jes
`
`
`
`
`
`QHVZIMdN.LlasLANYALNI
`
`

`

`U.S. Patent
`U.S. Patent
`
`Jul. 21, 1998
`Jul. 21, 1998
`
`Sheet 9 of 11
`Sheet 9 of 11
`
`5,784,555
`5,784,555
`
`TAONVD<LX3NMOVE>
`
`cleLL?Old
`
`
`
`‘diSH41/9‘pseZIAASy}0}@plAoud0}
`
`d1AH
`
`‘POMOU}JOAO
`
`90¢uednodShemJUaJayIpjnogeUOIVEWJOJUIG0104
`
`
`
`
`LANYALNI
`
`
`
`
`POsU|/IMNOAUOHEWOJU!OU}PUe‘JaUsa}U]9U}0}JOOUUOD
`
`JEUOHeUUOJUIpueajdoed0}sseodenodBuini6‘yeuseyu}
`
`QU}0}JOOUUOD0}Ja}NAWODINOAdryas{IMPIEZIAASIUL
`
`
`
`jUNJaSJOUJA}U]0}BWUIODI9AA
`
`
`
`QYVZIMdNLAS
`
`6DIA
`
`002
`
`

`

`U.S. Patent
`U.S. Patent
`
`Jul. 21, 1998
`Jul. 21, 1998
`
`Sheet 10 of 11
`Sheet 10 of 11
`
`5,784,555
`5,784,555
`
`TAOINVOD
`
`clebbeOZ
`
`Sl2—
`
`
`
`
`
`
`BulyeipJayeMOPUIMJeUILUIE}dnBug
`
`
`
`INOA0}YOSUUOD0}JeIPNOAJaquinueuoYdou}Je}UW
`
`
`
`
`
`
`
`plzserr-egs]--[_90z|
`
`
`
`‘JOQUINUauoUdeE;e|‘@poodBaly
`
`
`
`(,)eoeUlyJosaje}Spaylun
`
`
`
`“apooAyyunoy
`
`
`
`
`
`JOPIAOSOIAISSJOUIO]U]
`
`
`
`Jaquinyeuoud
`
`
`
`
`
`QYVZIMdNLASLANYSLNI
`
`OlDI
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Jul. 21, 199S
`
`Sheet 11 of 11
`
`5,7S4,555
`
`CI
`
`CV
`
`M
`
`o
`
`

`

`5,784,555
`
`1
`AUTOMATION AND DIAI TLME CHECKING
`OF SYSTEM CONFIGURATION FOR
`INTERNET
`
`FIELD OF THE INVENTION
`This invention relates to configuring a computer system
`for accessing the Internet. and more particularly relates to
`aids for correctly contiguring computers to aocess the Inter-
`ne(.
`
`10
`
`BACKGROUND AND SUMMARY OF THE
`INVENTION
`Due to the iacreasing complexity and sophistication of
`software application programs, there has been a need for
`tools and procedures that automate performing specialized 15
`tasks in these applications. Automation of specialized tasks
`that are fiequently repeated (e.g., sewing up a document to
`have a particular format such as a legal brief in a word
`processing application or a financial report in a spreadsheet
`application) is particularly beneficiaL Interface programs.
`known as "Wizards." which control an application program
`to perform specialized tasks according to user selected
`options are described ia U.S. Pat. No. 5301326 to Linnett
`et al., and now included with ruany of Microsoft Corpora-
`tion 's application prograiiis.
`Another difiicult task for computer users is that of prop-
`erly configuring or seiting up application and operating
`system software for connecting to a computer network such
`as the Internet. Such configuring involves many variables sp
`that depead on the particular coruputer system snd the
`connection to be used for computer network access. A large
`proportion of computer users, however, is unfamiliar with
`computer networking, and also with the details of their own
`computer system and aetwork access connection. A large
`number of computer users therefore lack the necessary
`knowledge to successfully configure their systems for net-
`work conununication on their own.
`Further. even where the computer user has the necessary
`knowledge. the task of configuring a computer for connect-
`ing to the Internet can still be burdensome. For example,
`experieaced computer system administrators generally have
`many individual computers to configure and maintain. Each
`computer takes time to configure. and may require config-
`uring differently.
`In pmticular, there are a number of problems that make
`correctly configuring oomputers for access to the Internet
`dilficult. First. some configuration operations can affetz the
`configurations of a computer's other network connections.
`For example, setting up network protocols for an Internet so
`connection in Microsoft Corporation' Windows operating
`system can affect the configurations of other network con-
`nections, Although most home computers have no other
`network connections, many computers in businesses are
`connected to other networks. such as a private corporate ss
`computer network. These other network connections often
`require different coafigurafions than the computer's connec-
`tioa to the Internet. So. modifying the coafigurations of
`these other network connections when configuriag the Inter-
`act connection can adversely affect their performance. or so
`cause them to be inoperative.
`Second, some network configurations settings can be a
`security coacern for an Internet connection. For example.
`enabling file and printer sharing allows files stored at a
`computer (e.g.. on its hard disk) to be accessed from a ss
`network by another computer. On a corporate network or
`other private computer network. this configuration setting
`
`so
`
`45
`
`allows cofiaborafion between computer users working as a
`group with a set of files and to share a common printer.
`However, an Internet connection with this configuratioa
`setting can expose the computer's files and printer to access
`by unknown others while the computer is actively connected
`to the Internet.
`In addition to the problems associated with initially
`configuring a computer's connection to the Internet. the
`configuration can be inadvtxtently or unknowingly changed
`by the user. Such configuration changes can render the
`connection inoperative or compromise the computer's secu-
`rity. Ofien. the user becomes very confused and frustrated
`when the computer then fails to connect to the Internet. and
`only a cryptic error message results from the attempt.
`The present invention is an automated process and system
`for configuring a computer to connect to the Internet. In one
`embodiment of the invention, the automated process and
`system performs an initial configuration of a computer's
`connection to the Internet. The automated process and
`system prompts the user to input information needed in
`configuring the computer. then proceeds to coruplete setting
`the configuration according to the information provided.
`Since the automated process and system completes the
`settings. the user is relieved f'rom having to manually set a
`myriad of configuration settings and from evea having to
`know any details of which settings are made to correctly
`configure the Internet connection. In the most common case
`where the Internet connection is a dial-up modem connec-
`tion to an Internet access server of an Internet service
`the information provided by the user defines
`provider.
`communications parameters of the Internet access server
`which are obtained by the user directly from the Internet
`service provider. The user then simply enters the corrunu-
`nications parameters without having to know their signifi-
`cance. Thus. the user caa cordigure an Internet connection
`using the automated process and system without having to
`configure settiags manually or even know which settings to
`make. Novice and experienced users alike can easily con-
`time using the
`figure an Internet connection in a short
`invention.
`According to a further aspect of the invention. the auto-
`mated process and system configures an Internet connection
`without disturbing configurations of aay existing connec-
`tions to other networks (e.g., a corporate network). For
`configuring operations which affect other existing configu-
`rations (e.g.. binding communications protocols to the
`connection). the automated process and system records the
`original configuration of the other network conaections and
`restores the original oonfiguration after the configuring
`operation.
`According to yet another aspect of the invention,
`ihe
`automated process and system performs security checks to
`ensure that the Internet connection configuration does not
`In the illustrated
`pose an inadvertent security risk.
`the automated process and system checks
`embodiment.
`whether file and printer sharing is enabled for the Internet
`connection. If so. the automated process and system warns
`the user of the security risk aad prompts the user whether to
`disable file and printer sharing. The invention thus protects
`the user from unknowiagly setting risky configurations of
`the Internet conneMon.
`In another embodiment of the invention. the autoruated
`process and system checks and corrects the configuration of
`the computer's connection to the Internet at time of use. e.g.,
`time for a dial-up connection to the Internet.
`at dial
`Preferably. the automated process and system checks both
`
`

`

`5,784,555
`
`3
`that the Internet connection has an operative configuration
`and also that the configuration does not pose a security risk.
`Thus. if the user inadvertently changes configuration set-
`tings that afiect the configuration of the Internet connection
`(such as by inadvertently removing a needed communica-
`tions protocol or setting file and priater sharing), the auto-
`mated process and system corrects the configuration at the
`time of use to prevent failure of the Internet connection or
`unknown risk to security. Accordiagly. connecting to the
`Internet is made safer and more robust. As a result. computer
`support costs to individuals and corporations are reduced.
`Additional features and advantages of the invention will
`be made apparent from the following detailed description of
`an illustrated embodiment which proceeds with reference to
`the accompanying drawings.
`
`BRIEF DESCRIPITON OF THE DRAWINGS
`FIG. I is a block diagram of a computer system that may
`be used to imp)ament a method and apparatus embodying
`the invention for automated and dial-time Internet config-
`urmg.
`FIG. 2 is a block diagram of one example of a possible
`network software configuration including a dial-up TCP/IP
`connection to the Internet and an existing network connec-
`tion within a computer system such as shown in FIG. 1.
`FIG. 3 is a block diagraru of an Internet set-up
`automation. dial-time security checker and dial-time con-
`figuration checker for configuring the network software of
`FIG. 2.
`FIG. 4 is a flow diagram of set-up process according to the
`illustrated embodimeat of the invention for configuring a
`connection such as shown in FIG. 2.
`FIG. 5 is a fiow diagram of a dial time security check
`method according to the illustrated embodiment of the
`invention for a connection to the Internet such as shown in
`FIG. 2.
`HG. 6 is a view of a dialog box with controls to confirm
`disabling file aad printer sharing on the connection in the
`dial time security check method of HG. 4.
`FIG. 7 is a fiow diagram of a dial time configuration check
`method according to the illustrated embodiment of the
`invention for a coanection to the Internet such as shown in
`FIG. 2.
`FIG. 8 is a view of a dialog box with controls to confirm
`disabling file and printer sharing on the connection in the
`dial tune security check method of FIG. 6.
`FIGS. 9—11 are views of a sequence of dialogs for the
`Internet set-up automation of HG. 3.
`
`DEI'AILED DESCRIPTION OF THE
`ILLUSHVZED EMBODIMENTS
`With reference to FIG. 1. an operatiag environment for an
`illustrated embodimeat of the present invention is a com-
`puter system 20 with a computer 22 that comprises at least
`one high speed prooessing unit (CPU) 24, ia conjunction
`withe memory system 26, an input device 28. and an output
`device 30. These elements are interconnected by at least one
`bus suucture 32.
`The illustrated CPU 24 is of famiTiar design and includes
`an ALU 34 for perfonuing computations. a collection of
`registers 36 for temporary storage of data and instructions,
`and a control unit 38 for conuolling operation of the system
`20, The CPU 24 may be a processor haviag any of a variety
`of architectures iacluding Alpha from Digital. MIPS from
`
`MIPS Technology, NEC. IDT. Siemens. and others. x86
`from Intel and others. induding Cyrix. AMD. and Nexgen.
`and the PowerPc from IBM and Motorola.
`The memory system 26 generally includes high-speed
`main memory 40 in the form of a medium such as random
`access memory (RAM) and read only memory (ROM)
`semiconductor devices. and secondary storage 42 in the
`form of long term storage mediums such as floppy disks.
`hard disks, tape, CD-ROM, fiash memory. etc. and other
`«devices that stare data using electricaL magnetic. optical or
`other recording media. The main memory 40 also can
`include video display memory for displaying images
`through a display device. Those skilled in the art will
`recognize that the memory 26 can comprise a variety of
`is alternative components having a variety of storage capaci-
`ties.
`The input and output devices 28. 30 also are familiar. The
`input device 28 can comprise a keyboard. a mouse. a
`physical transducer (e.g., a microphone&. etc. The output
`zp device 30 can comprise a display. a printer. a transducer
`(e.g.. a speaker). etc. Some devices. such as a network
`interface or a modem can be used as input and/or output
`devices.
`As is familiar to those skilled in the art. the computer
`zs system 20 further includes an operating system and at least
`oae application program The operating system is the set of
`software which controls the computer system*s operation
`and the allocation of resources. The application program is
`the set of software that performs a task desired by the user,
`so using computer resources made available through the oper-
`ating system Both are resident in the illustrated memory
`system 26.
`In accordance with the practices of persons skilled in the
`invention is
`art of computer programming,
`the present
`ss described below with reference to acts and symbolic repre-
`sentations of operations that are performed by computer
`system 20. unless indicated otherwise. Such acts and opera-
`tions are sometimes referred to as being computer-executed.
`It will be appreciated that the acts and symbolically repre-
`so sented operations include the manipulation by the CPU 24 of
`electrical signals representing data bits which causes a
`resulting transformatioa or reductioa of the electrical signal
`representation. and the maintenance of data bits at memory
`locations in memory system 26 to thereby reconfigure or
`ss otherwise alter the computer system's operation. as well as
`other processing of signals. The memory locations where
`data bits are maintained arc physical locations that have
`particular elecuicaL magnetic. or optical properties cone-
`spondiag to the data bits.
`so Network Software Architecture
`With reference to HG. 2. an example network software
`configuration 50 for illustrating the inventioa utilizes a
`network software architecture which provides support for
`networking in the computer system 20 (FIG. 2). In thc
`ss ifiustrated embodiment of the invention, the network soft-
`ware architecture is that of the Windows 95 operating
`system. which is described in Inside Windows 95. by Adrian
`King. Microsoft Press. 1994. among other references. The
`network software architecture preferably has a layered
`so structure, that separates networking operations and function-
`ality into distinct modules organized in layers. The layered
`structure allows a network application 52 (such as an
`Internet browser application for interactively viewing infor-
`mation fmm the Internet) at a top layer of the architecture to
`ss communicate over a computer network(such as the Internet)
`via a network hardware device 54-55 at a bottom layer of
`the architecture without having to itself implement the
`
`

`

`5.784.555
`
`io
`
`30
`
`3
`
`various networking operations and functionality provided in
`the intervening layers.
`The illustrated network software configuration 50 sup-
`ports networking with two separate network devices 54—55.
`Network devices generally are of two types, dial-up con-
`nection network devices and dedicated connection network
`devices. Dial-up devices, such as modems. connon to a
`remote computer or network by dialing on the public tele-
`phoae system or like switched conuuunications network.
`Dedicated connection network devices. such as network ic
`adapter cards for Ethernet local area networks (LANs). are
`directly wired to other computers iu a network The illus-
`trated configuration 50 of the network software architecture
`includes both a dial-up connection network device 54 (e.g..
`a modem) and a dedicated connection network device 55 is
`(e.g.. au Ethernet LAN aetwork adapter card). Such con-
`figuration 50 is conunonly used in corporate computing
`environments where the dedicated connection network
`device connects the computer with a private corporate
`network and the dial-up network device is used for connect-
`ing to the Internet. As compared to an alternative configu-
`ration in which the corporate network includes a remote
`communications server and the computer connects to both
`the corporate network and the Internet using a single dedi-
`cated connection network device, ihe configuration 50 with 23
`a separate dial-up connection device for connecting to the
`Internet helps avoid the security risk of exposing the cor-
`porate network from access by unknown others on the
`Internet and avoids consuming corporate network band-
`width for Internet communications.
`The network application 52 is an application software
`program which communicates on the Internet or other
`computer network. The illustrated network. application 52
`preferably is an Internet browser application with which a
`user of the computer system 20 (FIG. 2)
`interactively 33
`accesses and views information from the Internet. Many
`other network applications 52 also can use the illusnated
`configuration 50 including. but not limited to. electronic
`mail and/or news readers. multi-media references and
`games. tax preparation software. on-line shopping software. so
`etc. which access. update information fiom. or post infor-
`matioa to the Internee Likewise. the illustrated configuration
`50 also afiows software applications to communicate over a
`local aetwork (e.g., a corporate LAN) connected to the
`dedicated coanection network device 55.
`The intermediate layers above the network devices 54—55
`each provide a packaged set of functions which abstract
`network communications at decreasing levels of hardware
`and network specificity for the next higher layer. These
`intermediate layers in the illustrated configuration 50 so
`include a network progranuning interface 58. network pro-
`tocols 60-61, and network adapter drivers 64-65. For
`expository convenience. FIG. 2 is a top level view of the
`network software architecture used in the configuration 50.
`While each of the layers is shown as a separate component, ss
`each layer can itself be implemented as mare than one
`separate component or layer.
`The network programming interface 58 is the next highest
`layer under the network application 52. The network appli-
`cation 52 communicates on the Internet or local network by sc
`calling application programming interfaces (APIs) of func-
`tions in a network progranuuing interface 5$. The illustrated
`network programming interface 5$ is a Windows sockets
`networking programming interface. The Windows sockets
`5$ comprises a facility or set of services for inter-process ss
`communications. e.g., commuaications over the Internet or
`other network between a process (such as one associated
`
`43
`
`with the network application 52) on the computer system 20
`(FIG. I) and a process executing on a remote computer.
`These services are implemented as a set of functions which
`are callable from a network application 52 using associated
`application programming interfaces (APIs). The functions
`are included in a dynamic link library file called
`WSOCIO2.DLL. Dynamic link library files provide func-
`tion libraries that applications caa link to and call using
`regular function calls. Alternatively. the network program-
`ining interface 58 can be implemented using other file names
`and types.
`in turn. relies on network
`The Windows sockets 58,
`operations and functionality implemented in lower layers of
`the network software architecture. At the layer under the
`Windows sockets 58. the network protocols 60 61 comprise
`one or more protocol drivers that irnplernent a set of func-
`tions which abstract communicating according to estab-
`lished networking protocols for the Windows sockets 52.
`Network protocols are a set of rules and a prearranged data
`format defining how two computers communicate on a
`network. Computers connected to the Internet typically use
`the Transmission Control Protocol (TCP) and the Internet
`(IP) protocol suite to communicate. Corporate
`Protocol
`often use the NetBIOS Extended User Interface (NEfBEUI)
`of Microsoft Coqioration or Novell's IPX/SPX protocOI.
`TCP/IP is a layered set of protocols which conceptually is
`stacked vertically into layers. TCP is a nansport layer that
`defines data flow. acknowledges data. aad retransmits lost or
`damaged data. However. the User Datagram Protocol (UDP)
`is also conunonly used as a transport layer in place of TCP.
`IP is a network layer that defines the format of data. and the
`basic unit of data transfer. TCP/IP provides a reliable.
`byte-stream-oriented virtual circuit for data n'ansfer and is
`well known in the art. There are also application protocols
`in the Internet protocol suite including File Transfer Protocol
`(FIP), Simple Mail Transfer Protocol (SMTP), Hyper Text
`Transfer Protocol (HITP). Gopher. etc. which use TCP/IP to
`pass data across the Internet.
`As TCP/IP is the default transport/network protocol suite
`for communications with coruputers on the Internet.
`the
`aetwork protocol 60 configured for the dial-up device 54
`used for Internet connection preferably is the TCP/IP
`protocoL although other network protocols used for com-
`munications on the Internet alternatively can be used for the
`aetwork protocol 60. For example. UDP/IP can be used to
`provide an unreliable (i.e.. no guaranteed delivery of data
`packets) byte-stream-orientated, connectionless (i.e.. no vir-
`tual circuit) transport/network protocol suite for data trans-
`fer. On the other hand. the network protocol 61 configured
`for the network device connecting to the local network can
`be any of various network protocols including, but not
`limited to, the NetBIOS Extended User Interface(NetBEUI).
`Internet Packet Exchange/Sequenced Packet Exchange
`(IPX/SPX). DECnet by Digital Equipment Corporation,
`NetBIOS by Microsoft Corporation. and OSI/TP-4.
`The network adapter drivers 64-65 coatrol the network
`devices 54-55, respectively. (The term driver commonly is
`used to refer to a software coinponeat that interfaces with
`hardware.) The network adapter driver 64 configured for the
`dial-up device 54 comprises one or more drivers that imple-
`ment functions for connecfion protocols and for directly
`controlling the operation of the dial-up device 64 (e.g..
`modem). The aetwork adapter driver 64 preferably uses the
`Point-to-Point Protoool (PPP) to coanect to the Internet host
`with the modem. The Serial Line Protocol (SLIP) alterna-
`tively caa be used. SLIP and PPP afiow two computers to
`communicate using TCP/IP over a standard modem and
`
`

`

`5,784,555
`
`telephone line dial-up coanection. and typicaUy provide full
`access to the set of available Internet protocols and services.
`The network adapter driver 65 configured for the network
`device 55 coanecting to the local network directly controls
`operation of the device 55,
`Each of the blacks in FI. 2 except for the devices 54-55
`is typically implemented as a module of code for a set of
`related functions.
`In the foflowiag discussion. the term "binding" generally
`refers to linking together software components (e.g.. the
`network protocols 60-61 with the network device drivers
`the componcats can interface and
`64-65) so that
`interoperate, such as by creating a reference for one com-
`ponent to the other in a system registry or the like as
`described below. The term "unbinding" generally refers to
`removing the link. such as by deleting the reference.
`Configuration and Security Automation
`Refemng now to FIG. 3, in the illustrated embodiment of
`the invention. the network software configuration 50 (FIG.
`2) is initially coafigured by an Internet set-up automation
`software 150. The network software configuration 50 also is
`checked and corrected if needed by a dial-time security
`checker 156 and a dial-time configuration checker 158. each
`time that a dialer 154 associated with the network software
`dials on lhe dial-up device 54 (FIG. 2) to connect to the
`Internet. The operation of the Internet set-up automation
`software 150. the dial-tine security checker 156 and the
`dial-time configuration checker 158 are next described with
`reference to the flow charts of FIGS. 4. 5 and 7. The Internet
`set-up automation software 150. dial-time securiiy checker
`156 and dial-time configuration checker 158 can be provided
`as components of the network applicatioa 52. components of
`the computer's operating system software. or as separate
`software compoaents.
`Internet Set-up Automation
`Referring aow to PIG. 4. an Internet set-up automation
`software 150 (FIG. 3) (also referred to as the"Internet Set-up
`Wizard") in the illustrated embodiment of the invention
`initially configures the network software configurafion 50 as
`shown in FIG. 2 according to a configure Internet device
`process 70 to provide a dial-up connection to the Internet for
`the network application 52 (FIG. 2). Although the process 70
`in the illustrated embodiment configures the network soft-
`ware for connecting to the Internet with a dial-up device 54
`(FIG. 2). alternative embodiments can configure the network
`software to connect to the Interact with a dedicated connec-
`tion network device.
`The Internet set-up automation software 150 generally is
`run when the network application 52 or any other network
`appiication that accesses the Internet is first instalied on the
`computer system 20 (FIG. I). The Internet set-up automa-
`tion software 150 can be run after the network software
`already bas baca configured for the network device 55
`(hereafter the "existing network device") which connects
`with another computer network. such as an internal corpo-
`rate local area network (LAN). According to the illustrated
`ennodiment of the invention, the process 70 configures the
`network software for the dial-up network device 54 (FIG. 2)
`so as to avoid disturbing an existing configuration of the
`network software for the existing network device 55.
`The Internet set-up automation software 150 generally has
`a two phase operation. In a first phase. the Internet set-up
`automation software 150 displays a sequence of dialogs
`200-202 (FIGS. 9-11) which comprise textual prompts
`206—208 that request certain configuration information l'rom
`the user and user interface controls 210-219 which the user
`manipulates using an input device 28 of the computer
`
`13
`
`system 20 (FIG. I) to input the configuration information,
`The configuratioa information includes various parameters
`defining the dial-up connection to be used for connecting to
`the Internet, such as a telephone number of an Internet
`access service provider's Iaternet server computer, and
`communications parameters of the server computer. In a
`second phase of operauon. the Internet set-up automation
`software 150 configures the network software for connecting
`to the Internet using the dialup device 54 according to the
`lp configuration information specified by the user. The Internet
`set-up automation software 150 performs the configure
`Internet device process 70 in this second phase so as to avoid
`disturbing the network software configuration for the exist-
`ing network device 55.
`In the Windows 95 operating system used in the illus-
`trated computer system 20 (FIG. I). Ihe network software is
`configured by installing software modules (e.g.. the network
`software oomponents such as the network pmgramming
`interface 58. the network protocols 60-61 and the network
`device drivers 64-65) into the secondary memory 42 (FIG.
`I) and setting entries in a system registry. The system
`registry is a database stored as a file in the secondary
`memory 42 and used in the Windows 95 operating system
`for storing hardware and software configuration informa-
`tion. The Windows 95 operating system includes functions
`accessed by caUs to a set of system application programming
`interfaces (APIs) which allow querying and deleting system
`registry entries, and installing the modules of the network
`software. The system APIs used by the Internet set-up
`automation so

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