throbber
(12) United States Patent
`Abdolbaghian et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 6,981,048 B1
`Dec. 27, 2005
`
`USOO6981048B1
`
`(54) KEEP-ALIVE MESSAGING WHEN TWO
`APPLICATIONS ARE RUNNING
`
`(75) Inventors: Soheila Abdolbaghian, Irvine, CA
`S. Tuan Nguyen, Laguna Hills, CA
`
`(73) Assignee: Toshiba America Information
`Systems, Inc., Irvine, CA (US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 563 days.
`
`(*) Notice:
`
`(21) Appl. No.: 09/721,498
`(22) Filed:
`Nov. 22, 2000
`(Under 7 CFR 1.47)
`(51) Int. Cl." ............................................... G06F 15/16
`(52) U.S. Cl. ...................... 709,228.709,203. 709/223;
`709/227
`(58) Field of Search ................................ 704200 203,
`704/223-228, 231-232; 714/51, 55, 4
`s
`s
`s a as
`References Cited
`
`(56)
`
`U.S. PATENT DOCUMENTS
`6,006.259 A * 12/1999 Adelman et al. ........... 709/223
`
`2- -
`
`CCKCI C al. ........
`
`- - -
`
`8/2000 Dien ........................... 714/51
`6,112,320 A
`6,134,588 A * 10/2000 Guenthner et al. ......... 709/226
`6,434.612 B1* 8/2002 Hughes et al. .............. 709/223
`E. R. 12: E. al. .....
`- - - 22.
`6,567.852 B2 * 5/2003 Besaw et al. ............... 709/228
`* cited by examiner
`Primary Examiner-Bharat Barot
`(74) Attorney, Agent, or Firm-Pillsbury Winthrop Shaw
`Pittman LLP
`(57)
`
`ABSTRACT
`
`The present invention is generally directed to a System and
`method in which a second application (the "keep-alive
`function”) sends a ping, message or other signal to a first
`application to prevent the first application from being timed
`out (hereinafter, "keep-alive input"). In an embodiment of
`the invention, the first application is queried as to the
`appropriate content and format of a timeout period restart
`message. The keep-alive function may be automatically
`executed upon the occurrence of a triggering event. The
`keep-alive function may, periodically or based on a timeout
`clock related to the first application, check the Status of the
`first application and/or Send a keep-alive input.
`
`27 Claims, 4 Drawing Sheets
`
`
`
`Execute first
`Software
`application
`
`
`
`Second
`software
`application
`begun?
`
`Initiate
`keep-alive
`process
`
`201
`
`
`
`
`
`
`
`204
`
`Collect first
`application
`timeout function
`information
`
`
`
`
`
`Near first
`application
`timeout?
`
`
`
`
`
`Send keep-alive
`input
`
`Set/reset function
`timeout clock
`
`Application
`timeout
`clock reset?
`
`
`
`YeS
`
`N20s
`
`Page 1 of 10
`
`GOOGLE EXHIBIT 1007
`
`

`

`U.S. Patent
`
`Dec. 27, 2005
`
`Sheet 1 of 4
`
`US 6,981,048 B1
`
`
`
`:
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`:
`
`
`
`:
`
`3c
`
`Communication
`Network
`
`FIGURE 1
`
`Page 2 of 10
`
`

`

`U.S. Patent
`
`Dec. 27, 2005
`
`Sheet 2 of 4
`
`US 6,981,048 B1
`
`101
`
`102
`
`103
`
`Begin
`Software
`application
`
`
`
`Set/Reset
`Timeout
`Clock
`
`
`
`Continue
`Executing
`Application
`
`
`
`
`
`
`
`Keep-alive
`input
`received?
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Timeout
`Clock >
`Timeout
`Period?
`
`
`
`
`
`105
`
`YeS
`
`
`
`Terminate
`application
`
`FIGURE 2
`
`Page 3 of 10
`
`

`

`U.S. Patent
`
`Dec. 27, 2005
`
`Sheet 3 of 4
`
`US 6,981,048 B1
`
`
`
`
`
`
`
`
`
`Execute first
`Software
`application
`
`201
`
`Second
`Software
`application
`begun?
`
`YeS
`
`
`
`Initiate
`k
`li
`eep-alive
`proceSS
`
`203
`
`
`
`202
`
`204
`
`Collect first
`application
`timeout function
`information
`
`
`
`206
`
`
`
`Near first
`NO application
`timeout?
`
`
`
`207
`
`
`
`
`
`
`
`
`
`Send keep-alive
`input
`
`205
`
`Set/reset function
`timeout clock
`
`Application
`timeout
`clock reset?
`
`YeS
`
`N20s
`
`FIGURE 3
`
`Page 4 of 10
`
`

`

`U.S. Patent
`
`Dec. 27, 2005
`
`Sheet 4 of 4
`
`US 6,981,048 B1
`
`Execute first
`software
`application
`
`
`
`
`
`301
`
`306
`
`
`
`
`
`
`
`Near first
`No application
`timeout?
`
`307
`
`
`
`YeS
`
`Second
`software
`application
`begun?
`
`YeS
`
`
`
`Initiate
`keep-alive
`proceSS
`
`303
`
`
`
`3O2
`
`304
`
`305
`
`
`
`Collect first
`application
`timeout function
`information
`
`Set/reset function
`timeout clock
`
`Check status of
`application
`
`
`
`Inform user
`of status
`
`Is application still
`alive?
`
`No
`
`309
`
`FIGURE 4
`
`Page 5 of 10
`
`

`

`US 6,981,048 B1
`
`1
`KEEP-ALIVE MESSAGING WHEN TWO
`APPLICATIONS ARE RUNNING
`
`BACKGROUND
`
`2
`the invention, the first application is queried as to the
`appropriate content and format of a timeout period restart
`message. The keep-alive function may be automatically
`executed upon the occurrence of a triggering event. The
`keep-alive function may, periodically or based on a timeout
`clock related to the first application, check the Status of the
`first application and/or Send a keep-alive input.
`FIG. 1 depicts an embodiment of the System according to
`the present invention. User terminals 1a–1c (collectively,
`“user terminal 1') used by users 2a-2c (collectively, “user
`2) may be connected to a communication network 4 So that
`the user terminal 1 may send Signals, data, messages and the
`like to the connected computers 3a–3c (collectively, “con
`nected computer 3’) and receive the same from the con
`nected computer 3. Other terminals may also be connected
`to the communication network 4. The user terminal 1 may
`have an operating System(s) which can be used to execute
`Software applications. The user 2 may cause the user termi
`nal 1 to execute various Software applications, including for
`example, Web browser, word processor, spreadsheet, data
`base, hardware driver, electronic mail, compiler, Video or
`audio data player, customized Software, network resource
`management, or other applications. The operating System for
`the user terminal 1 may be different from the operating
`system for the connected computer 3. Note that although the
`phrase “terminal” is used to describe the user terminal 1, the
`user terminal 1 may include a computer processor that is
`independent of the connected computer 3, allowing local
`execution of applications or portions thereof. The user
`terminal 1 may run applications either as desktop, fore
`ground or background processes. In particular embodiments
`of the invention, the user terminal 1 may be connected to
`other terminals or computers in a local area network (LAN)
`and may be connected to the communication network 4
`through a gateway or firewall.
`The communication network 4 may be a local area
`network (LAN), metropolitan area network (MAN), wide
`area network (WAN), the Internet or any other type of
`computer network and may use any network implementa
`tion, including, for example, the Ethernet, ARCnet, Token
`Ring implementations. Information communicated over the
`communication network 4 may conform to any data com
`munications protocol, including TCP/IP, IPX/SPX, NetBios
`and AppleTalk. The communication network 4 may include
`wire line (Such as twisted-pair telephone wire, coaxial cable,
`electric power line, optical fiber wire, leased line or the like)
`or wireless (Such as Satellite, cellular, radio frequency or the
`like) connections.
`In an embodiment of the invention, the user 2 may cause
`the connected computer 3 to execute a first Software appli
`cation using the user terminal 1 and may Subsequently cause
`the connected computer 3 to execute a Second Software
`application. One or Several copies of the Software applica
`tions may reside on the connected computer 3. Alternatively,
`a Software application may consist of discrete parts which
`are distributed between the connected computer 3 and the
`user terminal 1. Multiple copies of a particular Software
`application, portions thereof, or shared or dedicated
`resources used by the application may be in use by different
`users Simultaneously. The first Software application may
`include a function (the “timeout function”) whereby the
`application is terminated if the user 2 does not take Some
`action or the user terminal 1 does not transmit a Signal or
`message recognizable by the first application within a speci
`fied time period (the “timeout period”). This is a particularly
`useful feature when an application requires the use of shared
`memory, processor, data Source or other resources.
`
`In general, a computer executing an application may
`terminate the application unless the computer Senses a
`timeout period restart event, Such as a keystroke, a mouse
`button click, pointer motion, touch Screen activation, mes
`Sage receipt, ping Signal receipt, or a like input. Reasons for
`terminating applications based on the absence of a timeout
`period restart event include conservation of RAM cache and
`memory, power and other computer resources,
`In a communications network with a client/connected
`computer architecture, communication between a client and
`a connected computer occurs in Sessions, each of which is
`generally given a unique Session identifier (SID). Each
`Session may be associated with a unique client identifier or
`address (e.g., an Internet protocol address). During a Ses
`Sion, the connected computer may receive from the client
`multiple Service requests, each of which may relate to a
`number of applications. Applications, particularly those that
`utilize a large amount of connected computer or network
`resources (e.g., those that are memory-intensive), may have
`a timeout feature that terminates the application in a Session
`if an application event is not Sensed or a response to an
`information request is not received within a specified period
`of time.
`Where a Session includes multiple applications, a user
`operating on a client terminal may not respond to an
`information request or cause an application event because
`the application has been moved to the background of the
`client terminal and the user is actively working with a
`Second application in the client terminal foreground. It is
`often undesirable to have the first application timeout in
`Such situations.
`Moreover, Some applications prompt the user for a speci
`fied input prior to timing out the application. For example,
`applications that bill the user based on usage time often
`cause the client terminal to display a window asking the user
`if the user wants to maintain the application connection. The
`window may include an icon that may be activated to cause
`the terminal to Send the application a message Sufficient to
`avoid application timeout. Otherwise, application timeout
`proceeds as Scheduled.
`
`15
`
`25
`
`35
`
`40
`
`45
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 depicts an embodiment of a communication net
`work according to the present invention;
`FIG. 2 is a flowchart illustrating the logical process that
`may be executed by a timeout function according to an
`embodiment of the present invention; and
`FIG. 3 is a flowchart illustrating the logical process that
`may be executed by a keep-alive proceSS according to an
`embodiment of the present invention.
`FIG. 4 is a flowchart illustrating the logical process that
`may be executed by a keep-alive process according to
`another embodiment of the present invention.
`
`DETAILED DESCRIPTION
`
`The present invention is generally directed to a System
`and method in which a second application (the “keep-alive
`function”) sends a ping, message or other signal to a first
`application to prevent the first application from being timed
`out (hereinafter, “keep-alive input'). In an embodiment of
`
`50
`
`55
`
`60
`
`65
`
`Page 6 of 10
`
`

`

`US 6,981,048 B1
`
`15
`
`25
`
`35
`
`40
`
`3
`In a particular embodiment of the invention, the con
`nected computer 3 may be a Server and the user terminal 1
`may establish a client-Server Session with the connected
`computer 3 by transmitting a Session request to the con
`nected computer 3. The connected computer 3 may establish
`a Session and return to the user terminal 1 a Session identifier.
`A first application, e.g., the downloading of content associ
`ated with a particular Web page from a specified Web site,
`may be executed by the connected computer 3 within this
`session. While the first session is still active, the user 2 may
`decide to open a Second application. The Second application
`may also reside on the connected computer 3, may be local
`to the user terminal 1 (e.g., a desktop application), or may be
`shared between the two. For example, the Second application
`may be the downloading of content associated with a Second
`Web page from a different specified Web site. The user
`terminal 1 may detect when the user 2 requests that the
`Second application be launched, for example, by detecting
`when the user activates a link embedded in a Web page,
`activates a Screen icon, enters an application execution
`command, accesses an executable computer file, or the like.
`In another example, the Second application may be a desktop
`application Such as a word processing, spreadsheet, or
`printer driver application. In an embodiment of the inven
`tion, the Second application may reside on a Second con
`nected computer that may communicate with the user ter
`minal 1 over the communication network 4.
`A timeout function associated with the first application
`may include performing the Steps shown in the flowchart in
`FIG. 2. Block 101 shows execution of the application being
`Started. This step may be performed by the application host,
`i.e., either the user terminal 1, the connected computer 3 or,
`for example, in the case of a distributed application, a
`combination of the two. At block 102, a timeout clock
`associated with the application may be set (where execution
`of the application is just beginning) or reset to an initial State
`to begin counting time. The timeout clock may count up, i.e.,
`Starting from an initial State of Zero and periodically incre
`menting until the timeout period value is reached, or count
`down, i.e., Starting from an initial State of the countdown
`period value and periodically decrementing until Zero is
`reached. As shown in block 103, the application proceeds
`with normal execution of the application. This may include
`receiving input by, for example, causing the host to poll an
`input device or devices associated with the host. Alterna
`tively, an input device or devices may create and transmit an
`interrupt signal when input is received. In an embodiment in
`which the application host is simultaneously executing mul
`tiple applications, the input may include a header identifying
`with which application the input is meant to be used.
`In block 104, the application determines whether the input
`it has received is of a type meant to prevent timeout of the
`application, i.e., a “keep-alive input'. The type of input
`necessary to keep the application alive may vary according
`to the application or may be selected by the user 2 or a
`System or network administrator. Possible keep-alive input
`may include Simple periodic pings or be limited to specific
`input data messages. If a keep-alive input is received, the
`application returns to block 102 and resets the timeout clock
`to its initial State.
`If a keep-alive input is not received, the application
`checks whether the timeout clock has exceeded a Specified
`timeout period. The timeout period may be set by default or
`Specified by the user 2, or a System or network administrator.
`If the timeout clock does not exceed the timeout period, the
`application returns to block 103 and continues to execute the
`application. However, if the timeout clock exceeds the
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`timeout period value, the application terminates, as shown in
`block 106. In particular embodiments, termination block 106
`may include Steps for Sending the user 2 a warning message
`that the application is about to be timed out. In these
`embodiments, the user 2 may be allowed to Send a signal to
`the application requesting that the application not be timed
`out. In effect, in Such an embodiment, block 106 may
`include Sub-blocks similar to blocks 103, 104, and 105.
`FIG. 3 depicts a flowchart describing the operation of an
`embodiment of the present invention in which a keep-alive
`input may be sent to prevent timeout of the first application.
`According to this embodiment, there may be an applica
`tion (the "keep-alive function”) residing on a user terminal
`1 or a connected computer 3 which is initiated (as shown in
`block 203) if the user has caused a first application to be
`launched (as shown in block 201) and Subsequently, prior to
`termination of the first application, causes a Second appli
`cation to be launched (as shown in block 202). The keep
`alive function need not reside on the same user terminal 1 or
`connected computer 3 as either the first or Second applica
`tion. In an embodiment of the invention, the user 2 may be
`asked whether the keep-alive process should be initiated and
`the keep-alive may be initiated only if the user 2 responds
`affirmatively to this inquiry.
`In an embodiment of the invention, upon initiation, the
`keep-alive process may collect information about the tim
`eout function associated with the first Software application in
`block 204. This may be done by transmitting a request for
`Such information to the application host for the first appli
`cation, i.e., the connected computer 3. In a client-server
`Session-based embodiment of the invention, the request may
`include the session identifier. In embodiments of the inven
`tion, the user terminal may access information identifying
`particular environment variables or parameters associated
`with the timeout function (“timeout parameters”) for the first
`application and may include in the request the identity of the
`timeout parameters in the request. Alternatively, the request
`may be general and may be answered with information
`related to all environment variables and parameters. In Such
`an embodiment, the keep-alive function may Sort through
`the environment variable/parameter information to identify
`timeout parameters (if precisely known) or likely timeout
`parameters. Likely timeout parameters may include all
`parameters with the term “timeout' or some variation
`thereof in the parameter name. Likely timeout parameters
`may also be limited by the value type associated with the
`parameter.
`For example, in an embodiment of the invention, the
`parameter for the duration of the timeout clock may be
`Sought. However the precise name of the parameter associ
`ated with the duration of the timeout clock for the first
`application may not be known. The request transmitted to
`the connected computer 3 may yield a general response
`including all environment variables and/or parameters. From
`the returned environment variable/parameter information,
`the keep-alive function may identify only parameters with
`values that are numerical values as likely timeout param
`eters, Since the value of the parameter associated with the
`duration of the timeout clock is likely to be a numerical
`value (such as an integer number equivalent to the number
`of Seconds the timeout clock is Supposed to count). Where
`multiple likely timeout parameters are identified, the keep
`alive function may choose one or more parameters from the
`identified likely timeout parameters based on the values of
`the likely timeout parameters. For example, the first appli
`cation may have Separate environment variables/parameters
`asSociated with the application timeout clock, a message
`
`Page 7 of 10
`
`

