Claims
- 1. A communication system comprising:
a telephony server configured to provide telephony services for a first plurality of office communication lines; a local area network coupled to the Internet; a server system configured for coupling to the telephony server and to the local area network; a first user communication device situated remotely from the telephony server and the local area network, wherein the first user communication device is configured to establish a first connection to the server system through the Internet; wherein the server system is further configured to provide access for the first user communication device to the telephony server over the Internet in response to the first user communication device establishing the first connection to the server system; and wherein the server system is further configured to invoke a call forwarding operation, in response to said first user communication device establishing the first connection to the server system, so that subsequent telephone calls, intended to reach a first office communication line of said first plurality of office communication lines, are forwarded to the server system to be forwarded to the first user communication device over the Internet.
- 2. The communication system of claim 1, wherein the telephony server is a Private branch exchange (PBX).
- 3. The communication system of claim 1, wherein the telephony server associates a first telephone number with the first office communication line, wherein the server system invokes said call forwarding operation by commanding the telephony server to redirect subsequent telephone calls addressing the first telephone number to a second telephone number, wherein the second telephone number is associated with the server system.
- 4. The communication system of claim 3, wherein said server system is coupled to said telephony server through a first collection of physical lines, wherein the telephony server associates a second plurality of telephone numbers to the first collection of physical lines, wherein the telephony server manages the first collection of physical lines as a hunt group with respect to the second plurality of telephone numbers.
- 5. The communication system of claim 4, wherein said server system is configured to support a plurality of user communication devices simultaneously connected to the server system, wherein each of the plurality of user communication devices connects to the server system over the Internet through one or more Internet Protocol connections, wherein the server system allocates the second telephone number from the second plurality of telephone numbers to the first user communication device in response to the first user communication device establishing the first connection to the server system.
- 6. The communication system of claim 5, wherein the first user communication device is configured to transmit information identifying a remote user of the first user communication device to the server system, wherein the server system is configured to look up the first telephone number based on the identifying information.
- 7. The communication system of claim 3, wherein the server system is configured to receive a first telephone call, which has been redirected by the telephony server from the first telephone number to the second telephone number, and to forward a first indication of the first telephone call to the first user communication device through the first connection.
- 8. The communication system of claim 7, wherein, in response to an answer indication received from the first user communication device, the server system is configured to receive a first voice signal from the telephony server, and to transmit corresponding first voice data to the first user communication device through the first connection.
- 9. The communication system of claim 8, wherein the first voice signal represents the voice signal of a correspondent who initiated the first telephone call expecting to be connected to the first office communication line.
- 10. The communication system of claim 7, wherein the first telephone call originates from a second office communication line of said first plurality of office communication lines.
- 11. The communication system of claim 7, wherein the telephony server couples to the Public Switched Telephone Network (PSTN), wherein the first telephone call originates from the PSTN.
- 12. The communication system of claim 1 wherein the server system is further configured to provide access for said first user communication device to said local area network.
- 13. The communication system of claim 12, wherein the server system is configured to provide access to the local area network and to the telephony server for a plurality of user communication devices including the first user communication device.
- 14. The communication system of claim 12, wherein the first user communication device comprises a client computer and a client modem.
- 15. The communication system of claim 14, wherein the server system further comprises a telephony gateway which interfaces with the telephony server, wherein the client computer is configured to execute a telephony client application, wherein the telephony client application is configured to establish the first connection through the Internet to the telephony gateway.
- 16. The communication system of claim 15, wherein the telephony client application supports a first phone for use by a remote user of the client computer, wherein the telephony client application and the telephony gateway maintain a voice and telephony control interface between the first phone and the telephony server by exchanging telephony packets through the first connection, wherein the telephony packets comprise voice data and control messages.
- 17. The communication system of claim 16, wherein the telephony client application is configured to repeatedly transmit a first control message in successive telephony packets to the telephony gateway through the first connection until receiving a return telephony packet from the telephony gateway containing an indication that the telephony gateway has received the first control message.
- 18. The communication system of claim 16, wherein the telephony gateway is configured to repeatedly transmit a first control message in successive telephony packets to the telephony client application through the first connection until receiving a return telephony packet from the telephony client application containing an indication that the telephony client application has received the first control message.
- 19. The communication system of claim 16, wherein the telephony server is configured to provide a first set of telephony functions to the first office communication line, wherein the voice and telephony control interface extends to the first phone at least a subset of the first set of telephony functions.
- 20. The communication system of claim 19, wherein said subset of telephony functions includes extension dialing, so that the user specifies only an extension number to the first phone in order to call a second office communication line of said first plurality.
- 21. The communication system of claim 16, wherein the first phone comprises a graphical user interface.
- 22. The communication system of claim 16, wherein the first phone comprises a physical phone.
- 23. The communication system of claim 16, wherein the telephony gateway is configured to measure an elapsed time from reception of a last telephony packet from the telephony client application, wherein said telephony gateway is configured to automatically cancel said call forwarding operation when said elapsed time exceeds a predefined timeout value.
- 24. The communication system of claim 23, wherein the telephony client application is configured to transmit telephony packets comprising keep-alive messages to the telephony gateway through the first connection to prevent cancellation of the call forwarding operation.
- 25. The communication system of claim 16, wherein the telephony client application is configured to transmit a third telephone number to the telephony gateway through the first connection in response to user manipulations of the first phone, wherein the telephony gateway is configured to receive the third telephone number, and to initiate a second telephone call addressed to the third telephone number through the telephony server.
- 26. The communication system of claim 25, wherein the server system is configured to maintain a log file which comprises information regarding each telephone call initiated for the remote user by the telephony gateway.
- 27. The communication system of claim 15, wherein the server system further comprises a virtual private network (VPN) server, wherein the client computer is further configured to execute a VPN client application, wherein the VPN client application is configured to establish a second connection through the Internet to the VPN server.
- 28. The communication system of claim 27, wherein the VPN server is further configured to receive first network data transmitted from the VPN client application through the second connection, and to transmit the first network data onto the local area network, wherein the VPN server is further configured to receive second network data, generated in response to the first network data, from the local area network, and to transmit the second network data to the VPN client application through the second connection.
- 29. The communication system of claim 27, wherein the telephony client application establishes the first connection to the telephony gateway and the VPN client application establishes the second connection to the VPN server, in response to a remote user invoking a virtual presence client which also executes on the client computer.
- 30. The communication system of claim 27, wherein the client modem is configured for coupling to a server modem through a switching network, wherein the server modem is configured for coupling to a remote access server, wherein the remote access server connects to the Internet.
- 31. The communication system of claim 30, wherein the remote access server is situated at an Internet service provider (ISP).
- 32. The communication system of claim 30, wherein the client computer is configured to execute one or more real-time applications including the telephony client application, wherein the telephony client application is configured to generate first telephony frames addressed for the telephony gateway, wherein the one or more real-time applications are configured to generate first real-time data frames, wherein the first real-time data frames include the first telephony frames generated by the telephony client application, wherein the VPN client application is configured to generate first regular data frames, wherein the client modem is configured to receive the first real-time data frames and the first regular data frames, and to transmit the first real-time data frames and the first regular data frames to the server modem through the switching network, wherein the server modem is configured to send the first real-time data frames and the first regular data frames to the remote access server, wherein the remote access server is configured to transmit the first real-time data frames and the first regular data frames onto the Internet.
- 33. The communication system of claim 32, wherein normal Internet Protocol (IP) routing mechanisms are responsible for delivering the first telephony frames to the telephony gateway through the Internet, and for delivering the first regular data frames to the VPN server through the Internet.
- 34. The communication system of claim 32, wherein telephony gateway transmits second telephony frames, addressed for the telephony client application, onto the local area network, wherein the VPN server transmits second regular data frames, addressed for the VPN client application, onto the local area network, wherein the remote access server is configured to receive the second telephony frames and the second regular data frames from the Internet, and to send the second telephony frames and second regular data frames to the server modem, wherein the server modem is configured to transmit the second telephony frames and the second regular data frames to the client modem through the switching network, wherein the client modem is configured to send the second telephony frames and the second regular data frames to the client computer.
- 35. The communication system of claim 34, wherein an IP stack executing on the client computer is configured to receive the second telephony frames and the second regular data frames from the client modem, and to send the second telephony frames to the telephony client application, and send the second regular data frames to the VPN client application.
- 36. The communication system of claim 34, wherein normal IP routing mechanisms are responsible for delivering the second telephony frames and the second regular data frames to the remote access server through the Internet from the local area network.
- 37. The communication system of claim 34, wherein the client modem receives the first real-time data frames and the first regular data frames from the client computer, stores the first real-time data frames in a first real-time buffer, stores the first regular data frames in a first regular data buffer, transmits real-time data from the first real-time buffer onto the switching network when the first real-time buffer is nonempty, and transmits regular data from the first regular data buffer onto the switching network only when the first real-time buffer is empty and when the first regular data buffer is nonempty.
- 38. The communication system of claim 37, wherein the client modem transmits a first escape sequence prior to transmitting the real-time data.
- 39. The communication system of claim 37, wherein the server modem receives the second telephony frames and the second regular data frames from the remote access server, stores the second telephony frames in a second real-time buffer, stores the second regular data frames in a second regular data buffer, transmits real-time data from the second real-time data buffer onto the switching network when the second real-time buffer is nonempty, and transmits regular data from the second regular data buffer onto the switching network only when the second real-time buffer is empty and when the second regular data buffer is nonempty.
- 40. The communication system of claim 39, wherein the server modem transmits a first escape sequence prior to transmitting the real-time data from the second real-time data buffer.
- 41. The communication system of claim 34, wherein the server system further comprises a proxy server, wherein the server modem comprises a conventional modem, wherein the client modem establishes a third IP connection to the proxy server through the switching network, the server modem, the remote access server, and the Internet.
- 42. The communication system of claim 41, wherein the client modem multiplexes the first real-time data frames and the first regular data frames into a first stream of tinygrams addressed for the proxy server, and transmits the first stream of tinygrams to the proxy server through the third IP connection, wherein the proxy server recovers the first real-time data frames and the first regular data frames from the first stream of tinygrams, and sends the first telephony frames to the telephony gateway through the local area network and sends the first regular data frames to the VPN server through the local area network.
- 43. The communication system of claim 42, wherein the client modem is configured to embed real-time data from the first real-time buffer into the tinygrams comprising the first stream with priority over regular data from the first regular data buffer.
- 44. The communication system of claim 42, wherein the proxy server receives the second telephony frames from the telephony gateway, and the second regular data frames from the VPN server, wherein the proxy server multiplexes the second telephony frames and the second regular data frames into a second stream of tinygrams and transmits the second stream of tinygrams to the client modem through the third IP connection, wherein the client modem recovers the second telephony frames and the second regular data frames from the second stream of tinygrams, and sends the second telephony frames and the second regular data frames to the client computer.
- 45. The communication system of claim 44, wherein the proxy server is configured to embed real-time data from the second real-time buffer into the tinygrams comprising the second stream with priority over regular data from the second regular data buffer.
- 46. A communication system comprising:
a telephony server configured to provide telephony services for a first plurality of office communication lines; a local area network coupled to the Internet; a server system configured for coupling to the telephony server and to the local area network; a first user communication device situated remotely from the telephony server and the local area network, wherein the first user communication device comprises a client computer and a client modem, wherein the client modem is configured for coupling to a server modem through a switching network, wherein the server modem is configured for coupling to a remote access server, wherein the remote access server couples to the Internet; wherein the server system comprises:
a telephony gateway which interfaces with the telephony server, wherein the client computer is configured to execute a telephony client application, wherein the telephony client application is configured to establish a first connection through the client modem, the switching network, the server modem, the remote access server and the Internet to the telephony gateway, wherein the telephony gateway is configured to automatically provide access for the first user communication device to the telephony server in response to the telephony client application establishing the first connection to the telephony gateway, wherein the telephony gateway is further configured to automatically invoke a call forwarding operation, in response to the telephony client application establishing the first connection to the server system, so that subsequent telephone calls, intended to reach a first office communication line of said first plurality, are forwarded to the telephony gateway; a virtual private network (VPN) server, wherein the client computer is further configured to execute a VPN client application, wherein the VPN client application is configured to establish a second connection through the client modem, the switching network, the server modem, the remote access server and the Internet to the VPN server, wherein the VPN server is configured to provide access to the local area network for the first user communication device; wherein the server system is configured to extend access to the telephony server and the local area network over the Internet for a plurality of user communication devices including the first user communication device.
- 47. The communication system of claim 46, wherein one or more real-time applications running on the client computer are configured to generate real-time frames, wherein one or more non-real-time applications also running on the client computer are configured to generate regular frames, wherein the client computer is configured to multiplex the real-time frames and the regular frames into a first stream, and to present the first stream to a data interface for transmission to the client modem.
- 48. The communication system of claim 47, wherein the client modem comprises:
a first real-time buffer; a first regular buffer; and first control logic, wherein the first control logic is configured (a) to receive the first stream from the first data interface, (b) to demultiplex the real-time frames and the regular frames from the first stream, (c) to store the real-time frames into the first real-time buffer and the regular frames into the first regular buffer, (d) to initiate transmission of a first regular frame from the first regular buffer onto a communication medium, (e) to temporarily interrupt transmission of the first regular frame in response to the first real-time buffer attaining a first non-empty condition, (f) to transmit one or more of the real-time frames from the first real-time buffer onto the communication medium until the first real-time buffer attains a first empty condition, (g) to resume transmission of the first regular frame in response to the first real-time buffer attaining the first empty condition.
- 49. The communication system of claim 48, wherein the communication medium comprises a subscriber line connection to the switching network, wherein the switching network connects the client modem and the server modem, wherein the transmissions of the client computer onto the communication medium comprise an output data stream, wherein the server modem is configured to recover the real-time frames and the regular frames from the output data stream, wherein the server modem is configured to send the real-time frames and the regular frames to the remote access server, wherein the remote access server is configured to transmit the real-time frames and the regular frames onto the Internet.
- 50. The communication system of claim 49, wherein the real-time frames include telephony frames, addressed for the telephony gateway and generated by the telephony client application, wherein the regular frames include tunnel frames addressed for the VPN server and generated by the VPN client application.
- 51. The communication system of claim 48, wherein the first control logic is further configured (h) to increment a real-time frame count in response to a completion of storage of any one of the real-time frames into the first real-time buffer, (i) to decrement the real-time frame count in response to completing transmission of any real-time frame from the first real-time buffer onto the communication medium, wherein the first real-time buffer attains the first non-empty condition when the real-time frame count attains a value greater than zero, wherein the first real-time buffer attains the first empty condition when the real-time frame count attains the value of zero.
- 52. The communication system of claim 46, wherein the remote access server is configured to receive real-time frames from the Internet and regular data frames from the Internet, to multiplex the real-time frames and the regular frames into a fourth stream, and to present the fourth stream to the server modem for transmission to the client modem.
- 53. The communication system of claim 52, wherein the server modem comprises:
a second real-time buffer; a second regular buffer; and second control logic, wherein the second control logic is further configured (h) to receive the fourth stream from the remote access server, (i) to demultiplex the real-time frames and the regular frames from the fourth stream, (j) to store the real-time frames in the second real-time buffer and the regular frames into the second regular buffer, (k) to transmit one or more of the real-time frames from the second real-time buffer onto the switching network in response to a second non-empty condition of the second real-time buffer and until the second real-time buffer attains a second empty condition, (l) to transmit a second regular frame from the second regular buffer onto the switching network in response to the second empty condition of the second real-time buffer and a third non-empty condition of the second regular buffer.
- 54. The communication system of claim 53, wherein the real-time frames include telephony frames generated by the telephony gateway and transmitted to the remote access server through the Internet, wherein the regular frames include tunnel frames generated by the VPN server and transmitted to the remote access server through the Internet.
- 55. The communication system of claim 48, wherein the first control logic comprises a central processing unit (CPU) of the client computer, wherein (a) through (g) are implemented by a first software module executing on the CPU, wherein the first software module receives the first stream from the data interface, wherein the communication medium comprises an interface to a conventional modem, wherein the conventional modem is configured for coupling to the switching network.
- 56. The communication system of claim 48, wherein the first control logic comprises a microprocessor configured within the client modem, wherein the first data interface comprises a physical interface between the client modem and the client computer.
- 57. The communication system of claim 48, wherein the first control logic is further configured to transmit an escape character onto the communication medium after said temporarily interrupting transmission of the first regular frame and prior to said transmission of said one or more of the real time frames from the first real-time buffer.
- 58. The communication system of claim 57, wherein the first control logic is further configured to scan characters of first regular frame prior to transmission, wherein said scanning operates on the characters of the first regular frame as a character stream, wherein said scanning includes injecting a secondary character after solo occurrences of the escape character in the character stream, wherein said secondary character is different from the escape character.
- 59. The communication system of claim 48, wherein the first control logic is further configured (h) to generate an initial portion of a first containing frame in response to the first real-time buffer attaining the first non-empty condition and the first regular buffer concurrently being empty, (i) to transmit the initial portion of the first containing frame onto the communication medium, (j) to repeatedly transmit a real-time frame from the first real-time buffer onto the communication medium until the first real-time buffer attains the first empty condition.
- 60. The communication system of claim 59, wherein the first control logic is further configured to transmit a terminating portion of the first containing frame in response to the first real-time buffer attaining the first empty condition and the first regular buffer concurrently being empty.
- 61. The communication system of claim 60, wherein the first control logic is further configured (k) to initiate transmission of a second regular frame from the first regular buffer in response to the first real-time buffer attaining the first empty condition and the first regular buffer concurrently being non-empty.
- 62. The communication system of claim 47, wherein the server system further comprises a proxy server, wherein the server modem comprises a conventional modem, wherein the client modem communicates with the proxy server through an third IP connection which spans the switching network, the server modem, the remote access server, and the Internet, wherein the client modem comprises:
a first real-time buffer; a first regular buffer; demultiplexing logic configured to receive the first stream from the data interface, to store the real-time frames from the first stream into the first real-time buffer, and to store the regular frames from the first stream into the first regular buffer; and transmit logic configured to transmit data packets addressed to the proxy server onto a communication medium, wherein the transmit logic is further configured to embed real-time data from the first real-time buffer and regular data from the first regular buffer into the data packets, in a manner which prioritizes the real-time data over the regular data.
- 63. The communication system of claim 62, wherein the communication medium comprises a subscriber line connection to the switching network, wherein the switching network connects the client modem and the server modem, wherein the server modem is configured to receive the data packets from the switching network and to send the data packets to the remote access server, wherein the remote access server is configured to transmit the data packets onto the Internet.
- 64. The communication system of claim 63, wherein normal IP routing mechanisms are responsible for delivering the data packets to the proxy server through the Internet, wherein the proxy server is configured to recover the real-time frames and regular frames from the data packets, and to transmit the real-time frames and regular frames onto the local area network, wherein the real-time frames include telephony frames, addressed for the telephony gateway and generated by the telephony client application, wherein the regular frames include encrypted data frames addressed for the VPN server and generated by the VPN client application.
- 65. The modem of claim 62, wherein the transmit logic is configured to initiate transmission of a first packet comprising regular data from the first regular buffer in response to the first real-time buffer being empty and the first regular buffer being nonempty, wherein the transmit logic is further configured to discontinue transmission of the regular data in the first packet and to complete transmission of the first packet by transmitting a first real-time frame from the first real-time buffer in response to the first real-time buffer becoming non-empty, wherein the first packet is transmitted onto the communication medium.
- 66. The communication system of claim 65, wherein the real-time frames as received from the data interface are encapsulated in UDP frames, wherein the transmit logic is further configured to format the first packet according to the Transmission Control Protocol, and to perform header compression on the TCP-formatted first packet prior to transmission onto the communication medium.
- 67. The communication system of claim 65, wherein the transmit logic is further configured to format the first packet according to the User Datagram Protocol prior to transmission onto the communication medium.
- 68. The communication system of claim 65, wherein the transmit logic is further configured to complete transmission of the first packet if the first real-time buffer remains empty until an ending portion of a first regular frame has been transmitted from the first regular buffer.
- 69. The communication system of claim 68, wherein the transmit logic is further configured to embed a transmit frame number in the first packet which associates the first packet with the first regular frame.
- 70. The communication system of claim 69, wherein the transmit logic is further configured to embed a transmit section number in the first packet which defines a sequence number for packets, including the first packet, containing any portion of the first regular frame.
- 71. The communication system of claim 65, wherein the transmit logic is further configured (a) to determine if the first real-time buffer is non-empty after transmission of an immediately preceding packet, and (b) to transmit a second packet containing a second real-time frame from the first real-time buffer and none of the regular data from the first regular buffer in response to an affirmative determination that the first real-time buffer is non-empty.
- 72. The communication system of claim 71, wherein the transmit logic is further configured (c) to determine if the first regular buffer is non-empty after the transmission of the immediately preceding packet, and (d) to initiate transmission of a third packet containing more of the regular data from the first regular buffer in response to a determination that the first real-time buffer is empty and the first regular buffer is nonempty.
- 73. The communication system of claim 65, wherein the transmit logic is further configured to embed an acknowledgement type field in the first packet, wherein the acknowledgement type field indicates either (a) a full acknowledgement of one or more packets previously received from the proxy server, (b) a partial acknowledgement of a particular packet previously received from the proxy server, or (c) no acknowledgement.
- 74. The communication system of claim 65, wherein the demultiplexing logic and transmit logic are implemented by a software client running on the client computer, wherein the communication medium comprises a connection to a physical modem, wherein the physical modem is configured for coupling to the server modem through the switching network.
- 75. The communication system of claim 46, wherein the server system further comprises a proxy server, wherein the server modem comprises a conventional modem, wherein the proxy server communicates with the client modem through a third IP connection which spans the Internet, the remote access server, the server modem and the switching network, wherein the proxy server comprises:
a host computer coupled to the local area network; a software adapter running on the host computer, wherein the software adapter comprises:
a first real-time buffer; a first regular buffer; a frame separator configured to receive real-time frames from a first data interface and regular frames from a second data interface, to store the real-time frames into the first real-time buffer, and to store the regular frames into the first regular buffer; and a transmission interface configured to transmit data packets, addressed to the client modem, onto the local area network, wherein the transmission interface is further configured to embed real-time data from the first real-time buffer and regular data from the first regular buffer into the data packets in a manner which prioritizes the real-time data over the regular data.
- 76. The communication system of claim 75, wherein the real-time frames comprise telephony frames addressed for the telephony client application and transmitted by the telephony gateway through the local area network to the proxy server, wherein the regular frames comprise encrypted data frames addressed for the VPN client application and transmitted by the VPN server through the local area network to the proxy server.
- 77. The communication system of claim 75, where normal IP routing mechanisms are responsible for delivering the data packets from proxy server to the remote access server through the local area network and the Internet, wherein the remote access server is configured to send the data packets to the client modem through the server modem and the switching network, wherein the client modem is configured to recover the real-time frames and the regular frames from the data packets, and to send the real-time frames with priority over the regular frames to the client computer.
- 78. The communication system of claim 75, wherein the transmission interface is further configured to initiate transmission of a first packet comprising regular data from the first regular buffer in response to the first real-time buffer being empty and the first regular buffer being non-empty, wherein the transmission interface is further configured to discontinue transmission of the regular data in the first packet and to complete transmission of the first packet by transmitting a first real-time frame from the first real-time buffer in response to the first real-time buffer becoming non-empty, wherein the first packet is transmitted to a third data interface.
- 79. The communication system of claim 78, wherein the transmission interface is configured to initiate transmission of the first packet in response to (a) the first real-time buffer being empty, (b) the first regular buffer being non-empty, and (c) a clearing time variable being smaller than a first predetermined value.
- 80. The communication system of claim 79, wherein the transmission interface is configured to multiplex the real-time frames from the first real-time buffer and the regular frames from the first regular buffer into the data packets including the first packet, and to transmit the data packets to the third data interface, wherein the transmission interface is configured to increase the clearing time variable after transmission of each of the data packets by an amount proportional to a data length of the data packet, wherein the transmission interface is configured to deplete the clearing time variable with respect to time.
- 81. The communication system of claim 80, wherein the amount corresponds to time D/R, wherein D represents the data length of the packet and R represents a predefined data transfer rate.
- 82. The communication system of claim 78, wherein the transmission interface is further configured to complete transmission of the first packet without including any real-time data from the first real-time buffer in response to the first real-time buffer remaining empty until the regular data transmitted in the first packet attains a size equal to a first data limit.
- 83. The communication system of claim 82, wherein the first data limit is substantially equal to R(T−X), wherein T is a maximum time delay, X is the clearing time, and R is a predefined data transfer rate.
- 84. The communication system of claim 78, wherein the transmission interface is further configured to complete transmission of the first packet without including any real-time data from the first real-time buffer if the first real-time buffer remains empty until an ending portion of a first regular frame has been transmitted in the first packet.
- 85. The communication system of claim 78, wherein the transmission interface is further configured (a) to determine if the first real-time buffer is non-empty after transmission of an immediately preceding packet, and (b) to transmit a second packet containing a second real-time frame from the first real-time buffer and none of the regular data from the first regular buffer in response to an affirmative determination that the first real-time buffer is non-empty.
- 86. The communication system of claim 78, wherein the first data interface, second data interface and third data interface comprise socket interfaces between the software adapter and an internet protocol stack also running on the host computer.
- 87. The communication system of claim 86, wherein the transmission interface is further configured to format the first packet according to the User Datagram Protocol prior to transmitting the first packet through the third data interface to the internet protocol stack.
- 88. The communication system of claim 87 further comprising a device driver executing on the host computer, wherein the device driver is configured:
to receive the first packet from the internet protocol stack; to reformat the first packet according to the Transmission Control Protocol; to provide the first packet after said reformatting to a network interface for transmission onto the local area network.
- 89. The communication system of claim 78, wherein the software adapter further comprises:
a second real-time buffer; a second regular buffer; a reception interface configured (a) to receive a second stream of packets, transmitted by the client modem, from a fourth data interface, (b) to demultiplex real-time data frames and regular data frames from the second stream of packets, (c) to store the real-time data frames into the second real-time buffer, (d) to store the regular data frames into the second regular buffer; and forwarding logic configured to transmit the real-time data frames from the second real-time buffer and the regular data frames from the second regular buffer onto the local area network.
- 90. The communication system of claim 98 further comprising a device driver which executes on the host computer, wherein the device driver is configured:
to receive a third stream of packets formatted according to the Transfer Control Protocol from the local area network; to generate the second stream of packets by reformatting the third stream of packets according to the User Datagram protocol; to provide the second stream of packets to a protocol stack running on the host computer; wherein the protocol stack provides the second stream of packets to the reception interface through the fourth data interface.
- 91. A system, comprising:
a remote site having a user communication device configured to connect to an office site through an Internet connection, wherein said user communication device is remote from said office site; said office site comprising:
a telephony server configured to provide telephony functionality to a plurality of office users over a plurality of office communication lines, wherein one of said office communication lines has an office number assigned to said user; a local area network configured to provide data communication; and a server system configured to automatically provide access for said user communication device to said local area network and to said telephony server in response to said user communication device connecting to the office site, wherein said server system is configured to automatically invoke a call forwarding operation in response to said user communication device connecting to the office site so that calls made to said office number intended to reach the user at said office site are forwarded to said server system, wherein said server system sends said calls to said user communication device through the Internet, and wherein said server system is further configured to send data communications from said office data network to said user communication device through the Internet while sending said calls to said user communication device through the Internet.
- 92. The system of claim 91, wherein the user communication device comprises a client computer and a client modem, wherein the server system further comprises a telephony gateway which interfaces with the telephony server, wherein the client computer is configured to execute a telephony client application, wherein the telephony client application is configured to establish a first connection through the Internet to the telephony gateway, wherein the telephony client application supports a first phone for use by said user, wherein the telephony client application and the telephony gateway maintain a voice and telephony control interface between the first phone and the telephony server by exchanging telephony packets through the first connection, wherein the telephony packets comprise voice data and control messages.
- 93. The system of claim 92, wherein the telephony server is configured to provide a first set of telephony functions to said one of the office communication lines, wherein the voice and telephony control interface extends to the first phone at least a subset of the first set of telephony functions.
- 94. The system of claim 93, wherein the server system further comprises a virtual private network (VPN) server, wherein the client computer is further configured to execute a VPN client application, wherein the VPN client application is configured to establish a second connection through the Internet to the VPN server.
- 95. The system of claim 94, wherein the VPN server is further configured to receive first network data transmitted from the VPN client application through the second connection, and to transmit the first network data onto the local area network, wherein the VPN server is further configured to receive second network data, generated in response to the first network data, from the local area network, and to transmit the second network data to the VPN client application through the second connection.
- 96. The communication system of claim 95, wherein the client modem is configured for coupling to a server modem through a switching network, wherein the server modem is configured for coupling to a remote access server, wherein the remote access server connects to the Internet, wherein the telephony client application establishes the first connection to the telephony gateway through the client modem, the switching network, the server modem, the remote access server and the Internet, wherein the VPN client application establishes the second connection to the VPN server through the client modem, the switching network, the server modem, the remote access server and the Internet.
- 97. A method for providing a remote user with access to an office telephony server and an office data network, wherein the office telephony server is configured to provide telephony services for a first plurality of office communication lines, wherein the office data network is coupled to the Internet, the method comprising:
a first user communication device, situated remotely from the office telephony server and the office data network, establishing a first connection to a server system through the Internet, wherein the server system couples to the office telephony server and to the office data network; the server system automatically providing access for the first user communication device to the office telephony server in response to the first user communication device establishing the first connection to the server system; the server system automatically invoking a call forwarding operation, in response to said first user communication device establishing the first connection to the server system, so that subsequent telephone calls, intended to reach a first office communication line of said first plurality, are forwarded to the server system.
- 98. A server system at an office site, comprising:
at least one host computer configured with (a) a telephony application to support a first connection through the Internet with a user communication device at a remote site, and (b) a virtual private network (VPN) server application to support a second connection through the Internet with the user communication device; a telephony interface to a telephony server configured to provide telephony functionality to a plurality of office users over a plurality of office communication lines; a network interface to a local area network configured to provide data communication; and wherein the server system is configured to automatically provide access for said user communication device (c) to said telephony server in response to said user communication device establishing the first connection to the server system through the Internet, and (d) to said local area network in response to said user communication device establishing the second connection to the server system through the Internet; wherein the server system is configured to automatically invoke a call forwarding operation in response to said user communication device establishing the first connection to the telephony application so that calls intended to reach the user at said office site are forwarded to the server system through the telephony interface, wherein the server system sends said calls to said user communication device through the first connection over the Internet, wherein the server system is further configured to send data communications from said local area network to said user communication device through the second connection while sending said calls to said user communication device through the first connection.
- 99. The server system as recited in claim 98, wherein said telephony interface to a telephony server comprises an interface to a private branch exchange (PBX).
CONTINUATION DATA
[0001] This application claims benefit of priority to U.S. Provisional application Serial No. 60/218,077, filed Jul. 12, 2000.
[0002] This is a continuation-in-part of co-pending U.S. application Ser. No. 08/995,765 titled “System And Method For Providing A Remote User With A Virtual Presence To An Office”, and filed Dec. 22, 1997, whose inventors were Leven E. Staples, W. B. Barker and Kenneth L. Witt, and which is assigned to Data Race, Inc.
[0003] The U.S. application Ser. No. 08/995,765 is a continuation-in-part of U.S. application Ser. No. 08/740,775 (now U.S. Pat. No. 5,889,845) titled “System And Method For Providing A Remote User With A Virtual Presence To An Office”, and filed Nov. 1, 1996, whose inventors were Leven E. Staples, W. B. Barker and Kenneth L. Witt, and which is assigned to Data Race, Inc., which is a continuation of U.S. application Ser. No. 08/559,472 (now U.S. Pat. No. 5,764,639) titled “System And Method For Providing A Remote User With A Virtual Presence To An Office”, and filed Nov. 15, 1995, whose inventors were Leven E. Staples, W. B. Barker and Kenneth L. Witt, and which is assigned to Data Race, Inc.
[0004] The U.S. application Ser. No. 08/995,765 is also a continuation-in-part of copending application Ser. No. 08/708,267 titled “System And Method for Providing User Connectivity to a Remote Data Site on a Communication Line While Maintaining Telephone Connectivity on the Communication Line”, and filed Sep. 6, 1996, whose inventor was W. B. Barker, and which is assigned to Data Race, Inc.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60218077 |
Jul 2000 |
US |
Continuations (1)
|
Number |
Date |
Country |
Parent |
08559472 |
Nov 1995 |
US |
Child |
09905162 |
Jul 2001 |
US |
Continuation in Parts (3)
|
Number |
Date |
Country |
Parent |
08995765 |
Dec 1997 |
US |
Child |
09905162 |
Jul 2001 |
US |
Parent |
08740775 |
Nov 1996 |
US |
Child |
09905162 |
Jul 2001 |
US |
Parent |
08708267 |
Sep 1996 |
US |
Child |
09905162 |
Jul 2001 |
US |