throbber
a2) United States Patent
`US 6,854,009 BI
`(10) Patent No.:
`Feb. 8, 2005
`(45) Date of Patent:
`Hughes
`
`US006854009B1
`
`NETWORKED COMPUTER SYSTEM
`
`OTHER PUBLICATIONS
`
`(54)
`
`(75)
`
`(73)
`
`Inventor: Trevor Hughes, Mt. Laurel, NJ (US)
`
`Assignee: Tacit Networks, Inc., South Plainfield,
`NJ (US)
`
`(*)
`
`Notice:
`
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`US.C. 154(b) by 0 days.
`
`(21)
`
`(22)
`
`61)
`
`(52)
`
`(58)
`
`(56)
`
`Appl. No.: 09/469,834
`
`Filed:
`
`Dec. 22, 1999
`
`Int. C17 veces G06F 15/177; GO6F 15/16;
`GO6F 9/44; GOOF 9/445
`US. Che eccceecnees 709/220; 709/219; 717/176;
`TAT/171; 717/173
`Field of Search ..............0ccceecceeeee TAV/ATI, 174,
`717/173, 176; 709/220, 219, 106; 711/100
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`eeaa Eo
`
`5,442,771
`5,475,819
`5,675,800
`5,765,205
`5,790,753
`
`5,826,000
`5,842,011
`5,852,722
`5,870,554
`5,889,990
`5,919,247
`5,925,103
`5,926,631
`5,935,249
`5,944,608
`
`6,640,334
`
`8/1995
`12/1995
`10/1997
`6/1998
`8/1998
`
`10/1998
`11/1998
`12/1998
`2/1999
`3/1999
`7/1999
`7/1999
`7/1999
`8/1999
`8/1999
`10/1999
`5/2001
`5/2002
`9/2002
`10/2002
`4/2003
`10/2003
`
`
`
`Filepp et al. oo... 709/219
`Miller et al.
`........... 395/200.03
`Fisher, Jr. et al.
`.......... 395/700
`Breslau et al.
`.............. 711/103
`Krishnamoorthy
`... 395/200.33
`etal. wu...
`.. 395/180.02
`Hamilton ..
`Basu.
`....ceeeeececcceeeeeeneeee 395/652
`Hamilton ............ 395/200.51
`Grossmanetal. ..... 395/200.52
`Colemanet al.
`............ 395/682
`........... 709/217
`Van Hoff et al.
`
`Magallanes et al.
`........ 709/230
`McGarvey ..... cece 395/500
`
`. 713/201
`...
`Stern et al.
`
`......
`Reed et al.
`463/40
`
`..
`Amberget al.
`FAT/AT4
`Deo et al.
`.....ceeeeeeeeee 709/106
`Doran et al. 0... FAT/174
`
`Toorians .........ceeeeeeeeeee 711/100
`Kato et al. voces T17/173
`
`.............00 717/173
`Erpeldinger
`Rasmussen ...............65 FAFATAL
`
`Andersonet al., “A Case for NOW (Networks of Worksta-
`tions)”, Dec. 9, 1994, p 1-20.
`Culler et al., “Parallel Computing on the Berkeley NOW”,
`p 1-11.
`The Berkeley NOW Project, p 1-2.
`SETI @home, “How SETI@home works”, p 1-16.
`CITRIX, “Citrix and Windows 2000 Positioning Points”, p
`1-3.
`StorageTek, Level 3 make storage pact, p 1-3.
`Sun Ray™ 1 Enterprise Appliance, “IJot Desk Architec-
`ture”, p 1-19.
`
`* cited by examiner
`
`Primary Examiner—William A. Cuchlinski, Jr.
`Assistant Examiner—Michael Delgado
`(74) Attorney, Agent, or Firm—Norris, McLaughlin &
`Marcus
`
`(57)
`
`ABSTRACT
`
`Anetworked computer system has a plurality of servers and
`a plurality of distributed clients, which may be devices or
`computers. Each client has a boot operating system (OS).
`Upon startup,
`the boot OS in each client automatically
`initiates a connection to one of the servers via the Internet.
`The boot OS can detect the type of medium (e.g., cable
`modem, DSL) to which the client is connected. The server
`automatically downloads a base OS and dynamically con-
`figures a suite of applications on the client without running
`the standard installation programs. One included application
`is an Internet telephony application, allowing a user to plug
`a standard telephone into the client appliance or computer,
`pick up the telephone, and automatically dial out using long
`distance Internet
`telephony. Optionally,
`the server may
`download a plurality of operating systemsthat are automati-
`cally initiated to run concurrently on the client. The clients
`use a random access memory (RAM)caching technique. A
`first portion of each OS or application is downloaded at
`startup and maintained in the client RAM, containing the
`files needed to launch the OS or application. If the client
`processes a request for an OSorapplication program file not
`in the client’s RAM,
`the requested file is automatically
`downloaded from the server.
`
`8 Claims, 18 Drawing Sheets
`