`

`S
`acknowledgement receipt timeout clock, etc., all of which
`have the term “timeout' in their names and all of which have
`numerical values. In such a situation, the keep-alive function
`may conservatively select the likely timeout parameter hav
`ing the smallest value as the value to use in estimating when
`the first application will expire.
`In alternative embodiments, the user terminal 1 may
`access information precisely identifying the timeout param
`eter needed. In such a case, the request may specifically
`identify the timeout parameter Sought. Timeout parameter
`identification information may include lists of names for
`timeout parameters used by functions that the user terminal
`1 is capable of launching, timeout parameters commonly
`used in applications, and the like.
`Timeout function information sought by the keep-alive
`function may include the default, user-specified and/or Sys
`tem or network administrator-specified timeout period for
`the first application, a current application timeout clock
`value, and the type of keep-alive input that would cause the
`application timeout clock to be reset (for example, a speci
`fied input format or content). Based on this information, the
`keep-alive function may set its own function timeout clock
`(the “process clock”) to an initial state, as shown in block
`205. The function timeout clock may be synchronized with
`the application timeout clock. The value of the function
`timeout clock may be set so that the function timeout clock
`will expire before the application timeout clock expires. AS
`with the application timeout clock, the function timeout
`clock may be set to an initial State of Zero and be incre
`mented or the process clock may be set to an initial State
`equal to the timeout period value and be decremented.
`Alternatively, the keep-alive function may rely solely on the
`application timeout clock. However, this type of embodi
`ment may suffer from communication delays in Systems
`involving distributed applications and/or a long-distance or
`shared communication network 4.
`In some embodiments of the invention, the keep-alive
`process may not gather first application timeout function
`information. The keep-alive process may be prevented from
`collecting such information due to Security measures imple
`mented by the connected computer 3 or the amount or type
`of available information may be difficult to collect or pro
`cess. In these embodiments of the invention, the keep-alive
`function may set a function timeout clock to a duration
`known or believed to be shorter than the timeout process
`clock.
`In an embodiment of the invention, the keep-alive process
`may use collected timeout information related to keep-alive
`input type to create a customized or application-specific,
`keep-alive input. For example, if the first application is an
`application for downloading Web page content, the keep
`alive input may contain instructions to “refresh' the content.
`As shown by block 206 and 207, when the process clock
`nears the timeout period value if the clock is being incre
`mented or zero if the clock is being decremented, the
`keep-alive process transmits a keep-alive input to the first
`application. The keep-alive process may create the keep
`alive input based upon the application timeout information
`collected in the step shown in block 204. The process clock
`value at which a keep-alive input will be transmitted may be
`set by the process so as to compensate for Synchronization
`errors between the process clock and the application timeout
`clock.
`In embodiments of the invention in which the keep-alive
`process maintains an independent function timeout clock,
`the function timeout clock may be reset each time a keep
`alive input is transmitted to the application or, as shown in
`
`6
`block 208, only after it has been verified that the application
`timeout clock has been reset. In other words, Some embodi
`ments of the invention may omit block 208 and automati
`cally reset the function timeout clock upon transmission of
`the keep-alive input. In order to verify that the application
`timeout clock has been reset, the keep-alive function may
`send a request for timeout parameter information to the
`connected computer 3 as part of the keep-alive input or in a
`Separate transmission.
`FIG. 4 is a flowchart depicting the process that may be
`followed by an alternative embodiment of the invention.
`Unlike the embodiment depicted in FIG. 3, in this embodi
`ment of the invention, the keep-alive function does not cause
`a keep-alive input to be sent to the first application host.
`Instead, the keep-alive function checks the status of the first
`application, as shown in block 307, and informs the user of
`the status of the first application, as shown in block 308. The
`keep-alive function may check the status of the first appli
`cation by sending a status query message to the first appli
`cation host. In a client-server embodiment of the invention,
`the status query message may include a Session and/or
`application identifier. In block 309, the keep-alive function
`may then decide whether to reset the function timeout clock
`based on whether the first application is still alive. The
`frequency at which status query messages are sent to the first
`application host may be set So as to be shorter than the
`duration of the timeout clock for most applications or for all
`applications that the user terminal 1 may be capable of
`causing to launch. Status query messages may be transmit
`ted when the keep-alive function timeout clock has reached
`a specified state (e.g., a particular time value remaining).
`The keep-alive function timeout clock may be independent
`from a first application timeout clock that may be main
`tained by the first application host. In block 309, the keep
`alive function may decide whether to reset the keep-alive
`function timeout clock based upon the status of the appli
`cation, e.g., if the application is still alive. In alternative
`embodiments of the invention, if the application is found to
`have been terminated, the keep-alive function may terminate
`itself. In an embodiment of the invention, the status query
`message may include a request for first application timeout
`function information.
`While the description above refers to particular embodi
`ments of the present invention, it should be readily apparent
`to people of ordinary skill in the art that a number of
`modifications may be made without departing from the Spirit
`thereof. The accompanying claims are intended to cover
`such modifications as would fall within the true Spirit and
`scope of the invention. The presently disclosed embodi
`ments are, therefore, to be considered in all respects as
`illustrative and not restrictive, the Scope of the invention
`being indicated by the appended claims rather than the
`foregoing description. All changes that come within the
`meaning of and range of equivalency of the claims are
`intended to be embraced therein.
`
`What is claimed is:
`1. An application management System comprising:
`a first computer configured to host an application;
`a user terminal;
`a communication network, said first computer coupled to
`said user terminal through said communication net
`work;
`an computer-executable first application, wherein at least
`a portion of said first application is executed by Said
`first computer and at last a second portion of the first
`application being executed at said user terminal;
`
`US 6,981,048 B1
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Page 8 of 10
`
`

`

`7
`a computer-executable Second application, wherein Said
`Second application is executed at Said user terminal;
`and
`a computer-executable keep-alive function, to collect first
`application timeout information related to Said first
`application to formulate a keep-alive input based on the
`collected first application timeout information; and to
`transmit said keep-alive input to Said first computer.
`2. The application management System according to claim
`1, wherein Said first computer is a Server, and Said user
`terminal establishes communication with Said Server by
`Sending Said Server a Session initiation request.
`3. The application management System according to claim
`1, wherein
`Said keep-alive input has a content and a format, and
`at least one of Said content and Said format is based on
`Said timeout information collected by Said keep-alive
`function.
`4. The application management System according to claim
`1, wherein Said first application timeout information
`includes information related to a timeout period.
`5. The application management System according to claim
`1, wherein:
`Said first computer maintains an application timeout
`clock, a timeout function terminating Said application
`when Said timeout clock reaches a specified State and
`Said application timeout clock being reset when Said
`first computer receives the keep-alive input, and
`Said timeout information includes information related to a
`current State of Said timeout clock.
`6. The application management System according to claim
`1, wherein Said keep-alive function maintains a keep-alive
`function timeout clock and Said keep-alive input is trans
`mitted to Said first computer when Said keep-alive function
`timeout clock reaches a Specified State.
`7. The application management System according to claim
`6, wherein:
`Said first computer maintains an application timeout
`clock, a timeout function terminating Said first appli
`cation when Said timeout clock reaches a Specified State
`and Said application timeout clock being reset when
`Said first computer receives the keep-alive input,
`Said timeout information includes information related to a
`current State of Said application timeout clock, and
`Said keep-alive function timeout clock is Set based on Said
`timeout information.
`8. An application management System according to claim
`7, wherein Said keep-alive function timeout clock is reset
`when the application timeout clock has been reset.
`9. An application management System according to claim
`7, wherein Said keep-alive function timeout clock is reset
`when the user performs an action to keep Said application
`alive.
`10. The application management System according to
`claim 1, wherein Said keep-alive function causes a query to
`be sent to a user Seeking authorization from Said user to
`transmit said keep-alive input to Said first computer.
`11. The application management System of claim 1,
`wherein the keep-alive function is housed on a computing
`device that is not the first computer or the user terminal.
`12. The application management System of claim 1,
`wherein the keep-alive function is housed on the user
`terminal.
`13. The application management System of claim 1,
`wherein at least a portion of the Second application is
`executed by Said first computer.
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,981,048 B1
`
`8
`14. The application management System of claim 1,
`wherein the keep-alive function transmits a keep-alive infor
`mation request to the first computer in order to collect the
`first application timeout information.
`15. The application management System of claim 1,
`wherein the first application is a downloading web page
`application and the keep-alive input transmitted to the first
`computer includes instructions to refresh the content of a
`Web page.
`16. The application management System of claim 1,
`wherein the keep-alive function transmits a keep-alive infor
`mation request to the user terminal in order to collect the first
`application timeout information.
`17. A method of managing a plurality of applications, Said
`method comprising:
`executing a first application, at least a portion of the first
`application being executed by a first computer and at
`least a Second portion of the first application being
`executed at a user terminal, the first computer and the
`user terminal being coupled via a network;
`executing a Second application at the user terminal;
`collecting, by a keep-alive function, first application tim
`eout information related to Said first application;
`formulating a keep-alive input based on the collected
`timeout information; and
`transmitting Said keep-alive input from Said user terminal
`to Said first computer.
`18. The method of managing an application according to
`claim 17, wherein said application timeout information
`includes information related to an application timeout clock
`maintained by Said first computer and related to Said first
`application.
`19. The method of managing an application according to
`claim 18, wherein Said keep-alive input is transmitted based
`on a State of Said application timeout clock.
`20. The method claim 18, further including, by said
`keep-alive function, maintaining a keep-alive function tim
`eout clock related to Said first application timeout clock, and
`wherein Said keep-alive input is transmitted based on a State
`of Said keep-alive function timeout clock.
`21. The method of claim 17, wherein said application
`timeout includes information related to a required content or
`a required format for Said keep-alive input, and Said keep
`alive input is formulated based on Said application timeout
`information.
`22. The method of claim 17, wherein said application
`timeout information includes information related to a
`required format for Said keep-alive input, and Said keep
`alive input is formulated base

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