throbber
Case 4:20-cv-00307-SDJ Document 1-2 Filed 04/13/20 Page 1 of 23 PageID #: 20
`
`(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

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