`
`toe
`
`
`‘TURN CLIENTON L-- 100
`
`
`

`BOOT PROM SEQUENCE |“lO.
`
`We
`
`lot
`‘LANOR WAN)
` x
`BOOT SERVER
`oor |*
`UND
`
`
`N
`BOOTMINIOS FROM
`BOOTABLESOLID STATE
`PERSISTENT STORAGE
`
`
`
`
`LOGINAUTHENTICATION
`
`)NFIGURED.eee=
`
`uz
`SELECTBOOT OR
`DIAL OUTTO.
`SERVER OVERPSTN
`FPS
`
`CONFIGURATIONS
`
`
`
`
`DOWNLOAD&
`
`INSTALLCONFIGURATION
`
`ONTO SOLID STATE
`‘BOOTCONFIGURATION |“ 1+
`
`STORAGE (BASEDON
`
`USER ACCOUNT INFO)
`‘CONNECTTOSERVER
`AUTHENTICATION Lr lite
`
`
`
`DOWNLOADFULLBASEOs }~ 116
`
`
`Ln 1120
`
`
`SELECTErrENVIRONMENT J 1122
`
`
`
`INSTALL/ACTIVATEENVIRONMENT | 24
`
`
`“USE SYSTEM
`
`bo 126.
`
`
`
`Google Exhibit 1127
`Google v. VirtaMove
`
` +
`
`
`130]
`
`
`
`Google Exhibit 1127
`Google v. VirtaMove
`
`

`

`U.S. Patent
`
`Feb. 8, 2005
`
`Sheet 1 of 18
`
`US 6,854,009 B1
`
`
`Household
`
`~)
`S
`
`
`
`Average
`
`x
`_
`.
`O
`=
`LL
`
`5o
`
`f
`=y
`ge
`4
`
`ServerFarm
`
`

`

`U.S. Patent
`
`Feb. 8, 2005
`
`Sheet 2 of 18
`
`US 6,854,009 B1
`
`QS
`
`E
`Nw ic
`
`>w
`
`yman ”n
`
`Bs
`
`3
`=
`
`Ia
`
`j
`Am
`
`OX SS
`=
`wr
`
`z od
`20
`Ss >
`
`a ve
`Hl
`
`e
`
`3
`No
`a
`
`9
`-
`
`LANMWAN/VPN Device aory
`
`
`
`mJ1F20
`
`StandardPBX Teleph
`
`142%
`\__NN
`HILO
`HOODOO
`LisiILLeI4
`DIDO
`
`
`
`
`Server
`Local
`
`
`5
`3
`
`
`
`=
`5
`3
`
`oO
`
`o
`LN
`
`UM”
`
`aa
`=
`
`O
`VY
`i
`
`
`
`
`
`
`
`
`OfficeBuilding
`
`
`
`
`

`

`U.S. Patent
`
`Feb. 8, 2005
`
`Sheet 3 of 18
`
`US 6,854,009 B1
`
`
`
` ServerFarm
`
`121
`
`
`
`Special purpose
`
`
`
`
`| “backend:servers:
` aC AlLivenseiAccounting
`pe Server
`
`a
`
`OSsserver.
`
`
`
`
`Onthe-lyod.
`“configurationserver ©
`
`>
`
` Figure 2
`
`

