`
`(12) United States Patent
`Dowling et al.
`
`USOO6574239B1
`(10) Patent No.:
`US 6,574,239 B1
`(45) Date of Patent:
`Jun. 3, 2003
`
`(54) VIRTUAL CONNECTION OF A REMOTE
`UNIT TO ASERVER
`
`(76) Inventors: Eric Morgan Dowling, 1132 W.
`Lookout Dr., Richardson, TX (US)
`75080; Mark Nicholas Anastasi, 405
`C
`Trail. Highland Village, TX
`opperas
`, Illg
`9C,
`(US) 75077
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(*) Notice:
`
`(21) Appl. No.: 09/167,698
`(22) Filed:
`Oct. 7, 1998
`H04J 3700
`(51) Int. Cl."
`(52) U.S. Cl. ........................................ 370/469; 370/329
`(58) Field of Search ................................. 370/329, 389,
`370/468, 469; 709/203, 206, 227
`References Cited
`
`(56)
`
`U.S. PATENT DOCUMENTS
`4,285,061 A 8/1981 Ho
`4,416,015 A 11/1983 Gitlin
`4,489.416 A 12/1984 Stuart
`4,578,796 A 3/1986 Charalambous et al.
`4,852,151 A 7/1989 Dittakavi et al.
`4,995,074 A 2/1991 Goldman et al.
`5,127,051 A 6/1992 Chan et al.
`5,287.401 A 2/1994 Lin
`5,321,722 A 6/1994 Ogawa
`35: A yo t
`5,600,712 A 2/1997 Hanson et al.
`5,751,796 A
`5/1998 Scott et al.
`
`5/1998 Venkatakrishnan
`5,757,890 A
`5,771,353 A * 6/1998 Eggleston et al. .......... 709/227
`5,896,444 A 4/1999 Perlman et al.
`SS A : SE Its tal
`2- - -
`ggleSLOn et al. ..........
`.. A : s2:
`c
`2- Y
`- 2
`f
`ggleston et al. ..........
`6,308.281 B1 10/2001 Hall, Jr. et al.
`6,317,455 B1 11/2001 Williams et al.
`6,426,946 B1
`7/2002 Takagi et al.
`9.
`FOREIGN PATENT DOCUMENTS
`WO 99/27702
`6/1999
`
`709/206
`709f2O6
`f
`
`WO
`
`* cited by examiner
`Primary Examiner Salvatore Cangialosi
`(74) Attorney, Agent, or Firm-Eric M. Dowling
`(57)
`ABSTRACT
`A method is provided for reconnecting a telephone modem
`with a reduced delay by reducing a time associated with
`retraining. A wireline communication connection is initial
`ized by a telephone modem to train a set of parameters. The
`parameters are Stored in a memory Structure. The connection
`is used for communication, and is then terminated. At a later
`time, the connection is reestablished by accessing the
`parameters from memory and using them to reconnect the
`modem with a reduced set-up delay. Another method
`involves coupling to a first physical layer and establishing a
`Session with a server, and then decoupling from the first
`physical layer while maintaining the Session. Later, the
`Session is resumed using a Second physical layer. At least
`one of the physical layers involves a local interface unit that
`includes a landline connection to a WAN.
`
`75 Claims, 4 Drawing Sheets
`
`600
`v
`605 - ESTABLISH COMMUNICATION
`WITH REMOTE UNIT
`
`610-N
`
`ACCEPT AUTHORIZATION
`PARAMETERS
`
`615
`
`STABLISH APPLICATION
`SESSION FOR
`REMOTE UNIT
`
`620-
`
`PROVIDE ENTRY
`N TABLE STRUCTURE
`
`625-1
`
`DISCONNECT FROM
`REMOTE UNIT
`
`650
`
`REESTABLISH
`COMMUNICATIONS WITH
`REMOTE UNT
`
`MANIAN
`WIRTUAL
`SESSION
`
`650-
`
`635-1
`
`ACCEPT AUTHORIZATION
`CODES
`
`
`
`640-1
`
`RESUME SESSION
`ACT WITES
`
`
`
`Case 4:20-cv-00307-SDJ Document 1-2 Filed 04/13/20 Page 2 of 23 PageID #: 21
`
`U.S. Patent
`
`Jun. 3, 2003
`
`Sheet 1 of 4
`
`US 6,574,239 B1
`
`10
`
`100
`?
`
`120
`
`150
`
`CONTROL
`PROGRAM
`MODULE
`
`DISPLAY
`MONTOR
`
`COMMUNICATION
`MODULE
`
`127
`
`/
`
`uns
`MODULE
`
`125
`
`135
`
`158
`
`140
`
`MASS
`STORAGE
`
`POWER
`MODULE
`
`145
`
`FIC 1
`
`150N
`
`151
`
`184
`APPLICATION LA APPLICATION
`SESSIONS
`SESSIONS
`
`152
`
`154 -
`
`182
`REMOTE UNIT LA VIRTUAL SESSION - 156
`VIRTUAL SESSION
`SERVER
`
`TRANSPORT
`
`- - - - - - - -
`
`TRANSPORT
`
`160
`
`158
`FIC. 1A
`164-
`
`Nt(WURK
`
`- - - - - - - -
`
`1701
`
`LINK
`
`- - - - - - -
`
`166
`
`172
`
`176
`
`PHYSICAL
`
`PHYSICAL
`
`178
`
`18O
`
`
`
`Case 4:20-cv-00307-SDJ Document 1-2 Filed 04/13/20 Page 3 of 23 PageID #: 22
`
`U.S. Patent
`
`Jun. 3, 2003
`
`Sheet 2 of 4
`
`US 6,574,239 B1
`
`200
`
`100
`
`REMOTE
`
`2O7
`
`
`
`
`
`
`
`TABLE
`STRUCTURE
`
`225
`
`
`
`S6 215
`
`
`
`
`
`
`
`210
`
`COMMUNICATION
`
`
`
`
`
`FI C. 2
`
`212
`
`COMMUNICATION
`SERVER
`
`2.
`APPLICATION
`PROGRAM
`
`220
`
`500
`
`
`
`
`
`305
`
`INTERFACE SCREENS BASED WORKFLOW PROCESSING
`
`PREDICTION
`
`PREDICTION
`
`32O
`
`ESTABLESH CONNECTION
`N BACKGROUND
`
`TERMINATE
`CONNECTION
`
`
`
`EXCHANGE
`3251 AUTHENTICATION DATA
`
`
`
`330
`
`ESTABLISH/REACTIVATE
`SESSION
`
`FIC 3
`
`
`
`Case 4:20-cv-00307-SDJ Document 1-2 Filed 04/13/20 Page 4 of 23 PageID #: 23
`
`U.S. Patent
`
`Jun. 3, 2003
`
`Sheet 3 of 4
`
`US 6,574,239 B1
`
`400 y
`405
`RECEIVE COMMUNICATIONS
`REQUEST FROM
`USER PROGRAM
`
`410
`
`NITATE CONNECTION
`
`415
`
`420
`
`AUTHORIZATION
`CONFIRMATION
`
`NTAL DATA
`COMMUNICATION
`
`425
`
`NITA DATA DISPLAY
`
`430
`
`435
`
`LINE-RATE NEGOTATION
`IN THE BACKGROUND
`
`SUBSEQUENT
`HIGH-SPEED TRANSFER
`
`
`
`
`
`FIC 4
`
`
`
`
`
`
`
`500
`
`y
`
`ESTABLISH FRST
`CONNECTION WITH
`REMOTE ENTITY
`
`ESTABLISH SESSION
`WITH REMOTE ENTITY
`
`DROP CURRENT
`CONNECTION
`
`ESTABLISH SECOND
`CONNECTION WITH
`REMOTE ENTITY
`
`505
`
`
`
`
`
`
`
`540
`
`MANTAN
`VIRTUAL
`SESSION
`
`COMMUNCATE
`AUTHORIZATION SEQUENCE
`
`RESUME SESSION
`WITH REMOTE ENTITY
`
`FIC 6
`
`
`
`Case 4:20-cv-00307-SDJ Document 1-2 Filed 04/13/20 Page 5 of 23 PageID #: 24
`
`U.S. Patent
`
`Jun. 3, 2003
`
`Sheet 4 of 4
`
`US 6,574,239 B1
`
`600
`
`700
`
`ESTABLISH COMMUNICATION
`WTH REMOTE UNIT
`
`ACCEPT AUTHORIZATION
`PARAMETERS
`
`
`
`
`
`
`
`
`
`
`
`615
`
`ESTABLISH APPLICATION
`SESSION FOR
`REMOTE UNIT
`
`
`
`
`
`620-
`
`PROVIDE ENTRY
`N TABLE STRUCTURE
`
`625
`
`630
`
`
`
`640
`
`DISCONNECT FROM
`REMOTE UNIT
`
`REESTABLISH
`COMMUNICATIONS WITH
`REMOTE UNIT
`
`MANTAIN
`VIRTUAL
`SESSION
`
`AccEP Agization
`
`RESUME SESSION
`ACTIVITIES
`FIC.. 6
`
`
`
`800-
`
`
`
`
`
`ESTABLISH AND
`AUTHENTCATE
`SESSION
`
`705
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ACCEPT COMMUNICATION
`REQUEST FOR
`REMOTE UNIT
`
`SET UP CALLER-ID
`PACKET
`
`715
`
`720
`
`DIAL-OUT TO REMOTE
`UNT AND FORWARD
`
`- 725
`
`PACKETIZE THE
`
`SEND COMMUNICATION
`
`745
`
`750
`
`FIC 7
`
`805
`
`810
`
`815
`
`
`
`REACTIVATE VIRTUAL SESSION
`
`820
`
`
`
`Case 4:20-cv-00307-SDJ Document 1-2 Filed 04/13/20 Page 6 of 23 PageID #: 25
`
`1
`VIRTUAL CONNECTION OF A REMOTE
`UNIT TO ASERVER
`
`US 6,574.239 B1
`
`BACKGROUND OF THE INVENTION
`1. Field of the Invention
`This invention relates generally to client-server comput
`ing architectures and communication techniques. More
`particularly, the invention relates to a System whereby a
`mobile worker and a central Server may maintain a virtually
`continuous connection without the need to maintain a physi
`cal connection continuously.
`2. Description of the Related Art
`The concept of a virtual connection has arisen in connec
`tion with telecommuting and related applications. Such a
`system is described in U.S. Pat. No. 5,764,639. A telecom
`muter dials into a Server using a Standard telephone line. The
`telecommuter's modem and a modem controlled by the
`central Server establish a connection therebetween. Once a
`connection is established, the telecommuter may access a
`computer connected to the Server, read emails and receive
`phone calls and faxes. For example, if a customer attempts
`to call the telecommuter at work by dialing into a private
`branch exchange (PBX), the server will convert the incom
`ing call to a packetized form, Such as H.323, and redirect the
`call via the existing connection between the telecommuter
`and the Server. Using this System, the telecommuter may
`access a computer at work, answer phone calls and answer
`emails. The telecommuter thus appears to be present in his
`or her office and thus has a virtual presence there. Note for
`this System to properly function, the telecommuter must stay
`connected to the server at all times. While this does not
`present a significant problem for local telecommuting, this
`Solution is quite costly for long distance telecommuting.
`Likewise, this Solution is very costly if the telecommuter is
`mobile and must maintain a virtual presence with the Server
`using a cellular wireleSS connection. Furthermore, in Some
`areas it may be difficult to maintain a wireless connection
`continuously. A lost connection may also prevent one from
`regaining access to the System until Some period of time has
`passed. Some mobile workers require only intermittent
`access to the Server, but find it too inconvenient to place a
`dial-in call and to log onto the System every time acceSS is
`needed.
`There is a need to provide mobile workers with various
`forms of virtual connectivity. Mobile workers differ from
`telecommuters in that while a telecommuter typically works
`from a Single home location or remote office, a mobile
`worker moves from location to location during the course of
`a normal working day. An example of a mobile worker is a
`home-care professional. A home-care professional is a medi
`cal worker who periodically travels to visit with different
`Sets of homebound patients according to their individual
`needs. The individual patients each have a set of medical
`records indicative of their medical histories. A patient's
`medical record is preferably maintained as an interactive
`electronic document containing multiple parts. For example,
`the medical record indicates to the home-care professional
`precisely what procedures are to be performed and what
`medications are to be administered or otherwise given to the
`patient. Once the Services are performed, the home-care
`professional must annotate the medical record accordingly.
`The medical record is updated to reflect the patient's vital
`Signs and other information related to patient progress. Also,
`a billing System takes note to track expendables and Services
`rendered. For example, the patient may be billed per Visit
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`and each visit may involve the expenditure of billable
`resources Such as medicines.
`In the above Scenario, a mobile worker must interact with
`a central Server during the course of a day. The worker may
`wish to access the central Server while Visiting a patient. The
`worker may also wish to access the Server from a location
`where only a wireleSS connection can be established. From
`a performance perspective, an ideal Solution is to provide the
`mobile worker with a wireleSS connection from a remote
`unit to a central Server. Such a wireleSS connection could be
`established via a high-powered radio connection with a
`broad area of coverage or via an existing cellular or personal
`communication system (PCS) network. Solutions using
`high-powered radio links have the disadvantage that costly
`Spectrum may be required. Maintaining a link on a cellular
`or PCS System is expensive in that a continuous connection
`consumes billable airtime which is also very costly. From an
`airtime-cost perspective, an ideal Solution would be to force
`the worker to create a connection, download or up load
`information, and work locally with data on the remote unit
`as often as possible. This Solution is tedious, and while
`Saving airtime costs, may actually represent the more costly
`Solution when professional Service costs are factored in. This
`method has the added disadvantage that when files are
`uploaded or downloaded the data must be Synchronized in
`case another user has changed the data in parallel with the
`mobile worker. Alternatively, other users must be “locked
`out' of the file from the time the mobile user downloads it
`until it is finally uploaded with any changes made. This is the
`problem Solved using Semaphores in Shared memory Sys
`tems. In the context of the present invention, a “file Sema
`phore' is a Semaphore used to lock a Second user out of a file
`while a first user is using it. Due to the aforementioned
`reasons, in many applications forcing the worker to repeat
`edly connect, disconnect, upload and download information
`is unacceptable.
`Some mobile networks have been constructed using what
`is known as cellular digital packet data (CDPD). In a CDPD
`network, a remote unit transmits a data packet on an unused
`analog channel. In this Sense the mobile unit remains Vir
`tually connected to a CDPD communication server. Wireless
`airtime is only consumed when data is actually sent. A
`disadvantage to this approach is CDPD networks are not
`universally available. Cellular coverage is much more ubiq
`uitous than CDPD coverage. Also, CDPD network Subscrib
`ers must often pay high fees and hence CDPD may not
`represent the most economical Solution.
`In Some Systems. Such as packet Switched network routers,
`offices make use of dial-out linkS. Dial-out links are useful
`when remote offices are separated by long distances. In Such
`Systems, when a packet must be routed from a first office to
`a Second office, a call is placed to route the packet. The
`dial-out connection remains connected until a no-traffic
`condition is detected, indicating the line is no longer active.
`When the no-traffic condition is detected the connection is
`dropped until it is again needed. Dial-out links are thus used
`to reduce long distance fees associated with maintaining a
`constant connection, and represents a useful Starting point
`for Solving the foregoing problems relating to the establish
`ment of a virtual presence of a mobile worker. Client-server
`protocols and fast automated connection Strategies employ
`ing dial-out links are needed to provide new ways for a
`mobile worker to maintain a virtual presence. Also, new
`methods are needed to enable dial-out links to be set up with
`low delays to make them more useful for novel Systems.
`It would be desirable to provide a system whereby a
`remote worker could maintain a Seamless connection with a
`
`
`
`Case 4:20-cv-00307-SDJ Document 1-2 Filed 04/13/20 Page 7 of 23 PageID #: 26
`
`US 6,574.239 B1
`
`4
`workflow, when the user will require connectivity to the
`central Server. Based upon the prediction and in the
`background, a third Step involves initiating the establish
`ment of a physical layer communication connection to the
`central Server.
`A third aspect of the present invention involves a method
`of establishing a connection with a low connection Set-up
`time. In a first step, the method initiates the establishment of
`a communication connection to be used to communicate
`with a remote entity. Next the method communicates appli
`cation layer data via the communication connection prior to
`the completion of a line-rate negotiation process. Next the
`method negotiates a line Speed in the background.
`A fourth aspect of the present invention involves a method
`of Setting up and operating a virtual Session. This method
`can be practiced by a client-side remote unit or a Server-side
`Virtual Session Server. A first connection is established to a
`remote entity. This first connection is then used to establish
`a set of parameters needed to define a communication
`session with the remote entity. Next the first connection
`disconnected and a set of communication Session parameters
`are maintained. NeXt a Second connection to the remote
`entity is established and an authorization Sequence is com
`municated. The communication Session is next reactivated
`using the communication Session using the Second connec
`tion. A related method is used to allow a remote unit to
`maintain a virtual communications presence with a remote
`communication Server coupled to a virtual Session Server.
`A fifth aspect of the invention involves a method of
`accessing a Server from a remote unit. At a first time, a first
`physical layer is used to establish a Session with the Server.
`The Session involves a communication path that involves at
`least partially the first physical layer. The first physical layer
`is then decoupled while maintaining the Session. At a Second
`time, a Second physical layer is used to resume the Session
`So that the communication path of the Session involves at
`least partially the Second physical layer. At least one of the
`physical layerS involves a local coupling to a local interface
`unit that couples to a WAN via a landline connection and the
`communication path of the Session to the Server comprises
`the landline connection.
`Another aspect of the invention involves a method of
`reconnecting a telephone modem with a reduced delay by
`reducing a time associated with retraining. A first commu
`nication connection over a wireline telephone communica
`tion channel is initialized using the telephone modem. The
`initializing is performed at least partially by performing a
`line rate negotiation Sequence with a far end modem to train
`a set of parameters to be used to Support communications
`over the wireline telephone communication channel. The Set
`of parameters can include Signal constellation parameters,
`echo canceller coefficients, and/or equalizer coefficients for
`example. The Set of parameters are then Stored in a memory
`Structure. Communication then commence at a negotiated
`date rate via the first communication connection with the far
`end modem using the parameters. Then the first communi
`cation connection is terminated. Next, the parameters are
`accessed from the memory Structure and are used to at least
`partially initialize a Second communication connection over
`the wireline telephone communication channel using the
`telephone modem. Communicaiton next commences at the
`negotiated date rate Via Said Second communication connec
`tion by reusing at least Some of the parameters. This allows
`a Setup delay time associated with the initialization of the
`first communication connection to be longer than a Setup
`delay time associated with the initialization of the Seocnd
`communication connection.
`
`5
`
`15
`
`3
`central Server without the need to maintain a dedicated
`channel. It would be desirable if the remote worker could
`communicate with the central Server without the need to
`spend time to enter a password, reconnect, and wait for a line
`negotiation Sequence to proceed before being able to use the
`connection. It would be desirable for a protocol Stack to
`activate a virtual Session based on a prediction derived from
`a workflow. It would be desirable to use this prediction to set
`up a connection in the background without disturbing the
`mobile worker while the mobile worker performed tasks in
`a workflow. It would also be desirable to have a remote unit
`which contains most of the Screen-related information
`needed to provide the appearance of an established connec
`tion before the connection has been fully established. It
`would be desirable for the remote unit to download infor
`mation before it is needed and upload information after it is
`gathered without the user even being aware these actions are
`being performed. It would further be desirable to establish a
`Virtual Session using a first communication medium Such as
`a landline and to later communicate using the Same Virtual
`Session using a Second communication medium Such as a
`wireless link. This would allow a mobile worker to select the
`most economical or convenient means of communications at
`a given time. In embodiments involving modem-based
`connections, it would be desirable to transmit data imme
`25
`diately using instantly available but lower line Speeds. It
`would be desirable to then negotiate a higher line Speed in
`the background while the remote worker and/or the server
`perform other tasks. Moreover, it would be desirable to
`establish a Session between a remote unit and a Server So that
`various forms of communications may proceed while pro
`Viding the user with the appearance the user is continuously
`connected to the server and has a virtual presence with the
`SCWC.
`
`35
`
`40
`
`SUMMARY OF THE INVENTION
`The present invention solves these and other problems by
`providing Systems and methods to enable a remote worker to
`Stay virtually connected to a central Server without the need
`to continuously remain connected via a physical channel.
`The present invention is useful when costs are associated
`with maintaining a connection, for example when the con
`nection has associated with it long distance, wireless, or
`other usage-related toll charges.
`A first aspect of the present invention involves a commu
`45
`nication protocol making use of a virtual Session layer. The
`Virtual Session layer allows a communication Session and an
`application Session to be maintained in a deactivated State
`when no physical connection exists. When a remote unit
`later reconnects with a server, the virtual Session is placed
`into an active State and Session communications resumes as
`though uninterrupted. A remote unit, a virtual Session Server,
`and a communication System including the remote unit and
`the virtual Session Server are presented to Support Virtual
`Sessions communications. In one embodiment, the Virtual
`Session Server manages a logon Session between the remote
`unit and a Server-side application program. The virtual
`Session Server emulates the presence of the remote unit to the
`Server-Side application program and thereby maintains the
`logon. In related embodiments, the Server-side application
`program involves a communication Server capable of relay
`ing messages and establishing communication channels with
`the remote unit using the virtual Session layer.
`A Second aspect of the present invention involves a
`method of accessing a central Server from a remote unit. A
`65
`first Step involves presenting a workflow to a user via a user
`interface. A Second Step involves predicting, based upon the
`
`50
`
`55
`
`60
`
`
`
`Case 4:20-cv-00307-SDJ Document 1-2 Filed 04/13/20 Page 8 of 23 PageID #: 27
`
`US 6,574.239 B1
`
`S
`BRIEF DESCRIPTION OF THE FIGURES
`The various novel features of the present invention are
`illustrated in the figures listed below and described in the
`detailed description which follows.
`FIG. 1 is a block diagram representing an embodiment of
`a remote unit designed in accordance with the present
`invention.
`FIG. 1A is a block diagram illustrating a layered Software
`architecture representative of the communication protocols
`of the present invention.
`FIG. 2 is a block diagram illustrating a System comprising
`a remote unit operably coupled to a Server via a communi
`cation medium.
`FIG. 3 is a flow chart illustrating a method of processing
`whereby an application program implementing a workflow
`provides a prediction of when the user will need a connec
`tion and establishes a connection in the background just
`before it is needed.
`FIG. 4 is a flow chart illustrating a method of establishing
`communication with a remote entity with a near-immediate
`Set up time.
`FIG. 5 is a flow chart illustrating a method of communi
`cating by maintaining a virtual presence without the need to
`continuously maintain a physical connection.
`FIG. 6 is a flow chart illustrating a method of processing
`performed on a Server acting as a front-end to an application
`program to maintain Sessions for remote users who are not
`continuously physically connected to the application pro
`gram.
`FIG. 7 is a flow chart illustrating a method of processing
`performed on a server managing virtual connections for
`users who are not continuously physically connected to the
`SCWC.
`FIG. 8 is a flow chart illustrating a method of processing
`performed by a remote unit to accept different types of
`incoming calls.
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`FIG. 1 is a block diagram representing an embodiment of
`a remote unit 100 designed in accordance with the present
`invention. The remote unit 100 may be implemented as a
`laptop computer, a personal digital assistant, a desktop
`computer or WorkStation, or as a dedicated unit customized
`for a particular application. The remote unit 100 includes a
`central processing unit (CPU) 105 connected to a central bus
`110. The central processing unit may be implemented using
`an available microprocessor, microcontroller, or customized
`logic. For example, a Pentium TM processor from Intel Corp.
`may be used to implement the CPU 105. The central bus is
`preferably constructed as a Set of unbroken wires used to
`carry Signals between a Set of component Subsystems within
`the remote unit 100. It should be noted, in Some embodi
`ments of the present invention, the bus 110 may be imple
`mented equivalently using a set of direct parallel and/or
`serial connections between individual modules. The bus 110
`as illustrated in FIG. 1 shows a low cost and a preferred
`means to connect the illustrated Subsystems. Any combina
`tion of bus connections and direct Serial or parallel linkS may
`be used to implement the connection Structure provided by
`the bus 110. Different implementations represent different
`price-to-performance ratioS and will be dictated by the needs
`of an individual embodiment. The bus 110 also comprehends
`multi-layered bus structures. For example, Some embodi
`ments make use of a local processor bus connected to the
`
`5
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`CPU 105, and a peripheral interconnect bus for other sub
`Systems. In multi-layered bus based designs, the different
`layers are preferably connected by bus bridges. All of these
`and other equivalent embodiments of the bus 110 are known
`to the skilled artisan. From here forward, the discussion will
`center on the illustrated embodiment of the remote unit 100
`whereby all Subsystems are directly connected via the bus
`110. Embodiments where the bus 110 represents a different
`physical interconnection topology are implicitly included in
`the discussion below.
`A memory 115 is also coupled to the bus 110. The
`memory 115 may be implemented using Static random
`access memory (SRAM) or dynamic random access memory
`(DRAM). One type of SRAM is read-only memory (ROM).
`Preferably the memory 115 includes a ROM for use at
`boot-up, and a DRAM to hold a significant amount of data
`Storage for use while executing programs. The remote unit
`100 also includes a control program module 120. The
`control program module 120 is controllably coupled to the
`CPU 105 and is also coupled to the bus 110. The central
`program module 120 typically exists as a Software module
`executed from the memory 115 by the CPU 105. The control
`program module 120 effectively configures the remote unit
`100 to operate in accordance with aspects of the present
`invention as discussed herein below.
`A communications module 125 is also coupled to the bus
`110. The communications module includes at least one
`communication interface to allow the remote unit to com
`municate with a remote entity Such as a virtual Session Server
`as will be discussed in detail hereinafter. In a preferred
`embodiment, the communications module 125 includes a
`plurality of communication interfaces. For example, a first
`interface 126 provides a wireless link, and a second com
`munication interface 127 provides one or more wireline
`links. Also, the wireline communication interface 127 may
`include a Standard telephone modem interface and a packet
`Style interface designed to plug directly into an Ethernet
`connection to be coupled to a local area network (LAN), a
`wide area network (WAN) or the Internet. The Internet is the
`well-known and ubiquitous World Wide Web. In some
`embodiments, the communications module 125 includes a
`caller-identification packet processor. A caller-identification
`packet processor receives a caller-identification packet,
`extracts information therefrom, and passes the information
`to the CPU 105. Caller-identification packets may be advan
`tageously used to identify incoming calls with a virtual
`session as discussed in connection with FIGS. 7-8. The
`communications module 125 may optionally include a voice
`interface to allow a user to engage in telephone conversa
`tions using the remote unit 100. In this case a separate
`handset or a built-in handset may be used. Alternatively a
`Speakerphone may be built into the remote unit using a
`microphone, a speaker, and an echo canceller.
`The remote unit 100 also includes a display monitor 130.
`The display monitor 130 is also coupled to the bus 110. The
`display monitor 130 is preferably implemented using a
`liquid crystal display (LCD), although other display tech
`nologies may equivalently be used. Also connected to the
`bus 110 is an optional universal input-output (I/O) module
`135. The universal I/O module includes a coupling to a set
`of external devices 138. The external devices are preferably
`data collection units as described below. The universal I/O
`module preferably provides a Standard link layer interface to
`the software module 120 executing on the CPU 105. The
`remote unit 100 also preferably includes a mass storage
`device 140. The mass storage device 140 is also connected
`to the bus 110. The mass storage device is preferably
`
`
`
`Case 4:20-cv-00307-SDJ Document 1-2 Filed 04/13/20 Page 9 of 23 PageID #: 28
`
`US 6,574.239 B1
`
`7
`implemented using magnetic disk or optical disk technology,
`but any mass Storage device, to include a non-volatile
`memory, may be used.
`The remote unit 100 also includes a power module 145.
`The power module is preferably and optionally coupled to
`the buS 110 to receive power management control informa
`tion. The power module preferably includes a battery, an
`alternating current (AC) connector, a direct current (DC)
`connector, and a power management control interface. The
`AC connector allows the remote unit 100 to be powered
`from a standard 110 V wall outlet. The DC connector allows
`the remote unit 100 to be powered from a vehicle, for
`example by plugging the unit into a cigarette lighter outlet.
`Either of these connectors may be preferably used to also
`charge the battery in the remote unit. The power module 145
`is coupled to Supply power to a power bus which is con
`nected to all Subsystems. Depending on the power manage
`ment configuration of an individual System, different Sub
`Systems may accept power from Separate connections to
`allow portions of the remote unit to be selectively turned off
`while they are not being used.
`The remote unit 100 is operative to execute an application
`program. The application program is operative to Supply a
`Sequence of interactive Screens or a menu based interface to
`the user. The Sequence of interactive Screens or a particular
`usage of a menu based System implements a workflow. In an
`example embodiment, the remote unit 100 is carried by a
`home-care professional. The home care professional has a
`Sequence of procedures which need to be implemented in the
`course of working with a patient. This Sequence of proce
`dures gives rise to the workflow implemented in the control
`program 120 which executes on the remote unit 100. In the
`example embodiment involving a home-care professional,
`the universal I/O module is connected to a set of peripheral
`units to collect Vital information Such as blood pressure,
`temperature, insulin level and the like. Other information
`Such as the patients weight may be entered manually by the
`home-care professional as a part of the workflow. At certain
`times in the workflow, an external communication connec
`tion will be needed because data may need to be uploaded
`or downloaded to/from a central Server. In accordance with
`the present invention, the remote unit 100 is operative to
`provide a SeamleSS and transparent Virtual presence with the
`central Server. In general, the central Server may itself be
`Segmented into two or more individual central Servers. The
`discussion herein focuses on an embodiment whereby a
`Virtual presence is maintained with a Single central Server
`having multiple Server components. The present invention
`may be equivalently practiced by embodiments involving a
`Virtual presence with more than one central Server. Thus, one
`remote unit could maintain multiple virtual connections to
`totally Separate Server Systems. In Such a configuration the
`application workflow would dictate to which Server System
`the remote unit would physically connect while other Servers
`remain Virtually connected.
`A key aspect of the operation of the remote unit 100 is its
`ability to maintain a virtual presence with the central Server
`without continuously maintaining a physical connection.
`The remote unit 100 is operative to provide communications
`when it is needed without the user needing to go through a
`Set of normally associated connection Sequences. For
`example, in accordance with one aspect of the invention, the
`user need only interact with the Screens provided to imple
`ment the workflow while the remote unit 100 automatically
`Sets up a connection in the background to be available when
`it is needed. In embodiments where file Synch