throbber
United States Patent [19]
`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

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