`

`U.S. Patent
`
`Feb. 8, 2005
`
`Sheet 4 of 18
`
`US 6,854,009 B1
`
`.
`
`De ice/Appliance >; [age
`
`
`
`Tye
`
`|” USB
`
`[IP
`-
`Rpes oe Pas
`| phone.
`{| Sound |
`_
`Chipset’!|chipset
`
`Figure 3
`
`1
`34071
`
`HardDrive
`(Optional)
`
`;
`|
`
`

`

`U.S. Patent
`
`Feb. 8, 2005
`
`Sheet 5 of 18
`
`US 6,854,009 B1
`
`132
`
`Thin Client
`Device/Appliance
`
`Boot OS on Solid State Disk
`
`f
`
`Compression Layer
`
`BAM Disks Secondary||Secondary
`RAM Disks
`OS
`OS
`Mis
`os Boot.
`Application
`
`408
`
`404
`
`Figure 4
`
`406
`
`410
`
`412
`
`Files
`
`
`
`BaseApplications
`
`Seconda
`
`Files
`
`

`

`U.S. Patent
`
`Feb. 8, 2005
`
`Sheet 6 of 18
`
`US 6,854,009 B1
`
`
`
`Thin Client
`
`Device/Appliance
`
`
`
`
`
`Chipset
`
`Standard
`Telaphone
`Equipment
`
`Figure 5
`
`

`

`U.S. Patent
`
`Feb. 8, 2005
`
`Sheet 7 of 18
`
`US 6,854,009 B1
`
`_ THINCLIENTDEVICE/APPLIANCE©.
`Base Os _.
`"Secondary
`
`"IP Phone
`Chipset. ee
`‘Device Drivers}:.-
` ) |
`
`Os"
`
`"ReplicatorsES Applications. ree
`
`-Base:os. +}“fe :eS‘Secondaryos5|°[oe
`
`Figure 6
`
`

`

`U.S. Patent
`
`Feb. 8, 2005
`
`Sheet 8 of 18
`
`US 6,854,009 B1
`
`Base OSLinux’ *~
`
`° .
`S
`z.
`So
`2
`Ol
`oo
`Cc .
`=||vooD,
`
`~ Thin Client/Device/Appliance< |
`
`LE:,
`
`Figure 7a
`
`

`

`U.S. Patent
`
`Feb. 8, 2005
`
`Sheet 9 of 18
`
`US 6,854,009 B1
`
`(34
`
`120
`
`WINDOWS98 V7 22
`
`WINDOW
`
`WINDOWSNT
`
`WINDOW
`
`
`
`yl 24
`
`LINUX
`WINDOW
`
`7126
`
`UNIX
`WINDOW
`
`122
`
`FIG. 78
`
`

`

`U.S. Patent
`
`Feb.8, 2005
`
`Sheet 10 of 18
`
`US 6,854,009 B1
`
`DRWE
`
`SEML- PERSISTENT
`Boor
`IMAGE
`
`7GOL
`
`BOF
`
`SEM\ ~ PERSISTENT
`“PERMANENT “ STORAGE
`806
`COMPRESSED
`SEMI- PERSISTENT
`
`DISK IMAGE
`RAM oR
`HARD
`
`COMPUTER
`
`a
`
`508
`
`NETWORK
`CARD
`7 B10
`| 8 ot
`ROOT
`
`|
`
`EWERNET
`
`.
`
`FIG, ©
`
`

`

`U.S. Patent
`
`Feb.8, 2005
`
`Sheet 11 of 18
`
`US 6,854,009 BI
`
`410
`
`Secondary
`Os
`
`Application
`Segment
`
`
`
`
`
`Application
`Segment
`
`Application
`Segment
`
`Application
`Segment
`
`Application
`Segment
`
`Application
`Segment
`
`
`
`Virtual Machine
`
`132
`
`DEVICE
`
`C
`
`
`
` 410
` 410,
`
`&&
`
`Secondary
`OS and Apps
`
`Secondary
`OS and Appa
`
`608
`
`Figure 9
`
`

`

`U.S. Patent
`
`Feb. 8, 2005
`
`Sheet 12 of 18
`
`US 6,854,009 BI
`
`
`
`
`
`
`
`
`ce“adninwsosejnBurs‘sq/suonerydde:ajyoidsasoay10ye1ad9
`
`
`
`
`eaSonespue(ssQJuadNIUO?ajdiyjnuYIM)DdPJEPUe}sBay!|ADAPSazZII}N10JeIadG
`
`
`
`
`
`
`es“S31ASP0}UO|SsasxnuljaseqpueNusWsuONdoOjeRIU!speojUMOpJanuas
`
`=eS1JOAIIS0}ELEP
`
`
`
`
` cSSs*(sasoduindBulljiq4oyaBesni0jejn>)/e>savuas
`
`
`
`
`
`
`
`size)‘Burysoyuoleryddejosasuejsutut)suoissasaunyny104ajyoudsojesadosulejazJaAles
`
`
`
`
`
`‘WVY3219p0}550puesuoleriddejouoqodAiessazauSpeo|UMOPJdAIaS
`
`cS
`
`eS
`
`cS
`
`bsEnSacDee‘AyjerJLWOINEJaAgasay}$3>e},U02ad1AaG
`
`
`
`
`
`
`
`‘JaAJa58}OWA!0}dnBuiyyuanasyoegJavlas
`
`yo!’9|4
`
`AON'O)4
`
`201°914
`
`
`
`Gol°9)4
`
`30]“94
`
`4o|94
`
`90)94
`
`
`
`

`

