`Domenikos et al.
`
`[54] SYSTEMS AND METHODS FOR
`EXECUTING APPLICATION PROGRAMS
`FROM A MEMORY DEVICE LINKED TO A
`SERVER
`[76] Inventors: Steven D. Domenikos, 54 Myrtle St.,
`Millis, Mass. 02054; George C.
`Domenikos, 100 BoatsWain Way, #203,
`Chelsea, Mass. 02150
`[21] Appl. No.: 818,665
`[22] Filed:
`Mar. 14, 1997
`Related US. Application Data
`[63] Continuation-in-part of Ser. No. 616,746, Mar. 14, 1996.
`[51] Int. Cl.6 ..................................................... .. G01D 1/16
`[52] US. Cl. .............................. .. 395/200.49; 395/200.47;
`345/330
`[58] Field of Search ....................... .. 395/200.49, 200.47,
`395/2008, 838, 450, 467; 345/330, 335;
`707/10, 1, 104
`
`[56]
`
`4,825,354
`
`References Cited
`U.S. PATENT DOCUMENTS
`4/1989 Agrawal et a1. ........................ .. 707/10
`OTHER PUBLICATIONS
`Felton et al., “Web Spoo?ng: An Internet Con Game”,
`Technical Report 540—96 (revised Feb. 1997) Department of
`Computer Science, Princeton University, pp. 1—9.
`Andreesen et al., “Netscape Enterprise Vision and Product
`Roadmap”, Netscape Products, Apr. 23, 1997, pp. 1—40.
`URL: home.netscape.com/neWsref/std/indeX.html#White—
`papers.
`
`US005838916A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,838,916
`Nov. 17, 1998
`
`Sharpe, “Just What is SMB”, Copyright @1996, Richard
`Sharpe, Dec. 1996, pp. 1—9.
`Bach, “5.14 —Mounting and Unmounting File Systems”, The
`Design of the Unix Operating system, pp. 119—141.
`Callaghan, “WebNFSTM The Filesystem for the World Wide
`Web”, Sunsoft, Inc. May 1996, pp. 1—20. URL:WWW.sun
`.com/solaris/netWorking/Webnfs/Webnfs.html.
`Primary Examiner—Thomas Peeso
`Attorney, Agent, or Firm—EdWard J. Kelly; Foley, Hoag &
`Eliot LLP
`ABSTRACT
`[57]
`Systems and processes of the invention alloW a computer to
`connect to a server of an Internet site for executing an
`application program that is stored on a disk linked to that
`server. Speci?cally, processes are disclosed that provide a
`data transport interface for connecting to the server. The
`processes transport from the server a server address signal
`representative of a network address of the server, and a path
`name signal representative of a ?le system that includes an
`application program. The process further generates a mount
`request as a function of the path name signal and transports
`the mount request to the server to direct the server to provide
`an array of server ?le pointers that point to a ?le descriptor
`representative of the ?le system that includes the application
`program. The processes generate an array of remote ?le
`pointers, as a function of the server address signal and the
`array of server ?le pointers, and provide the array of remote
`?le pointers to a program loader that transports from the disk
`at the server site to a local program memory element, a ?le
`block associated With the selected remote ?le pointer. The
`process can employ a redirector that translates requests to
`access remote ?les into HTTP compliant commands for
`collecting ?les from an HTTP server site.
`
`17 Claims, 9 Drawing Sheets
`
`WebPoin'I WFS
`WFS
`ADMINISTRATOR APPL|CAT|ON|NFORMAT|O
`APPLICATlON
`FILE CREATED
`N 'NFORMAT'ON
`GuI
`\
`=
`FILE
`A
`21
`.‘
`
`WEB PAGE CONTAINING
`\23
`
`LINK TO SHARED
`WFS FILE SPECIFIED
`APPLICATION
`IN WEB PAGE
`
`<CLICI§AB!._E _______
`
`IMAGE>
`
`A
`
`'
`
`IPR2017-01290
`Ubisoft EX1013 Page 1
`
`
`
`U.S. Patent
`
`Nov. 17,1998
`
`Sheet 1 of9
`
`5,838,916
`
`#J
`
`IPR2017-01290
`Ubisoft EX1013 Page 2
`
`
`
`U.S. Patent
`
`Nov. 17,1998
`
`Sheet 2 of9
`
`5,838,916
`
`WebPoim WFS
`WFS
`ADMINISTRATOR APPUCAT'ON |N
`APPLICATION
`|:||_E CREX'?EIEMATION INFORMATION
`GUI
`\
`FILE
`=
`A
`21
`,'
`
`WEB PAGE CONTAINING
`\za
`
`LINKTO SHARED
`WFS FILE SPECIFIED
`APPLICATION
`|N WEB PAGE
`
`<CL|C|§AB_L_E ________ __
`|MAGE>
`
`"
`
`IPR2017-01290
`Ubisoft EX1013 Page 3
`
`
`
`US. Patent
`
`Nov. 17, 1998
`
`Sheet 3 0f 9
`
`5,838,916
`
`.FOOm
`
`
`
`MmaDm
`
`
`
`
`
`SEESm.__n_44050;cm
`
`um>~mm
`
`NF
`
`OZWmQIO
`
`
`
` $0553;#230004.<zoamwaEOU80528.
`
`mm
`
`mm
`
`ES
`
`
`
`mu<u_~_w.—Z_._.~_On_mz<~:<20
`
`m.9”.
`
`
`
`
`
`mmmUOmmMm>~mmmob—I
`
`mm
`
`«Mama5.50ommm
`
`#2302
`
`
`
`mu<n_~_m:2_HmOamZ<~E<20
`
`|PR2017-01290
`
`Ubisoft EX1013 Page 4
`
`IPR2017-01290
`Ubisoft EX1013 Page 4
`
`
`
`
`
`
`
`
`US. Patent
`
`Nov. 17, 1998
`
`Sheet 4 0f 9
`
`5,838,916
`
`«Eu5:._<U_OO._
`
`
`535%m.__”_
`
` lIE8/zoamgéou802528
`
`
`
`
`
`mmom:_>_~_n_HZDOUU<
`
`153m
`
`<20
`
`:$3a:
`
`mm
`
`9\
`
`l
`
`boom.9SE555:30.00..
`omS.#230a
`
`
`50%;»:<20mmx:w._oZ<Im.__u_>IUM<~E_Im.__u_//,$20._.ZDO<<#2
`
`
`
`E83:/BEE;
`00/-m_n_
`
`:02
`
`/
`
`mmmmNEE5.3aommm..(m,
`
`- m
`
`#8am
`
`
`
`u<u_~_m:2_._.~_On_mz<~:<20
`
`\
`
`\
`
`mmE3.05mi
`
`ww
`
`—~:nm._.u_+Ih<a+n=
`
`NaEBE+Ih<a+n=
`
`mmE§m+Ip<m+n=
`
`|PR2017-01290
`
`Ubisoft EX1013 Page 5
`
`IPR2017-01290
`Ubisoft EX1013 Page 5
`
`
`
`
`
`
`US. Patent
`
`0
`
`9
`
`5,838,916
`
`
`
`
`
`SEE?m.__n_._<U_OO._Om
`
`9\«
`
`25.8%.
`
`NF
`
`Hzmzu
`
`58$295:
`
`
`
`0LSE302.“555%U/\So”.25V./
`
`
`N5:502.WK
`
`«$3
`
`on
`
`8mmmmzmowusmommzfiacfzai
`
`$8.52:5.7S/55/55;8.aEmmé582$:<20h~822:02255E151;
`
`
`
`mvomNmagmfzfig
`
`
`
`
`
`
`9mmfEEG5:Same;50%;»:33
`
`
`mm/,BEE;.m$5a:43.09:25203528w255:
`
`III
`
`
`
`
`
`9.958% $0333.".HZDOUU<<8/zoamwaéou
`
`m.m_n_
`
`|PR2017-01290
`
`Ubisoft EX1013 Page 6
`
`IPR2017-01290
`Ubisoft EX1013 Page 6
`
`
`
`
`
`
`U.S. Patent
`
`Nov. 17,1998
`
`Sheet 6 of9
`
`5,838,916
`
`@ .mE
`
`IPR2017-01290
`Ubisoft EX1013 Page 7
`
`
`
`US. Patent
`
`Nov. 17, 1998
`
`Sheet 7 0f 9
`
`5,838,916
`
`o5\
`
`NR
`
`mmmEOmmmas*
`
`
`
`
`
`mu<u_~_m:.z_HzmzuE_0n_nw>>
`
`
`
`mmIUZDSE_0n_nm>>
`
`NNN
`
`VNN
`
`mum
`
`
`
`ma-ox..............................-a<mopummamfixufifioano;
`
`
`
`20.538835st$62288228323531225m8
`
`E_on3m>>
`
`
`
`Sam:ozo._
`
`mOmm_<<\qu<u
`
`
`
`mu<n_~_m_._.z_<<m._.m>m3Em0*
`
`
`
`
`
`m0...8~._om~_mIU<UEBnBQS
`
`
`
`n.m_n_
`
`NvN
`
`|PR2017-01290
`
`Ubisoft EX1013 Page 8
`
`IPR2017-01290
`Ubisoft EX1013 Page 8
`
`
`
`
`
`
`
`U.S. Patent
`
`Nov. 17,1998
`
`Sheet 8 of9
`
`5,838,916
`
`
`
`QE/ 5m
`
`m
`
`E/ ii
`
`285
`
`“550% a;
`
`
`n§\ l -Mmm \
`E
`5m 2
`\ I NE
`
`w .5
`
`IPR2017-01290
`Ubisoft EX1013 Page 9
`
`
`
`U.S. Patent
`
`Nov. 17,1998
`
`Sheet 9 of9
`
`5,838,916
`
`/ 100
`
`CLIENT CONNECTS TO
`SERvER PROCESS
`
`110\
`P————
`I
`
`170
`\
`SERVER RECEIVES
`CLIENT SERvER PROCESS + — — — —'
`ACCESS REQUEST
`-
`II
`180\ AUTHENTICATES AGENT
`& DETERMINES
`PRIVILEGES
`I
`190
`\
`Aoggss‘gz?i?rllzME
`
`To CLIENT
`
`- — — —
`
`120
`II
`\ CLIENT RECEIvES
`|______,
`'P ADDRESS 8‘
`I
`PATHNAME
`:
`I 13()\
`V
`I
`CLIENT ISSUES A
`I
`DYNAMIC MOUNT
`;
`PROCEDURE CALL USING
`
`IP ADDRESS AND PATI-INAME
`
`200
`v
`\
`PROCESS CUENT'S
`FILE ACCESS REOUEST
`[PERFORM MOUNT
`PROCEDURE’
`
`‘
`
`A ________________________ __+ TTTTTTTTTT "I
`II
`:
`140 \ CLIENT INvOI<ES
`I
`APPLN FROM MOUNTED
`;
`= REMOTE DRIvE NORMAL
`I
`EXECUTION PROCESS
`5
`I
`II
`i
`CLIENT ExITs
`\150 I
`',
`APPLN
`i
`:
`____________ _ _i
`I
`I I
`"
`DYNAMIC
`I
`L - - - DISMOUNT PROCEDURE
`CALL
`
`\
`160
`
`IPR2017-01290
`Ubisoft EX1013 Page 10
`
`
`
`10
`
`15
`
`35
`
`45
`
`1
`SYSTEMS AND METHODS FOR
`EXECUTING APPLICATION PROGRAMS
`FROM A MEMORY DEVICE LINKED TO A
`SERVER
`This application is a continuation-in-part of US. Ser. No.
`08/616,746 ?led 14 Mar. 1996 and entitled “Systems and
`Methods for Executing Application Programs from a
`Memory Device Linked to a Server at an Internet Site,” the
`teachings of Which are incorporated herein by reference.
`FIELD OF INVENTION
`The present invention relates to systems and methods for
`connecting a computer to a computer netWork, and more
`particularly, to systems and methods that alloW clients to
`execute application programs stored at a server site.
`BACKGROUND OF THE INVENTION
`The digital computer is a poWerful data processing tool
`that alloWs a user to organiZe, store and analyZe data in
`volumes and at rates that Would be impossible by any prior
`knoWn technique. The computer netWork has been a similar
`step forWard. By linking together several computers and by
`providing shared resources and cross-platform
`communications, engineers have developed the computer
`netWork into a tool that provides suf?cient processing poWer
`to support entire corporations and universities. The
`increased poWer of computer netWorks over the individual
`microcomputer is provided by distributed processing. Dis
`tributed processing alloWs for the division or distribution of
`a computational Workload among the different Workstations
`connected to the computer netWork.
`One of the most Widely accepted and heavily used com
`puter netWorks is the Internet. The Internet is a global system
`of interconnected computer netWorks formed into a single
`WorldWide netWork. A user, through the Internet, can inter
`actively transmit messages With users in different countries.
`Similarly, a user in the US. can access the ?les from
`libraries in Europe and Asia and doWnload these ?les for
`personal use. Accordingly, the Internet provides strong com
`munication functions similar to the communication func
`tions provided by ham radio operators. Moreover, the Inter
`net acts like a universal library, providing electronic access
`to resources and information available from Internet sites
`throughout the World.
`Although the Internet provides excellent and developed
`resources for communication and ?le sharing, the Internet is
`still basically a static medium. In other Words, the content of
`the Internet, i.e., the resources available to a user accessing
`a site on the Internet, is mostly stored data. Typically, a user
`moves about the Internet using a Web broWser program. The
`Web broWser program alloWs for multimedia presentation of
`stored data including text images, sound clips and video
`clips. This alloWs the user to connect via the Internet to
`different sites on the Internet. HoWever, although a user can
`vieW the information stored at an Internet site, and even
`make a copy for their oWn personal use, at present, a user
`lacks a suitable system for directly executing an application
`program. As such, the Internet generally fails to provide the
`advantages of distributed processing.
`It is, in part, the siZe of the Internet that has impeded the
`availability of client/server applications on the Internet. In
`particular, because the Internet is so vast and open, compa
`nies and universities have disposed ?reWalls betWeen their
`internal servers and the Internet. These ?reWalls deny access
`to useful applications by preventing existing systems, such
`
`5,838,916
`2
`as NFS and SMB, from accessing the applications. As such,
`the ?reWall acts as a barrier that prevents the use of
`traditional netWorking systems from executing client/server
`applications.
`In response to this problem, systems have been proposed
`that provide for application programs that move betWeen an
`Internet site that stores the application program and an
`Internet site that services a user Wishing to use that appli
`cation program. One such proposed system is the JAVA
`system proposed by Sun Microsystems. The JAVA system
`provides an interpreted language system that can be operated
`by the Internet user to doWnload and run small application
`programs, referred to as applets, located at a remote Internet
`site. Accordingly, the JAVA system provides a form of
`distributed processing in that application programs located
`at Internet sites are being made available for distribution to
`Internet users. This is a signi?cant advance over the prior
`functions available to Internet users Which previously Were
`limited to merely vieWing and transferring stored data.
`HoWever, although JAVA offers an improvement over the
`prior art, the JAVA system suffers from some signi?cant
`draWbacks. First of all, the JAVA system requires that each
`application that is to be doWnloaded to an Internet user and
`run at the Internet user’s site, has to be Written in the JAVA
`programming language. Therefore, available program appli
`cations such as Microsoft Word, Microsoft Excel, Intuit
`Quicken, or other developed application programs must be
`reWritten in a JAVA compatible programming language
`before they can be employed With the JAVA system. This of
`course creates an immediate barrier to the deployment of
`application programs across the Internet. Moreover, a sig
`ni?cant debugging effort Will be required as these reWritten
`applications are not proven code and inevitably Will fail
`either due to bugs created during the reWriting of the
`program or bugs created by the JAVA system. Moreover, the
`proposed JAVA system is an interpreted language system,
`and interpreted language systems are notoriously sloW.
`Consequently, Internet users are likely to notice a substantial
`decrease in operation speed While they run these applica
`tions. Additionally, JAVA applications available for deploy
`ment from an Internet site are programmed speci?cally for
`Internet deployment. Accordingly, these JAVA application
`programs Will not be the programs typically employed by
`users. Instead, it is likely that users Will operate non-JAVA
`programs Which are different from those JAVA programs
`deployed over the Internet. Accordingly, a compatibility rift
`Will develop betWeen Internet users at remote sites and users
`at the host sites. As such, the JAVA system inherently
`provides a barrier betWeen users at remote locations and
`users at host sites.
`Accordingly, it is an object of the invention to provide
`systems that alloW for deployment and execution of appli
`cation programs across the Internet.
`It is a further object of the invention to provide systems
`capable of negotiating Internet ?reWalls.
`It is another object of the invention to provide systems
`that integrate remote users With the Internet netWork of the
`host site.
`It is still a further object of the invention to provide
`systems that deploy existing application programs across the
`Internet, Without having to reWrite the applications.
`It is a further object of the invention to provide a system
`for deploying applications across the Internet that provides
`programs Which execute quickly at remote sites.
`These and other objects of the invention Will be made
`apparent from the folloWing description of the invention.
`
`55
`
`65
`
`IPR2017-01290
`Ubisoft EX1013 Page 11
`
`
`
`10
`
`25
`
`35
`
`3
`SUMMARY OF THE INVENTION
`Systems and processes according to the invention allow a
`computer, typically referred to as a client, to connect to a
`server of an Internet site for executing an application pro
`gram that is stored on a memory device linked to that server.
`The methods of the invention can include methods for
`alloWing a client to execute an application program stored
`on a memory device linked to an HTTP server, and can
`comprise the steps of mounting a remote ?le system con
`taining the application program and being linked to the
`HTTP server, monitoring the operating system to detect ?le
`system requests for ?les stored Within the remote ?le system
`and passing the ?le system requests to a redirector element
`for translating the ?le system requests into HTTP compliant
`signals for transmission across a netWork. In this practice of
`the invention, the step of mounting can include the step of
`generating an array of ?le pointers representative of pointers
`to ?les associated With the application program.
`In a further practice, the processes of the invention can
`include the step of providing plural redirector elements for
`translating the ?le system requests into a selected one of
`plural transport protocols. For example, the client element
`can have a netWork interface to a plurality of different
`netWorks each of Which use a different ?le transport
`protocol, such as NCP, NFS, SMB or any other of the open
`or proprietary services that provide protocol for transmitting
`or sharing data, such as ?les, across netWork media. In this
`practice, each one of the redirector elements can be adapted
`for employment With one or more of the data transport
`protocols, thereby alloWing the client element to access any
`one of a plurality of servers each having a different remote
`?le system. The process can include a step of selecting one
`of the plural redirector elements to translate the ?le system
`requests. The step of selecting the redirector element can be
`made as a function of any suitable criteria or characteristic
`including the types of ?le systems, as Well as a measure of
`the transmission latency time of each of the netWorks, as
`Well as the transmission protocols of the netWorks. In one
`practice of the invention, the plural redirectors are provided
`With a Wrapper interface that, in a Way, encapsulates each of
`the redirector elements such that all the redirector elements
`are provided With the same interface to the operating system
`of the client computer. This is understood to provide port
`ability and to reduce the complexity of the overall system.
`The term “redirector” as used herein Will be understood to
`encompass a program or process that can direct a request for
`data or services to a selected source of data or services and
`optionally can translate ?le system requests into commands
`or data signals that comply With at least one netWork
`protocol for transmission of data across netWork media.
`In a further embodiment, the processes of the invention
`include the further steps of providing the client With access
`to a cache memory for cache storing portions of the ?le
`system Which contain the application programs, and a fur
`ther step of providing a cache redirector element that
`responds to client ?le requests by accessing portions of the
`?le system stored Within the cache memory. The accessed
`portions of the ?le system can be employed for running the
`application program Within the clients local program
`memory. In one practice, the process can include the step of
`directing the cache memory to mirror the ?le system being
`stored therein. Accordingly, in this practice, a mirroring
`process can operate such that as changes are detected Within
`the ?le system being exported by the server, the ?le, and ?le
`or directory structure maintained Within the cache memory
`device, are similarly updated. Optionally, this mirroring can
`be done automatically, or upon the instruction of the user.
`
`5,838,916
`4
`In a further practice, the processes of the invention can
`include a step of storing the portions of the ?le system
`according to a ?le or directory structure that is employed by
`the server. Accordingly, the cache memory device can store
`information that is representative of the ?les for executing
`the application program, as Well as the information repre
`sentative of the directory structure associated With these
`?les. This directory structure can include directories, sub
`directories, paths and other directory structures. Moreover,
`the directory structure in the cache can conform to the ?le
`system employed by the server, so that, for example, Win
`doWs clients can store a UNIX ?le structure in the cache
`memory.
`In a further practice, the processes of the invention can
`include the step of providing an off-line page Which is
`representative of at least one link to an application program
`stored Within the cache memory. The off-line page can be an
`HTML page stored Within a memory device accessible by
`the client and made available for connecting to ?les stored
`Within the cache memory device of the client. Upon invo
`cation of the off-line page, the user can activate links Within
`the page to cause the execution of application programs
`stored Within the cache memory device. In a further practice
`of the invention, the processes of the invention can include
`the step of providing a preload control for alloWing a client
`to store selectively an application program Within the cache
`memory. Accordingly, the preload control Will alloW a client
`to select application programs stored at a server site and
`made available by the server for exporting to a client, to be
`stored Within the cache memory device, for employment by
`the client Without requiring access through a computer
`netWork.
`In a further practice, the methods can include the step of
`providing a process for directing the server to execute the
`application programs Within the program memory of the
`server. In this Way, methods of the invention can also include
`functionality that alloWs a client system to act as a terminal
`While a program executes Within the server program
`memory, thereby alloWing a user to select betWeen executing
`the application program Within the client program memory,
`or alternatively executing the application program Within the
`server program memory.
`In a further embodiment, the invention can be understood
`as methods for alloWing a server to provide remote execu
`tion of an application program stored on a memory device
`linked to the server. The processes can include the steps of
`generating an application information ?le that is represen
`tative of ?les associated With the application program. In a
`further step, the processes Will generate a link representative
`of a pointer to the application information ?le, and detect a
`request from a client to execute the application program.
`Responsive to the request, the processes of the invention can
`transmit data signals to the client Which are representative of
`the ?les associated With the application program. In one
`practice of the invention, the step of generating an applica
`tion information ?le can include the step of generating
`information that is representative of a ?le or directory
`structure associated With the ?les of the application pro
`gram. In this Way, the application information ?le can
`include information that is representative of the ?les asso
`ciated With the application program as Well as the ?le or
`directory structure that is employed by the server for main
`taining the application programs in a format that is suitable
`for executing.
`The methods of the invention can also include the step of
`generating an application ?le that includes information
`Which is representative of the operating environment for the
`
`45
`
`55
`
`65
`
`IPR2017-01290
`Ubisoft EX1013 Page 12
`
`
`
`25
`
`5,838,916
`6
`5
`application program. In this Way the application information
`into a computer netWork and that receives access requests,
`?le can contain information that alloWs the client to recon
`Whether under HTTP, FTP or any other conventional or
`proprietary protocol. The term “application program” as
`?gure the local operating environment to accommodate the
`application program.
`used herein, encompasses any computer ?le or set of ?les
`that contain data in a format for being accessed and pro
`In a further embodiment, the processes of the invention
`cessed by the processing unit of a computer system. The
`can include the steps of providing the server With a link to
`term “memory device” as used herein, encompasses any
`a second server, and directing the server to identify to the
`device that can store computer readable data and that
`client those application programs that are stored on the
`provides an interface for accessing the stored data, and can
`second server and Which are made available for execution by
`be understood to include volatile and persistent memory
`the client. This alloWs the server to advertise to the client
`devices, including hard-disks, RAM, netWork disks, and any
`those application programs Which are being made available
`other suitable data storage system.
`by other servers and Which can be invoked by the client. This
`The term “?le system” as used herein encompasses logi
`provides the client With access to the applications available
`cal structures that de?ne the relationship betWeen ?les,
`on a plurality of different servers. Optionally, the server can
`create links to the application programs available at other
`directories, disks, devices and ports that are stored on or
`linked to a computer system, and include ?le systems of
`servers. The client Will employ those links to execute these
`directory structures that de?ne the hierarchical relationship
`application programs.
`betWeen stored ?les, disks, disk partitions, ?le blocks,
`In a further practice, the processes of the invention can
`devices or other sources of computer data.
`include a step of providing a metering process for monitor
`ing the number of clients running the application program.
`The term “server address signal” as the term is used
`herein, encompasses any description that identi?es a net
`Optionally, the metering process can generate statistical
`Work address of a server. The term is understood to include
`information that identi?es certain characteristics of the use
`any description for an Internet address of a server including
`of the application and Which can be provided to a system
`any host number, any host name, any domain name or any
`administrator for administrative functions, such as to allo
`other description suf?cient to identify the netWork address of
`cate resources more appropriately.
`a server. The term “path name signal” as used herein
`In yet a further embodiment, the processes of the inven
`encompasses any description suitable for providing an oper
`tion can include the step of providing an access control
`ating system With information for identifying one or more
`process for alloWing the server to control a client’s access to
`components of a ?le system including a ?le, a directory, a
`the application program. In this embodiment, the server can
`sub-directory, a device, a port or any other directory primi
`include an access control process that requires
`tive.
`authentication, either by passWord or other key, to limit to a
`In a further embodiment of the invention the system can
`selected group those clients Which can access application
`include a server element that has an administration program
`programs maintained by that server, or by other servers.
`for storing on the disk at least one ?le system of computer
`In a further embodiment, the processes of the invention
`?les stored according to a selected ?le system protocol. One
`can include processes that alloW a client to install an
`such administration program can include means for storing
`application program stored on a memory device linked to a
`a ?le system of computer ?les according to one or more of
`server. These processes can include the steps of providing
`a DOS, UNIX, VMS, WINDOWS, WINDOWS 95, WIN
`the server With access to an installation program for install
`DOWS NT, OS/2, or SYSTEM 7 ?le system protocol. In a
`ing the application program for operation by the server,
`further embodiment of the invention, the system can include
`generating an application information ?le that is represen
`a connection element that includes an element for generating
`tative of ?les associated With that installation program,
`a call to a port of a server HTDP process. For example, the
`detecting a request from the client to install the application
`connection element can include a connection program that
`program locally, and transmitting to the client, responsive to
`generates a call to the port 80 of the server process. Port 80,
`the application information ?le, data Which is representative
`a Well knoWn port, provides the Internet address of the
`of the ?les associated With the installation program. In this
`HTTP server operating the process coupled to the client
`practice of the invention, the processes can also include the
`system.
`step of generating an application information ?le that has
`information representative of ?les associated With the appli
`In a further embodiment of the invention, the server
`includes a ?le sharing program. The ?le sharing program can
`cation program.
`be NFS, SMB or HTTP compliant, and the ?le sharing
`In a further embodiment, the invention can be understood
`program can create an array of ?le pointers, such as a Unix
`as server processes that alloW a client to execute locally an
`inode, Which can be understood as an array of pointers to
`application program stored at a memory device of a server.
`computer ?les stored on the server system.
`These processes can include the steps of providing an HTTP
`These and other embodiments of the invention Will be
`server process that can access a memory device having
`more clearly understood by reference to the folloWing
`storage for one or more server directories that store ?les
`detailed description and attached draWings, in Which like
`associated With an application program, including the
`reference numbers refer to like elements.
`executable code of the application program. The server
`provides the client With access to the ?les and directories,
`BRIEF DESCRIPTION OF THE DRAWINGS
`and the client can cache portions of the ?le system contain
`FIG. 1 illustrates one system according to the invention
`ing the application program, and employ a cache redirector
`for establishing a connection to an Internet site and for
`element to access the portions of the ?le system that is stored
`executing application programs located at that site;
`Within the cache memory.
`FIG. 2 illustrates one process for creating a link to an
`The term “client”, as used herein, encompasses any data
`processing system suitable for operating a process according
`application program at an HTTP server;
`FIG. 3 illustrates in greater detail the system illustrated in
`to the invention. The term “server” can encompass any
`FIG. 1;
`process running on a data processing platform that connects
`
`55
`
`65
`
`15
`
`35
`
`45
`
`IPR2017-01290
`Ubisoft EX1013 Page 13
`
`
`
`10
`
`15
`
`35
`
`45
`
`25
`
`5,838,916
`8
`7
`executable code of the application program to the local
`FIG. 4 illustrates the system of FIG. 1 having a mounted
`logical disk partition;
`memory of the client and the code can be executed from that
`local memory.
`FIG. 5 illustrates the system of FIG. 1 having an array of
`?le pointers integrated into the hierarchy of the client ?le
`The invention Will noW be explained With reference to
`system for providing the client program loader With entry
`certain illustrative embodiments, Which are exemplary and
`points to application programs stored at the Internet site;
`not to be understood as a limiting, or an exhaustive repre
`sentation of the invention.
`FIG. 6 illustrates an alternative embodiment of a system
`according to the invention;
`FIG. 1 depicts a system 10 according to the invention for
`accessing, deploying, and executing application programs
`FIG. 7 illustrates the system of FIG. 6 employing a cache
`memory for accessing an application program;
`stored at a drive linked to a server, and in particular to an
`HTTP compliant server. In particular, a Website administra
`FIG. 8 depicts a graphical interface suitable for employ
`tor can employ the systems of the invention to provide a user
`ment With the systems of FIG. 1 and FIG. 6 Which provides
`With access to application programs stored at different
`a directory structure for accessing and executing application
`netWork locations, including Internet and Intranet sites. As
`programs; and
`illustrated in FIG. 1 the system 10 includes a client element
`FIG. 9 is a functional block diagram of a process accord
`12, computer LANs 13a and 13b, an HTTP server 14,
`ing to the invention for executing application programs from
`memory devices 14a and 14b, a server 15, a netWork node
`a Web Internet site.
`17, an optional program interface 16, optional application
`icons 16a, 16b and 16c, communication elements 18 and
`DETAILED DESCRIPTION OF THE
`INVENTION
`netWork nodes 19a and 19b.
`The client element 12 depicted in FIG. 1 can be a
`The invention comprises, inter alia, systems and methods
`commercially available PC compatible computer, Unix
`that enable a Web site administrator to provide links to
`Workstation or any other data processing system suitable for
`remote applications Within their Web pages. One realiZation
`running a process and for operating a communication inter
`of the invention is that a remote client can be alloWed to
`face that provides a communication link With a server site.
`execute an application program stored at a HTTP server. To
`Moreover, the client 12 can be a stand alone computer
`this end, the invention provides the server With access to a
`system or, as depicted, a netWorked computer system. The
`remote ?le system, and With access to a ?le that can contain
`client 12 can include a telecommunications element 18, such
`information of the ?les, directory structure and system
`environment associated With the application program. The
`as a modem, and also includes a broWser, or launcher,
`program, such as the Netscape broWser, Which is suitable for
`invention can also include a system for alloWing the client
`establishing a connection to an HTTP server. In the embodi
`to mount the portion of the shared ?le system that includes
`ment depicted by FIG. 1, the broWser preferably provide