`U.S. Patent
`
`Feb.8, 2005
`
`Sheet 13 of 18
`
`US 6,854,009 B1
`
`FIG. Lt
`
`lO
`
`TURN CLIENT ON
`
`
`
`_-~ ((00
`
`
`
`
`
`BOOT PROM SEQUENCE
`
`Woe
`
`lOF
`
`
`
`
`
`LAN OR WAN
`BOOT SERVER
`
`OUND ?
`
`PERSISTENT STORAGE
`
`BOOT MINI OS FROM
`BOOTABLESOLID STATE
`
`11038
`
`HU2B
`
`DIAL OUT TO
`SERVER OVER PSTN
`
`
`
`DOWNLOAD &
`INSTALL CONFIGURATION
`ONTO SOLID STATE
`STORAGE (BASED ON
`USER ACCOUNT INFO)
`
`Lo
`
`
`CONNECTIONS
`
`
`SELECT BOOT OR
`EDIT LIST OF
`
`CONFIGURATIONS
`
`BOOT CONFIGURATION L~ HWE4
`
`(( 40
`
`CONNECT TO SERVER
`AUTHENTICATION
`
`(ilo
`
`DOWNLOAD FULL BASE OS
`
`18
`
`LOGIN AUTHENTICATION
`
`2
`(eo
`
`SELECT EDIT ENVIRONMENT
`
`li22
`
`INSTALL/ACTIVATE ENVIRONMENT
`
`L124
`
`USE SYSTEM
`
`26
`
`

`

`U.S. Patent
`
`Feb.8, 2005
`
`Sheet 14 of 18
`
`US 6,854,009 B1
`
`
`
`STORE CODE FOR
`EACH CONNECTION
`
`METHODIN CLIENT
`
`% 1 ( ' i ’ 4’
`
`[ttreeewneneee
`
`
`
`
`
`
`
`
`
`AUTOMATICALLY
`
` REQUEST FOR
`DOWNLOAD
`2ND PORTION
`2ND PORTION
`
`OF BASE OS
`
`
`OF BASE OS
`
`
`
`OVERWRITE
`
`
`1ST PORTION
`
`USE 2ND PORTION OF BASE OS
`1220
`
`
`DOWNLOAD REPLACEMENT CONNECTION COD
`
`~~ ze d
`
`IL 24
`
`

`

`U.S. Patent
`
`Feb. 8, 2005
`
`Sheet 15 of 18
`
`US 6,854,009 B1
`
`FG.
`
`(3
`
`SELECT FREQUENTLY USED PROGRAM FILES|_/— { 4 O 0
`FOR FIRST PORTION
`
`SELECT INFREQUENTLY USED PROGRAM FILES
`FOR SECOND PORTION
`
`wv (302
`
`
`
`START CLIENT
`
`[304
`
`DOWNLOAD IST PORTION OF BASEOS AND |_~ | 30G
`1ST PORTION OF EACH APPLICATION
`
`(508
`
`REQUEST FOR
`DOWNLOAD
`2ND PORTION
`2ND PORTION
`
`OF APPLICATION ?
`OF APPLICATION
`
`
`
`USE 1ST PORTION OF APPLICATION
`
`OVERWRITE
`1ST PORTION
`
`USE 2ND PORTION OF APPLICATION
`
`
`
`
`
`
`
`LAUNCH BASE OS AND APPLICATION
` AUTOMATICALLY
`
`
`
` | 31¢
`
`
`

`

`U.S. Patent
`
`Feb.8, 2005
`
`Sheet 16 of 18
`
`US 6,854,009 B1
`
`IDENTIFY DEPENDENCIES AMONG
`POPULATION OF APPLICATIONS
`
`| 4 0 D
`
`STORE DEPENDENCIES|~| 4-7.
`IN A DATABASE CODES
`
`
`
`
`
`rlo.14
`
`404
`Paascrmoms}- “Oo
`
`
`
`QUERY DATABASE
`FOR DEPENDENCIES
`AMONGUSER’S PROGRAMS
`
`
`
`W/ DEPENDENCIES
`INCLUDED?
`
`
`
`
`GENERATE CONFIGURATION
`GENERATE CONFIGURATION
`
`FILES REFLECTING
`FILES REFLECTING
`NO DEPENDENCIES
`
`
`DEPENDENCIES
`
`
`
`
`
`DOWNLOADPROGRAMFILES
`FOR APPLICATIONS IN PROFILE
`
`It(®
`
`
`
`

`

`U.S. Patent
`
`Feb. 8, 2005
`
`Sheet 17 of 18
`
`US 6,854,009 B1
`
`LAUNCH BASE OSNeu71590
`
`(507%.
`
`TRACK LENGTH OF
`TIME OS RUNNING
`
`
`
`
`
` |50
`
`LAUNCH APPLICATION
`
`IN CLIENTS
`
`TRACK LENGTH OF TIME
`APPLICATIONS RUN
`
`(SO
`
`DEBIT CLIENT OWNER
`ACCOUNTSFOR OS TIME
`
`|SO%
`
`DEBIT CLIENT OWNER
`ACCOUNTS FOR APPLICATION TIME
`
`15(0
`
`GENERATE REPORT OF
`TOTAL OS TIME FOR ALL CLIENTS
`
`rISt@
`
`GENERATE REPORT OF
`TOTAL APPLICATION TIME FOR ALL CLIENTS
`
`(5(4+
`
`CREDIT LICENSOR ACCOUNTS
`FOR OS TIME, APPLICATION TIME
`
`iS 16
`
`INITIATE ELECTRONIC FUNDS
`TRANSFER TO LICENSOR ACCOUNTS
`
`518
`
`CREDIT CUSTOMER FOR CPU TIME
`USED / JOBS COMPLETED
`
`iSzo
`
`

`

`U.S. Patent
`
`Feb.8, 2005
`
`Sheet 18 of 18
`
`US 6,854,009 B1
`
`FIG.
`
`IO
`
`DOWNLOADTHIRD PARTY CODE
`AND DATA TO CLIENT»
`
`
`
`
`
`
`APPLY CREDIT
`PAY OWNER
`
`
`OF CLIENT
`AGAINST USER
`
`ACCOUNT BALANCE
`
`

`

`US 6,854,009 B1
`
`1
`NETWORKED COMPUTER SYSTEM
`
`FIELD OF THE INVENTION
`
`The present invention relates to the field of telecommu-
`nications generally, and more specifically to networked
`computer systems including server processors and thin cli-
`ents.
`
`DESCRIPTION OF THE RELATED ART
`
`In recent years, acceptance of computer technology and
`use by both consumer and commercial customers has been
`greatly hindered by several factors relating to maintenance
`and difficulty of configuring computer software and hard-
`ware. Traditionally, both private and commercial users of
`computers have been plagued by maintenance and configu-
`ration problemsthat have required the attention of an on-site
`technician. For commercial users of computers and
`software, this tends to be a tremendous addition to the cost
`of doing business and clearly affects the rate at which many
`companies can grow and ultimately compete in industry. For
`consumers, the need for expert assistance in maintaining and
`installing software and hardware used for household com-
`puting is rather intimidating and thus inhibits the average
`consumer’s ability to fully use currently available technolo-
`gies. The high price of PCs (personal computers) and
`software is also a factor in discouraging complete market
`penetration and subsequent use of the latest available tech-
`nologies on both commercial and consumerfronts.
`At the same time, software companies’ inability to protect
`proprietary programsand affordably distribute and support
`their products negatively impacts their bottom line
`profitability, thus slowing the advance of new technologies.
`Software pirating is a rampant problem worldwide, and
`international law has not yet given software development
`companies the tools they need to effectively discourage the
`most significant overseas offenders. The advent of writable
`CD ROMshas made software copying a more threatening
`problem than ever before, both in the US and abroad.
`Additionally,
`recently developed technologies have
`allowed the transport of voice transmissions over the Inter-
`net in much the same manneras other data. Some companies
`have begun to provide hop-off points from the Internet onto
`the public switched telephone network. This allows a user
`the ability to make telephone calls from anywhere in the
`world when connected to the Internet. These telephonecalls
`are now localcalls if the call destination is within the local
`
`calling area of one of these companies. While this has
`resulted in the ability of individuals and industry to greatly
`reduce their long distance phone bills,
`the complicated
`configuration issues surrounding this technology have con-
`tributed to low levels of market penetration. In addition,
`many implementations are substandard and have led to
`customer dissatisfaction.
`
`10
`
`15
`
`30
`
`35
`
`40
`
`45
`
`50
`
`2
`that are connected to each other by a type of
`a client
`connection. The method comprises the steps of: starting the
`client with a boot operating system; automatically establish-
`ing a communications session corresponding to the type of
`connection between the server and the client; downloading
`at least a first portion of a base operating system from the
`server to the client; and automatically launching the base
`operating system in the client after the downloading.
`Another aspect of the invention is a method and apparatus
`for operating a computer system including a server and a
`client. The method includes downloadinga first portion of
`an application program from theserverto the client. The first
`portion of the application program containsa first plurality
`of program files. The application program further includes a
`second portion containing a second plurality of program
`files. The second plurality of program files is not included in
`the first plurality of program files. The application program
`is designed to operate only withthefirst plurality of program
`files stored locally and the second plurality of program files
`stored locally. The application program is launched in the
`client, while the first portion of the application program is
`stored locally in the client, but the second portion of the
`application program is not stored locally in the client. A
`request for one of the second plurality of program files is
`processed in the client. At least one of the second plurality
`of program files is automatically downloaded from the
`server to the client. The at least one of the second plurality
`of program files is used in the client.
`Anotheraspect of the invention is a method and apparatus
`for operating a computer system including a server and a
`client. The method includesthe steps of downloadingat least
`a first portion of a base operating system from the serverto
`the client upon startup of the client, the first portion of the
`base operating system including a plurality of operating
`system files that are not stored locally in the client before the
`downloading; launching the base operating system in the
`client after downloading the first portion; downloading at
`least a first portion of a second operating system from the
`server to the client; and spawning the second operating
`system from the base operating system in the client, the base
`and second operating systems running concurrently in the
`client.
`
`Anotheraspect of the invention is a method and apparatus
`for operating a computer system including a server and at
`least one client. The method comprises the steps of: down-
`loading at least a first portion of a base operating system
`from the server to the client after startup of the client;
`launching the base operating system in the client; automati-
`cally tracking a first length of time during which the client
`runs the base operating system; and automatically debiting
`a first account record in the server by a first amount based
`on the first length of time, the first account record being
`associated with an ownerof the client.
`
`the number of households/businesses that
`In the U.S.,
`Still another aspect of the invention is a method and
`have not yet embraced the latest computer and software
`system for configuring computer programsona clientthat is
`technologyis remarkably high.It is a widely accepted belief
`coupled to a server. The method comprises identifyingafirst
`that, as the cost of computers and software falls, the number
`of users will increase in direct relation to the increased
`plurality of computer programs that are listed in a user
`profile associated with a user of the client. Thefirst plurality
`of computer programs are associated with the user. A data-
`base is queried. The database identifies dependencies among
`a second plurality of computer programs that are stored on
`the server. The first plurality of computer programs is a
`subsetof the second plurality of computer programs. Depen-
`dencies are identified amongthefirst plurality of computer
`programs based on the querying. Configurationfiles that are
`required to execute any of the first plurality of computer
`programsin the client are automatically generated, without
`
`affordability of these technologies.
`Consequently, a need exists for a new apparatus and
`method by which both commercial and consumer computer
`and software users can alleviate the exorbitant costs and
`downtime associated with software and hardware
`
`installation, configuration and maintenance.
`SUMMARYOF THE INVENTION
`
`Oneaspect of the invention is a method and apparatus for
`operating a computer system including at least a server and
`
`55
`
`60
`
`65
`
`

`

`US 6,854,009 B1
`
`3
`executing any installation programs associated with any of
`the first plurality of computer programs.
`The above and other features of the present invention will
`be better understood from the following detailed description
`of the exemplary embodiment of the invention which is
`provided in connection with the accompanying drawings.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIGS. 1A and 1Bare block diagrams showing respective
`portions of an exemplary networked computer system
`according to the present invention.
`FIG. 2 is a block diagram showing the exemplary server
`farm of FIGS. 1A and 1B.
`
`FIG. 3 is a block diagram of the hardware in exemplary
`thin client appliance of FIGS. 1A and 1B.
`FIG. 4 is a block diagram of the exemplary computer
`shown in FIG. 1B.
`
`FIG. 5 is a block diagram showing an exemplary tele-
`phone interface according to the invention.
`FIG. 6 is a block diagram showing an Internet telephone
`software configuration in the appliance of FIG. 3.
`FIG. 7A is a block diagram showing an exemplary con-
`figuration of base and secondary operating systems in the
`appliance of FIG. 3.
`FIG. 7B is an exemplary display including a plurality of
`windowsrunning respective operating systems, in the moni-
`tor shown in FIG. 1A.
`
`FIG. 8 is a block diagram showing the software configu-
`ration of the device of FIG. 3.
`
`FIG. 9 is a block diagram showing remoteprofiling in the
`system of FIGS. 1A and 1B.
`FIGS. 10A-10G are diagrams showing activities per-
`formed during a user session in the system shown in FIGS.
`1A and 1B.
`
`FIG. 11 is a flow chart diagram showing a method for
`configuring the appliance shown in FIGS. 1A and 1B.
`FIG. 12 is a flow chart diagram showing a method for
`forming a connection between the client and server of FIG.
`1A, and downloadingthe base operating system to the client.
`FIG. 13 is a flow chart diagram showing a method for
`configuring the application software in the appliance of FIG.
`1A.
`
`FIG. 14 is a flow chart diagram showing a method for
`generating configuration files for the clients shown in FIGS.
`1A and 1B “on the fly” without running installation pro-
`grams.
`FIG. 15 is a flow chart diagram showing a method for an
`exemplary chargeback system suitable for use in the system
`shown in FIGS. 1A and 1B.
`
`FIG. 16 is a flow chart diagram showing a method for
`applying credits for third party calculations performed on
`client processors.
`
`OVERVIEW
`
`FIGS. 1A and 1B show two portions of an exemplary
`networked computer system according to the present inven-
`tion. The system includes a server farm 100 which includes
`a plurality of fileservers. A plurality of clients 132, 141a,
`141b can be connected to the server farm 100 by way of the
`Internet 110. The clients may include thin client appliances
`(devices) 132 and/or personal computers 141a, 1415 in any
`combination. The clients connect to a site on the Internet to
`establish a session with one of the servers of the server farm
`100.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`FIG. 1A shows exemplary consumer users connected to
`the system, and FIG. 1B shows exemplary commercial
`users. The exemplary embodiment includes a new scaled
`down version of a computer that requires no manualsoft-
`ware installation or maintenance to be performed locally.
`This new PIA/PNA(Personal Internet Appliance/Personal
`Network Appliance, hereinafter referred to as “appliance
`132”) offers users the ability to use the same variety of
`programs currently available for traditional PCs 141a, 141b
`today. The appliance 132 is able to operate like a full scale
`computer 141a.
`A typical consumer user can connect to the network via
`one of two different mechanisms. The very first time a user
`connects to the system, an initial connection is formed over
`a telephone line or Ethernet connection to a local server
`(discussed in greater detail below) whenthe client 132, 141a
`is started up, and may use virtual private network (VPN)
`tunneling. Preferably, the initial connection provides secu-
`rity by encryption, and on-the-fly compression. (The type of
`compression may vary depending on the type of files
`downloaded,and is determined by the server). Compression
`may be used on anylink betweenthe server farm 200 and the
`client 132, 141, as described below with reference to FIG.
`1B. This initial connection may be formed using a reduced
`version of the operating system (OS), referred to hereinafter
`as the “boot operating system.”
`Subsequent connections to the network are preferably
`formed using Internet Protocol (IP) on a high speed com-
`munications link, such as an Ethernet coupled to a cable
`modem,satellite link, or digital subscriber line (DSL). These
`connections may be made with the
`server farm 100, or with a regional server 122, described
`below with reference to FIG. 1B. Alternatively, low speed
`(dial-up) connections may be used for subsequent
`connections, although performance is not as good with a
`dial-up connection. Performance using a low-speed dial-up
`connection may be improved by using an external hard drive
`for local caching of program files and data, as described
`below.
`
`Referring again to FIG. 1A, appliance 132 may include a
`mother board and sound card, a video card, ports to plug in
`a keyboard and a monitor as well as some other digital
`equipment, but need not have a hard drive installed in it.
`Upon startup, appliance 132 automatically calls up the
`server farm 100 through either a telephone wire 112 or a
`cable modem, a digital subscriber line (DSL) or a network
`cable 111 on either a wide area network (WAN)ora local
`area network (LAN) to one of the remote servers in the
`server farm 100. The remote server acts as an application
`host and allowsthe user of the appliance 132 to choose from
`a numberof operating systems offered by the remote server.
`For example, the user can choose to operate in WindowsNT,
`Windows 95, Windows 98, or Linux. Once the automatic
`download of the OS is completed, the user is then able to
`choose from a numberof applications. The applications may
`be the same applications that are commonly locally
`installed. The applications can be downloaded whenthey are
`to be used, without incurring large delays. The downloaded
`software is stored in random access memory (RAM), atleast
`until the user logs out of the system. User data are stored on
`one of the severs of the server farm 100. No results have to
`be stored locally. Because all software is downloaded from
`the network, and all work is remotely saved in the server
`farm 100, the appliance 132 need not have a hard drive. The
`appliance can thus be less expensive than a conventional
`computer.
`Alternative local computing devices may include micro-
`computers 141a, 141b (e.g., desktop, laptop and the like).
`
`

`

`US 6,854,009 B1
`
`5
`The software needed to form the initial connection to the
`servers in the server farm 100 may be provided in a
`removable, bootable medium (e.g., floppy disk). Because the
`system does not require any local permanent storage, a
`computer 141a can be used to provide the same functions as
`the appliance 132 without changing the computer’s configu-
`ration. As another alternative, a boot ROM maybeinstalled
`in a card in a conventional computer to convertit to operate
`like appliance 132. The term “client” is used herein to refer
`to either a diskless appliance 132 or a fully configured
`computer 141a, 1415 that is used to access the system.
`FIG. 1B showsanother part of the same network shown
`in FIG. 1A. Commercial enterprises may be connected to the
`system, preferably via a local area network (LAN) server
`140. The server 140 may conveniently be used to download
`the boot OS, base OS and applications to all of the local
`clients 141a, 141b. As in the case of the consumer, a
`commercial user mayaccess the system via an appliance 132
`or acomputer 141a. The local server 140 allows any number
`of clients in the enterprise to connect to the server farm 100
`via a single cable modem, DSL,or satellite link, to which
`server 140 is connected. The clients 132, 141 are in turn
`connected to the local server 140 by a LAN connection
`method, such as Ethernet.
`The local server 140 acts as a local cache for the server
`farm. Each user that accesses the system 100 through the
`server 140 has at least one profile identifying any OS or
`application program that is required by that user. When the
`user’s profile is first identified to the local server 140, the
`server 140 requests (from server farm 100) the applications
`and imagesthat are required to service that user. The local
`server 140 also receives a mirrored copy of the on-the-fly
`configuration server 204. Subsequently, when the user logs
`on to the system 100 by way of client appliance 132 and the
`local server 140, any OS or application images, databases,
`electronic mail or other data required by the user can be
`downloaded from the server 140, which reduces latencies
`that would be encountered if the software were downloaded
`
`directly from the server farm 100. The on-the-fly configu-
`ration server program in the local server can download
`necessary program files and data files from the local server
`140 to the client 132, and passes authentication and tokening
`back to the server farm 100. Thus, the program files and data
`are mirrored down through local servers to be close to the
`clients (in terms of communications latencies).
`Preferably, the server 140 is administered by the owner of
`the system. The local server 140 may be connected to the
`server farm 100 via a direct leased line or the Internet.
`
`Because the local server 140 pre-fetches or downloadsfiles
`from the server farm 100 before they are required to be
`downloaded to the clients 132, 141a, an Internet link is
`expected to provide adequate bandwidth between the local
`server 140 and the server farm 100.
`
`In addition to the local server(s) 140, the system may
`include one or more regional servers 122. The regional
`servers 122 perform a function similar to the local servers
`140, namely caching program files and data for all
`the
`applications required by any local server(s) 140 that are
`connected to the regional server 122. Whena local server
`140is first registered with a regional server 122, the regional
`server identifies any program files and data that are needed
`by the local server 140. Anyof these files not already present
`in the regional server 122 are downloaded from the server
`farm 100 to the regional server 122. All of the neededfiles
`are downloaded from the regional server 122 to the local
`server 140.
`
`Preferably, the regional servers 122 are co-located at the
`central switch locations for telecommunications companies.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`For example, a regional server 122 maybe located at the
`facility of a regional cable company. Any local server 140
`(or consumer client 132) that is connected to that cable
`companyby a cable modem link can downloadfiles from the
`regional server 140 veryrapidly, without the need to down-
`load directly from the server farm 100. Similarly, telecom-
`munications companies providing DSLorsatellite links to
`businesses and/or consumers may have a co-located regional
`server 122 for all of the clients 132 and local servers that
`
`subscribe to the DSL orsatellite services provided by the
`telecommunications companies. The regional server(s) 122
`may be connected to the local server 140 and server farm
`100 via direct leased lines or via the Internet.
`
`Using the regional server(s) 122 and local server(s) 140,
`the on-the-fly-configuration server 214, OS server 210 and
`application server 212 are mirrored downthe chain,as close
`to the clients 132, 141a as possible. Nevertheless, regardless
`of where a client 132, 141¢@ downloadsa file from, authen-
`tication and tokening are passed back to the authentication
`server 216 in the server farm 100, to ensure proper security
`and configuration management, and prevent software pirat-
`ing.
`As noted above, compression may be used on any link
`between the server farm 100 and the client 132. However, in
`the exemplary embodiment, compression is not used
`between the clients 132 and the local server 140, because the
`speed of the Ethernet is so high that compression could
`actually slow downthe transmission between the server and
`the client. The exemplary embodiment uses two public
`domain software methods for transmission between the local
`
`regional server 122, and server farm 100:
`server 140,
`Blowfish is used for encryption, and LZO is used for
`compression.
`The system allows users the opportunity to travel without
`carrying a specialized appliance or smart card. The system
`can be accessed from anywhere in the world via the Internet
`(for a consumer or commercial user) or via a LAN or WAN
`that may be available for commercial users. Regardless of
`the local client device used, the user can log in and enter a
`password; access is automatically provided to all the user’s
`personalarray of files and applications. Appliance 132 offers
`unprecedented data portability and security through the use
`of remote data storage and access. By using remote boot
`technology, this software/hardware system allowsthe user’s
`personal data/software to be non-specific to any appliance
`132, PC or traditional computer 141a, yet to be accessible
`through any hardware that can be linked to the remote server
`200 or applications hosting site 100. Ultimately, a user’s
`data/software follows the user wherever he or she goes and
`alleviates the need for data/software to be specific to any
`particular hardware.
`The appliance 132 has an RJ11 connector, so that a user
`can plug a standard telephone handset into the appliance
`132. The appliance is pre-configured to automatically allow
`plug-n-play Internet phone access. The user connects to a
`server in the server farm 100 and automatically, the tele-
`phoneis available to make phonecalls via the Internet. The
`system owner maintains local hopoffs 120 to public
`switched telephone networks (PSTN) 121,so that users can
`use the Internet telephone capability to reach people whoare
`not subscribers of the system. Because every call madeis a
`local call to the server farm 100, large savings are obtainable
`for long distance calls.
`The users can buy or lease appliance 132, or, in some
`cases, enter into a long-term service agreement with the
`system owner to obtain the appliance for free. The user
`
`

`

`US 6,854,009 B1
`
`7
`uplinks to the system applications hosting server and has
`access to both the OS (or multiple OS’s) and applications of
`her choice on a pay-as-you-go basis, so that no up-front
`heavy charges are required for the software packages that
`she is using. Instead, the clients can download and use OS
`and application software whenever th

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