WO2000052885A1 - Co-webbing over a network - Google Patents

Co-webbing over a network Download PDF

Info

Publication number
WO2000052885A1
WO2000052885A1 PCT/SG2000/000028 SG0000028W WO0052885A1 WO 2000052885 A1 WO2000052885 A1 WO 2000052885A1 SG 0000028 W SG0000028 W SG 0000028W WO 0052885 A1 WO0052885 A1 WO 0052885A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
user
transfer
responsive
remote site
Prior art date
Application number
PCT/SG2000/000028
Other languages
French (fr)
Inventor
Kah Haw Andy Gan
Sng Khoon Heng
Shafir Ahmad Hj. Mastan
David Hugh Lewis
Original Assignee
Mediaring.Com Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mediaring.Com Limited filed Critical Mediaring.Com Limited
Priority to AU33412/00A priority Critical patent/AU3341200A/en
Publication of WO2000052885A1 publication Critical patent/WO2000052885A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1822Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing

Definitions

  • the present invention relates generally to an integrated voice and data network, and more
  • Network data transfer rates vary widely from user to user. Therefore, in multiple-user network applications such as co-webbing, joint users are often denied a mutual experience due to these differing data transfer rates. Data transfer rate differences can occur due to a variety of conditions including differing hardware, server connections, or Internet traffic. Differing data transfer rates among users of a multiple-user network application can impair the desired co- webbing experience. For example, if a first user has a faster data transfer rate than other users of the multiple-user application, the first user may be continually viewing different Web pages than the other users of the network. Specifically, differing data transfer rates cause problems when the first user is viewing a Web page that is a frame page having subframes within the frame page. If
  • prioritization may cause additional disparity in the data transfer rates of multiple users of the
  • a system is needed for providing simultaneous display of data to multiple users of a network application, and a system is needed to provide simultaneous display of data over a network in an environment where the type of data to be transferred determines the rate at which the data is transferred.
  • a system, method, and apparatus allow simultaneous display of data retrieved from remote sites to multiple users of a network in an environment where the data transfer rules of users differ due to voice information prioritization, network traffic, hardware differences, or other causes. More specifically, a selection of data for transfer to a first user of a network is received The selection of data
  • a remote address from which to transfer the data.
  • a designation of at least one other user to receive a simultaneous display of the selected data is received. Then, the
  • selection of data is sent to the at least one other user to allow the computer of the at least one
  • voice data is given priority in the transfer of information over the network, thus ensuring the highest quality voice signal possible over the user's connection.
  • present invention synchronizes the transfer of data by determining whether the initial selection of
  • the data is a request for transfer of a frame. Responsive to the selection being for a frame, the
  • the present invention does not send subframe URLs to the at least one other user until receiving a signal from the at least one other user that the initial frame has been received. Thus, by requiring this wait for acknowledgment, the present invention ensures that varying connection speeds will have minimal effect of the simultaneous display of data.
  • Figure la is an illustration of a user interface for an on-screen internet telephony device with a data display area in accordance with the present invention.
  • Figure lb is an illustration of a user interface for co-webbing in accordance with the present invention.
  • FIG. 2 is a block diagram of an integrated voice and data network system and the associated software architecture in accordance with the present invention.
  • Figure 3 is a flow chart illustrating a preferred method of providing simultaneous ⁇ isplay
  • Figure 4 is a flowchart illustrating a preferred method of synchronizing the transfer of
  • the internet telephony device is preferably MediaRing Talk by Mediacom Technologies PTE.
  • the internet telephony device executes on a client or user computer and is coupled over a network, preferably an integrated voice and data network, to a server or a computer system or a network.
  • the user interface 100 comprises three, simultaneously displayed areas: a first area 102, for displaying information such as the phone number or name of the recipient caller and the duration of the call; a second area 104, for displaying the control buttons for operating the internet telephony device, and a third area 106, here labeled "Advertising Window", for displaying Web pages, advertisements, or messages to the user of the internet telephony device.
  • a button 1 10 for initiating a co-webbing session is preferably located in an action toolbar.
  • the organization and placement of the areas in the user interface 100 of Figure 1 is merely illustrative and not limited by the present invention, and variations in the placement, size, and shape of the areas would be readily apparent to those of skill in the art of user interface design.
  • the internet telephony device uses bot ⁇ voice data and non-voice data, such as Web pages without decreasing the quality of the voice application.
  • a co-webbing window 116 is shown.
  • the co-webbing window 116 is preferably launched by selection of the co-webbing button 110 in the main user interface 100.
  • launching the co-webbing window 116 in a first user's computer automatically launches the co-webbing window 116 on the computers of the users to whom the first user is connected. This ensures that the other users will be able to view the Web page selected by the first user.
  • the co-webbing window 116 displays URLs entered by all of the users of the co-webbing session.
  • the co-webbing window 1 16 also provides an entry bar 120 within which a user can enter a URL to be displayed. The user initiates the transfer of data from the remote site specified by the URL by selecting the SEND button 124. The user can also select
  • Web page to be displayed is preferably displayed through activation of a default web browser located on the user's computer.
  • the Web page is displayed in the data display window 106.
  • FIG. 2 there is shown a block diagram of an integrated voice and data network system 200 and the associated software architecture in accordance with the present invention.
  • client computers 202 communicatively coupled by a network 204, such as the internet, to one or more computer servers 206.
  • a network 204 such as the internet
  • the client computer 202 may be used for executing non-voice applications 208, such as web pages, advertisements, software programs, and voice applications 210, such as MediaRing's internet telephony device, MediaTalk.
  • non-voice applications 208 such as web pages, advertisements, software programs, and voice applications 210, such as MediaRing's internet telephony device, MediaTalk.
  • the client computer 202 further comprises a WinSock/Winlnet component 212, a TCP/IP subsystem 214, an intercept layer 218, and a bandwidth management control module 220.
  • the client computer 202 also includes either a network hardware and driver module 224 or a modem and PPP Modem driver 226 or both.
  • the TCP IP subsystem 214 comprises a receiving buffer 216 which is preferably a first in first out (FIFO) buffer.
  • the receiving buffer 216 buffers incoming and outgoing data and de-couples a voice application 210 from the flow of data received over the internet 204.
  • One embodiment of the operation of receiving buffer 216 is described in co-pending application S/N _/ , .
  • the network hardware and driver module 224 provides an Ethernet connection to server 206.
  • PPP driver 226 provides a telephone connection to server 206.
  • server 206 In a preferred embodiment the
  • client computer 202 may be implemented on an Intel-based computer operating under Microsoft
  • the client computer 202 executes a voice
  • the voice application 210 such as an internet telephony device, in memory.
  • the voice application 210 is comprised of a number of executable code portions and data files. These include code for creating and supporting the user interface.
  • the voice application 210 may be provided to the client computer 202 on a computer readable media, such as a CD-ROM, diskette, 8mm tape, or by electronic communication over the network 204 from one of the servers 206 or other distributors of software, for installation and execution thereon.
  • the internet 204 may be :u ⁇ y type of network which delivers data to destinations.
  • the server 206 comprises a TCP IP subsystem 230, a server software 232, a server script
  • the TCP/IP subsystem 230 receives
  • the server software 232 is an application program which is executed on the server 206.
  • the server software 232 is
  • TCP/IP subsystem 230 communicatively coupled to the TCP/IP subsystem 230 to receive requests or data packets over the internet 204 and responds by sending the requested data, such as a web page, to the
  • a request for data starts within client 202 with a voice application
  • non-voice application 208 The application, whether it is a browser like Netscape's Netscape Navigator or a voice-application 210, like MediaRing's MediaTalk, sends a request to the server uniform resource locator (URL). This request, which comprises a data packet, is sent
  • URL uniform resource locator
  • connection to server 206 is an Ethernet connection, or to the Modem and PPP Driver 226, if the connection to server 206 is a telephone connection.
  • the data or data packet is then sent to server 206 via the internet 204 in conventional
  • the data packet is received by the server 206 and forwarded to the server software 232.
  • the server software 232 is an application program which executes on the server computer 206.
  • the server software 232 executes a web-page script 234 which, among other things, directs the server software 232 how to retrieve data from the local storage device 236 and send the data to client 202.
  • the client 202 includes an intercept layer 218 and a bandwidth management control module 220.
  • the intercept layer 218 is coupled to receive data from the server 206 and transmits them to the receiving buffer 216.
  • the intercept layer 218 may be implemented with com ⁇ .ercial products such as the VPCOM SHIM by Ashley Laurent, Inc. of Austin, Texas.
  • the bandwidth management control module 220 is coupled to the intercept
  • the bandwidth management control module 220 may modify the contents and timing of the data being received or sent.
  • the bandwidth management control module 220 can also modify or
  • bandwidth management control module 220 can control the sending of an
  • the bandwidth management module 220 is also communicatively coupled to the voice application 210 allowing the voice application 210 to send a signal to the bandwidth
  • Voice application 210 can also indicate to bandwidth control module 220 the existence and
  • voice application 210 can send a signal to bandwidth
  • the bandwidth management control module 220 responds by decreasing or increasing the window size of the acknowledge packet as needed or by increasing, decreasing, or eliminating the time delay for sending the acknowledge packet to the server 206.
  • the prioritization of the transfer of voice information can have a differing effect on users' data transfer rates, which could impair a co-webbing experience among multiple users of the voice application module 210 in a network 204.
  • Figure 3 is a flow chart illustrating a preferred method of providing simultaneous display of selected data to multiple users of a network 204 in an environment in which the data transfer rates of the users differ.
  • the preferred method is performed by a co-webbing data transfer management module 250 which can be combined with the voice application module 210.
  • co-webbing data transfer management module 250 can be located at each of the clients 202 of the system or may be located in an independent server 206 to which the clients 202 are connected.
  • a first user of the network 204 selects data to be displayed from a remote site, which is then received 300 by the client 202.
  • the user that selects new data for display is arbitrarily
  • slaves are designated as slaves.
  • the master status is maintained as long the user continues to be the only user requesting for data to be transferred from a remote site. However, if another user requests data to be transferred, that user becomes the master and the original master becomes a slave.
  • the data to be displayed is typically a Web page.
  • the selection is transmitted.302 to the at least one
  • the at least one other user does not have a web browser
  • the browser of the at least one other user receives the URL address as if the at least one other user had typed in the URL address directly.
  • the co-webbing window 116 of the at least one other user is also activated upon receipt of the URL from the master.
  • the present invention receives 304 a designation of at least one other user to receive the simultaneous display of data.
  • the present invention provides for co-webbing between as many users as are connected together, providing small or large group webbing experiences. Designation can be accomplished by typing in a user's telephone number, selecting a user's ID from a directory or pull-down list, or other means as is known to those of ordinan/ skill in the art.
  • the designation typically occurs at the beginning of,a communication session, bui additional
  • the present invention then sends 308 the selection of the described data to the at least one other user. Then, the present invention synchronizes 312 the transfer of data between the first
  • the synchronization is preferably performed by a single co-webbing data transfer management module 250; however, the different functions may be executed by separate modules implemented as hardware, software, or firmware, as is known in the art.
  • FIG. 4 illustrates a more detailed embodiment of the present invention in which
  • the client 202 of the master determines 400 whether the selection of data is a request for transfer of a frame.
  • a Web page may be displayed in a separate scrollable window, and if displayed in this format, the Web page is called a frame.
  • Web pages are typically identified as frames in the code describing the web page. If the request is for a frame, the master sends 404 the URL information to the client(s) 202 of the at least one other user. When a subframe URL is received
  • the client 202 of the master does not immediately send the subframe URL in accordance with the present invention. Rather, the client 202 of the master waits 408 for an acknowledgment from the slave(s) before transmitting the subframe URL. More specifically, in one embodiment, the master waits for an acknowledgment from the slave(s) that the slave has completely received the Web frame from the remote site prior to sending the subframe URL to
  • the acknowledgment received from the slave is preferably a data packet containing unique identifier that the present invention recognizes as indicating that a slave has
  • the master recognizes the receipt of a frame
  • the master In a system in which there are multiple slaves, the master must wait until all slaves have
  • the master sends the acknowledgments before sending the subframe URLs. This increases the likelihood that the slaves will be displaying the Web page simultaneously.
  • the master sends
  • maximization of simultaneous viewing is sacrificed to eliminate potential long wait times created by an outlier slave client 202. For example, if the client 202 of one slave
  • the master waits to receive acknowledgments from all slaves, but if one slave does not send an acknowledgment within a predefined time limit, or if a predetermined percentage of slaves have sent acknowledgments, for example, 75%, then the master sends the URLs to those slaves which have sent the acknowledgments.
  • a predefined time limit or if a predetermined percentage of slaves have sent acknowledgments, for example, 75%. This embodiment provides a compromise between simultaneous viewing and reducing the effect of outliers.
  • the master waits for an acknowledgment from the slave(s) that the slave has initiated the transfer of the frame.
  • the initial transfer of frame data identifies that the Web page is a frame, and thus as soon as the slave receives this information the slave is
  • subframe URLs are subframes and not separate Web pages.
  • the master sends.412 the URL information immediately upon receiving the URL.
  • the present invention Upon receiving 414 a second URL from the master, the present invention sends 416 the second
  • simultaneous display of data is achieved through synchronizing the transfer of data between a remote site and multiple users of a network. Even if the users have different connection speeds due to differing hardware, server
  • invention provides for a simultaneous display even in an environment where the data transfer rates are different to multiple users because of the prioritization of voice information over non- voice data such as Web pages.

Abstract

A system, method, and apparatus are provided that allow simultaneous display of data retrieved from remote sites to multiple users of a network. Simultaneous display of data is also provided in a system where both voice and data are communicated through the network, and voice data is given higher priority than non-voice data. A selection of data for transfer to a first user of a network is received specifying a remote address from which to transfer data. A designation of at least one other user to receive a simultaneous display of the selected data is also received. The selection of data is sent to the at least one other user to allow the computer of the at least one other user to initiate the transfer of data from the remote site. The transfer of data between the first user and the at least one other user is synchronized to provide simultaneous display by determining whether the initial selection of data is a request for transfer of a frame. Responsive to the selection being for a frame, the subframe URLs are not transmitted to the at least one other user until receiving a signal from the at least one other user that the initial frame has been received. For a system having multiple users, the subframe URLs are transmitted responsive to a predefined percentage of users transmitting acknowledgments to limit the effect of outliers on the simultaneous display of data.

Description

CO-WEBBING OVER A NETWORK
FIELD OF INVENTION
The present invention relates generally to an integrated voice and data network, and more
particularly, to a method and apparatus for providing simultaneous display of data to multiple users of a network.
BACKCROI ΓNΠ OF THF INVENTION
Network data transfer rates vary widely from user to user. Therefore, in multiple-user network applications such as co-webbing, joint users are often denied a mutual experience due to these differing data transfer rates. Data transfer rate differences can occur due to a variety of conditions including differing hardware, server connections, or Internet traffic. Differing data transfer rates among users of a multiple-user network application can impair the desired co- webbing experience. For example, if a first user has a faster data transfer rate than other users of the multiple-user application, the first user may be continually viewing different Web pages than the other users of the network. Specifically, differing data transfer rates cause problems when the first user is viewing a Web page that is a frame page having subframes within the frame page. If
the other users do not receive the origin,*! frame page from the server prior to receiving the
subframe addresses from the first user, the other users will be incorrectly viewing the subframes as independent Web pages.
In addition, networks that transmit both voice and data information present additional
problems for multiple-user network applications. Voice information is extremely degradation- sensitive, and occupies a greater amount of bandwidth than most typical data transfers. However, when a user requests a data transfer over a network in which the user is also conducting a voice communication, conventional systems do not differentiate between these two types of information transfers. In accordance with co-pending application serial no0r l283 33 j
system and method are disclosed for ensuring that the correct priority is given a data transfer
responsive to its type. However, prioritization of data transfers responsive to their type
complicates the issue of providing simultaneous display of data over a network because
prioritization may cause additional disparity in the data transfer rates of multiple users of the
network. Thus, a system is needed for providing simultaneous display of data to multiple users of a network application, and a system is needed to provide simultaneous display of data over a network in an environment where the type of data to be transferred determines the rate at which the data is transferred.
SUMMARY OF INVENTION In accordance with the present invention, a system, method, and apparatus are provided that allow simultaneous display of data retrieved from remote sites to multiple users of a network in an environment where the data transfer rules of users differ due to voice information prioritization, network traffic, hardware differences, or other causes. More specifically, a selection of data for transfer to a first user of a network is received The selection of data
preferably specifies a remote address from which to transfer the data. Next, a designation of at least one other user to receive a simultaneous display of the selected data is received. Then, the
selection of data is sent to the at least one other user to allow the computer of the at least one
other user to initiate the transfer of data from the remote site. Finally, the transfer of data
between the first user and the at least one other user is synchronized to provide simultaneous display. In one embodiment, voice data is given priority in the transfer of information over the network, thus ensuring the highest quality voice signal possible over the user's connection.
However, simultaneous display of data between the user and the at least one other user of the
network is still preserved in accordance with the present invention. In a further embodiment, the
present invention synchronizes the transfer of data by determining whether the initial selection of
data is a request for transfer of a frame. Responsive to the selection being for a frame, the
present invention does not send subframe URLs to the at least one other user until receiving a signal from the at least one other user that the initial frame has been received. Thus, by requiring this wait for acknowledgment, the present invention ensures that varying connection speeds will have minimal effect of the simultaneous display of data.
BRIEF FSΓ |P-ΠΓ> OF THF. DRAWINGS
Figure la is an illustration of a user interface for an on-screen internet telephony device with a data display area in accordance with the present invention.
Figure lb is an illustration of a user interface for co-webbing in accordance with the present invention.
Figure 2 is a block diagram of an integrated voice and data network system and the associated software architecture in accordance with the present invention.
Figure 3 is a flow chart illustrating a preferred method of providing simultaneous ύisplay
of selected data to multiple users of a network.
Figure 4 is a flowchart illustrating a preferred method of synchronizing the transfer of
dala between users of the network. DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
Referring to Figure la, there is shown an illustration of a user interface 100 of an onscreen internet telephony device with a display screen in accordance with the present invention. The internet telephony device is preferably MediaRing Talk by Mediacom Technologies PTE. The internet telephony device executes on a client or user computer and is coupled over a network, preferably an integrated voice and data network, to a server or a computer system or a network. The user interface 100 comprises three, simultaneously displayed areas: a first area 102, for displaying information such as the phone number or name of the recipient caller and the duration of the call; a second area 104, for displaying the control buttons for operating the internet telephony device, and a third area 106, here labeled "Advertising Window", for displaying Web pages, advertisements, or messages to the user of the internet telephony device. A button 1 10 for initiating a co-webbing session is preferably located in an action toolbar. The organization and placement of the areas in the user interface 100 of Figure 1 is merely illustrative and not limited by the present invention, and variations in the placement, size, and shape of the areas would be readily apparent to those of skill in the art of user interface design. Thus, the internet telephony device uses botα voice data and non-voice data, such as Web pages without decreasing the quality of the voice application.
Referring to Figure lb, a co-webbing window 116 is shown. The co-webbing window 116 is preferably launched by selection of the co-webbing button 110 in the main user interface 100. In a preferred embodiment, launching the co- webbing window 116 in a first user's computer automatically launches the co-webbing window 116 on the computers of the users to whom the first user is connected. This ensures that the other users will be able to view the Web page selected by the first user. The co-webbing window 116 displays URLs entered by all of the users of the co-webbing session. The co-webbing window 1 16 also provides an entry bar 120 within which a user can enter a URL to be displayed. The user initiates the transfer of data from the remote site specified by the URL by selecting the SEND button 124. The user can also select
a URL from the list of URLs displayed. Other methods of selecting a URL site known to those
of ordinary skill in the art are considered to be within the scope of the present invention. The
Web page to be displayed is preferably displayed through activation of a default web browser located on the user's computer. Alternatively, the Web page is displayed in the data display window 106.
Referring now to Figure 2, there is shown a block diagram of an integrated voice and data network system 200 and the associated software architecture in accordance with the present invention. In accordance with such system 200, there is provided at least two client computers 202 communicatively coupled by a network 204, such as the internet, to one or more computer servers 206. Although two client computers 202 are shown, there is no physical limit to the number of client computers 202 that may be connected to the network 204 at one time. The client computer 202 may be used for executing non-voice applications 208, such as web pages, advertisements, software programs, and voice applications 210, such as MediaRing's internet telephony device, MediaTalk. The client computer 202 further comprises a WinSock/Winlnet component 212, a TCP/IP subsystem 214, an intercept layer 218, and a bandwidth management control module 220. The client computer 202 also includes either a network hardware and driver module 224 or a modem and PPP Modem driver 226 or both. The TCP IP subsystem 214 comprises a receiving buffer 216 which is preferably a first in first out (FIFO) buffer. The receiving buffer 216 buffers incoming and outgoing data and de-couples a voice application 210 from the flow of data received over the internet 204. One embodiment of the operation of receiving buffer 216 is described in co-pending application S/N _/ , . The network hardware and driver module 224 provides an Ethernet connection to server 206. The modem and
PPP driver 226 provides a telephone connection to server 206. In a preferred embodiment the
client computer 202 may be implemented on an Intel-based computer operating under Microsoft
Windows 3.1, Windows95, or WindowsNT operating system, or a SPARC-based computer operating under UNIX, or any other equivalent devices.
In accordance with the present invention, the client computer 202 executes a voice
application 210, such as an internet telephony device, in memory. The voice application 210 is comprised of a number of executable code portions and data files. These include code for creating and supporting the user interface. The voice application 210 may be provided to the client computer 202 on a computer readable media, such as a CD-ROM, diskette, 8mm tape, or by electronic communication over the network 204 from one of the servers 206 or other distributors of software, for installation and execution thereon. The internet 204 may be :uιy type of network which delivers data to destinations.
The server 206 comprises a TCP IP subsystem 230, a server software 232, a server script
234, and a local storage device 236 for storing data files. The TCP/IP subsystem 230 receives
and sends data, also called packets, according to the TCP/IP protocol. The server software 232 is an application program which is executed on the server 206. The server software 232 is
communicatively coupled to the TCP/IP subsystem 230 to receive requests or data packets over the internet 204 and responds by sending the requested data, such as a web page, to the
requesting client 202.
A request for data, such as a web page, starts within client 202 with a voice application
210 or non-voice application 208. The application, whether it is a browser like Netscape's Netscape Navigator or a voice-application 210, like MediaRing's MediaTalk, sends a request to the server uniform resource locator (URL). This request, which comprises a data packet, is sent
via the Winsock/Winlnet module 212, and the TCP/IP subsystem 214, where the request is
formatted in conventional manner. The request is then sent to the network hardware and driver
module 224 if the connection to server 206 is an Ethernet connection, or to the Modem and PPP Driver 226, if the connection to server 206 is a telephone connection.
The data or data packet is then sent to server 206 via the internet 204 in conventional
manner. The data packet is received by the server 206 and forwarded to the server software 232. The server software 232 is an application program which executes on the server computer 206. Preferably, the server software 232 executes a web-page script 234 which, among other things, directs the server software 232 how to retrieve data from the local storage device 236 and send the data to client 202.
In the illustrated embodiment, the client 202 includes an intercept layer 218 and a bandwidth management control module 220. The intercept layer 218 is coupled to receive data from the server 206 and transmits them to the receiving buffer 216. The intercept layer 218 may be implemented with comπ.ercial products such as the VPCOM SHIM by Ashley Laurent, Inc. of Austin, Texas. The bandwidth management control module 220 is coupled to the intercept
layer 218 and examines the .contents of the data packets being received by and sent by the client
202. The bandwidth management control module 220 may modify the contents and timing of the data being received or sent. The bandwidth management control module 220 can also modify or
delete the data packets to change the stream of data being sent to or from the client 202.
Additionally, the bandwidth management control module 220 can control the sending of an
acknowledge packet to server 206. The bandwidth management module 220 is also communicatively coupled to the voice application 210 allowing the voice application 210 to send a signal to the bandwidth
management control module 220 indicating the current bandwidth needs of the voice application
210. Voice application 210 can also indicate to bandwidth control module 220 the existence and
speed of a voice connection. Accordingly, voice application 210 can send a signal to bandwidth
management control module 220 indicating that either more or less bandwidth is needed for
voice data for the voice application. The bandwidth management control module 220 responds by decreasing or increasing the window size of the acknowledge packet as needed or by increasing, decreasing, or eliminating the time delay for sending the acknowledge packet to the server 206. Thus, the prioritization of the transfer of voice information can have a differing effect on users' data transfer rates, which could impair a co-webbing experience among multiple users of the voice application module 210 in a network 204.
Figure 3 is a flow chart illustrating a preferred method of providing simultaneous display of selected data to multiple users of a network 204 in an environment in which the data transfer rates of the users differ. The preferred method is performed by a co-webbing data transfer management module 250 which can be combined with the voice application module 210. The
co-webbing data transfer management module 250 can be located at each of the clients 202 of the system or may be located in an independent server 206 to which the clients 202 are connected.
First, a first user of the network 204 selects data to be displayed from a remote site, which is then received 300 by the client 202. The user that selects new data for display is arbitrarily
designated as a master in the multiple-user connection. The users to whom the selection is
transmitted are designated as slaves. The master status is maintained as long the user continues to be the only user requesting for data to be transferred from a remote site. However, if another user requests data to be transferred, that user becomes the master and the original master becomes a slave.
The data to be displayed is typically a Web page. The selection of a Web page to display
can be accomplished in several ways, as described above with respect to Figure lb. After
receiving the selection of data to be displayed, the selection is transmitted.302 to the at least one
other user. In a preferred embodiment, if the at least one other user does not have a web browser
active, the receipt of a URL sent in accordance with the present invention launches the default
browser of the at least one other user. Alternatively, if a browser is open, the browser receives the URL address as if the at least one other user had typed in the URL address directly. As discussed above, the co-webbing window 116 of the at least one other user is also activated upon receipt of the URL from the master.
Next, the present invention receives 304 a designation of at least one other user to receive the simultaneous display of data. The present invention provides for co-webbing between as many users as are connected together, providing small or large group webbing experiences. Designation can be accomplished by typing in a user's telephone number, selecting a user's ID from a directory or pull-down list, or other means as is known to those of ordinan/ skill in the art. The designation typically occurs at the beginning of,a communication session, bui additional
users can be designated at any time.
The present invention then sends 308 the selection of the described data to the at least one other user. Then, the present invention synchronizes 312 the transfer of data between the first
user and the at least one other user. In accordance with the present invention, the synchronization is preferably performed by a single co-webbing data transfer management module 250; however, the different functions may be executed by separate modules implemented as hardware, software, or firmware, as is known in the art.
Figure 4 illustrates a more detailed embodiment of the present invention in which
synchronization is provided. This method applies to systems in which the present invention is
located on a server 206 and in systems in which the present invention is located only on clients
202, and the clients 202 are configured in a master-slave configuration as described above. First,
the client 202 of the master determines 400 whether the selection of data is a request for transfer of a frame. A Web page may be displayed in a separate scrollable window, and if displayed in this format, the Web page is called a frame. Web pages are typically identified as frames in the code describing the web page. If the request is for a frame, the master sends 404 the URL information to the client(s) 202 of the at least one other user. When a subframe URL is received
406 by the master, the client 202 of the master does not immediately send the subframe URL in accordance with the present invention. Rather, the client 202 of the master waits 408 for an acknowledgment from the slave(s) before transmitting the subframe URL. More specifically, in one embodiment, the master waits for an acknowledgment from the slave(s) that the slave has completely received the Web frame from the remote site prior to sending the subframe URL to
the slave. This ensures that the slave will correctly interpret the subframe URLs when it receives
the subframe URLs. The acknowledgment received from the slave is preferably a data packet containing unique identifier that the present invention recognizes as indicating that a slave has
received the frame. In an alternate embodiment, the master recognizes the receipt of a frame, and
then suppresses further transmission of subframe URLs to the slaves. In this embodiment, when a slave receives the master frame URL, it will be able to correctly interpret the subframe URLs
when it receives the subframe URLs from the server 206. In a system in which there are multiple slaves, the master must wait until all slaves have
sent acknowledgments before sending the subframe URLs. This increases the likelihood that the slaves will be displaying the Web page simultaneously. In one embodiment, the master sends
subframe URLs to slaves as soon as an individual slave transmits an acknowledgment. In this
embodiment, maximization of simultaneous viewing is sacrificed to eliminate potential long wait times created by an outlier slave client 202. For example, if the client 202 of one slave
malfunctions, in this embodiment the other slaves will continue to provide the co-webbing
experience. In an alternate embodiment, the master waits to receive acknowledgments from all slaves, but if one slave does not send an acknowledgment within a predefined time limit, or if a predetermined percentage of slaves have sent acknowledgments, for example, 75%, then the master sends the URLs to those slaves which have sent the acknowledgments. This embodiment provides a compromise between simultaneous viewing and reducing the effect of outliers.
In an alternate embodiment, the master waits for an acknowledgment from the slave(s) that the slave has initiated the transfer of the frame. The initial transfer of frame data identifies that the Web page is a frame, and thus as soon as the slave receives this information the slave is
able to recognize subframe URLs as being subframes and not separate Web pages.
If the present invention determines the j;e lection of data is not a request for transfer of a frame, then the master sends.412 the URL information immediately upon receiving the URL.
Upon receiving 414 a second URL from the master, the present invention sends 416 the second
URL without waiting for acknowledgment. In this circumstance, the master sends the new URL
immediately because the new URL is specifying a new Web page to be independently viewed
and to ensure synchronicity, the slaves must immediately begin transferring data from this new remote site. Thus, in accordance with the present invention, simultaneous display of data is achieved through synchronizing the transfer of data between a remote site and multiple users of a network. Even if the users have different connection speeds due to differing hardware, server
connections, or Internet traffic, simultaneous display of data is achieved in accordance with the
present invention. Additionally, the prioritization of the transfer of voice information also may
result in different transfer rates for different users. However, as described above, the present
invention provides for a simultaneous display even in an environment where the data transfer rates are different to multiple users because of the prioritization of voice information over non- voice data such as Web pages.

Claims

CLAIMS 1. A method for transmitting voice and selectable data information to at least two users of a network, comprising:
receiving a selection of data from a first user for transfer to the first user from a remote site;
receiving a designation of at least one other user for receiving a simultaneous display of the selected data;
sending the selection of data from the first user to a computer of the designated at least one other user; and synchronizing the transfer of data from the remote site to the user and the designated at least one other user to provide simultaneous display.
2. The method of claim 1 wherein synchronizing the transfer of data further comprises: determining whether the selection of data is a request for transfer of a frame; and responsive to the request being for a transfer of a frame, waiting for an acknowledgment from the at least one other user's computer before transmitting subframe information to the at least one other user's computer.
3. The method of claim 2 wherein the acknowledgment indicates the at least one other user's computer has initiated transmission of data from the remote site.
4. The method of claim 2 wherein the acknowledgment indicates the at least one other users computer has completed reception of data from the remote site.
. The method of claim 2 further comprising:
responsive to the request being for data other than a frame, sending a next
selection of data to the at least one other user responsive to receiving a next selection of data.
6. The method of claim 2 further comprising:
responsive to receiving an acknowledgment from at least one other user's
computer, determining a percentage of at least one other users' computers from which acknowledgments have been received;
comparing the determined percentage to a predetermined threshold; and responsive to the determined percentage being equal to or exceeding the predetermined threshold, sending subframe information to the at least one users' computers from which acknowledgments have been received.
7. The method of claim 1 in a network in which voice and data are transmitted, synchronizing further comprising:
requesting transfer of data to the first user at a data rate responsive to the voice transmission information being communicated between the first user and the at least one other user.
8. The method of claim 7 wherein requesting the transfer of data further comprises:
determining a voice information bandwidth, wherein the voice information
bandwidth is an amount of bandwidth required to transmit and receive voice information between the first user and the at least one other user; and
requesting a transfer of data at a data rate responsive to the determined voice
information bandwidth.
9. The method of claim 1 further comprising:
receiving an address specifying a remote site from which to transfer data;
determining whether a co-webbing application module is currently active; responsive to a co-webbing application module not being active, launching a co- webbing application module; requesting transfer of data from the specified remote site; displaying the data transferred from the specified remote site.
10. A system for transmitting voice and selectable data information to at least two users of a network, with a data transfer management application, the data transfer management application comprising:
a remote site entry module, for receiving a selection of data from a first user for transfer to the first user from a remote site;
a co-webbing user identification module, for receiving a designation of at least
one other user for receiving a simultaneous display of the selected data; and
a synchronization module, for sending the selection of data from the first user to a
computer of the designated at least one other user and for synchronizing the transfer of data from the remote site to the user and the designated at least one other user to provide simultaneous display.
1 1. The system of claim 10 wherein the synchronizing module determines whether the
selection of data is a request for transfer of a frame, and, responsive to the request being for a
transfer of a frame, and waits for an acknowledgment from the at least one other user's computer
before transmitting subframe information to the at least one other user's computer.
12. The system of claim 11 wherein the acknowledgment indicates the at least one other user's computer has initiated transmission of data from the remote site.
13. The system of claim 11 wherein the acknowledgment indicates the at least one other user's computer has completed reception of data from the remote site.
14. The system of claim 11 wherein the synchronizing module, responsive to the request being for data other than a frame, sends a next selection of data to the at least one other user responsive to receiving a next selection of data.
15. The system of claim 11 wherein the synchronizing module, responsive to receiving an
acknowledgment from at least one other user's computer, determines a percentage of at least one other users' computers from which acknowledgments have been received, compares the determined percentage to a predetermined threshold, and, responsive to the determined
percentage being equal to or exceeding the predetermined threshold, sends subframe information
to the at least one users' computers from which acknowledgments have been received.
16. The system of claim 10 in a network in which voice and data are transmitted, and the synchronizing module requests transfer of data to the first user at a data rate responsive to the
voice transmission information being commumcated between the first user and the at least one other user.
17. The system of claim 16 wherein the synchronizing module requests the transfer of data by
determining a voice information bandwidth, wherein the voice information bandwidth is an
amount of bandwidth required to transmit and receive voice information between the first user and the at least one other user, and requests a transfer of data at a data rate responsive to the determined voice information bandwidth.
18. The system of claim 10 wherein the synchronization module receives an address specifying a remote site from which to transfer data, determines whether a co-webbing application module is currently active, responsive to a co-webbing application module not being active, launches a web page viewing application module, requests transfer of data from the specified remote site, and displays the data transferred data from the remote site.
19. A computer readable medium for use in a integrated voice and data network in which voice and selectable data information are transmitted to at least two users of a network, the
computer readable medium containing instructions for causing a processor to: receive a selection of data from a first user for transfer to the first user from a
remote site; receive a designation of at least one other user for receiving a simultaneous
display of the selected data; send the selection of data from the first user to a computer of the designated at least one other user; and
synchronize the transfer of data from the remote site to the user and the designated at least one other user to provide simultaneous display.
20. The computer readable medium of claim 19 having instructions which further cause the processor to determine whether the selection of data is a request for transfer of a frame, and,
responsive to the request being for a transfer of a frame, and wait for an acknowledgment from the at least one other user's computer before transmitting subframe information to the at least one other user's computer.
21. The computer readable medium of claim 20 wherein the acknowledgment indicates the at least one other user's computer has initiated transmission of data from the remote site.
22. The computer readable medium of claim 20 wherein the acknowledgment indicates the at least one other user's computer has completed reception of data from the remote site.
23. The computer readable medium of claim 20 having instructions which further cause the processor to, responsive to the request being for data other than a frame, send a next selection of data to the at least one other user responsive to receiving a next selection of data.
24. The computer readable medium of claim 20 having instructions which further cause the
processor to, responsive to receiving an acknowledgment from at least one other user's computer,
determine a percentage of at least one other users' computers from which acknowledgments have
been received, compare the determined percentage to a predetermined threshold, and, responsive to the determined percentage being equal to or exceeding the predetermined threshold, send
subframe information to the at least one users' computers from which acknowledgments have been received.
25. The computer readable medium of claim 19 having instructions which further cause the
processor to, in a network in which voice and data are transmitted, request transfer of data to the
first user at a data rate responsive to the voice transmission information being communicated between the first user and the at least one other user.
26. The computer readable medium of claim 25 having instructions which further cause the processor to request the transfer of data by determining a voice information bandwidth, wherein the voice information bandwidth is am amount of bandwidth required to transmit and receive voice information between the first user and the at least one other user, and request a transfer of data at a data rate responsive to the determined voice information bandwidth.
27. The computer readable medium of claim 19 having instructions which further cause the processor to receive an address specifying a remote site from which to transfer data, determine whether a web page viewing application module is currently active, responsive to a web page viewing application module not being active, launch a web page viewing application module, request transfer of data from the specified remote site, and display the data transferred from the remote site.
PCT/SG2000/000028 1999-03-03 2000-02-18 Co-webbing over a network WO2000052885A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU33412/00A AU3341200A (en) 1999-03-03 2000-02-18 Co-webbing over a network

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US12251299P 1999-03-03 1999-03-03
US60/122,512 1999-03-03
US39856799A 1999-09-16 1999-09-16
US09/398,567 1999-09-16

Publications (1)

Publication Number Publication Date
WO2000052885A1 true WO2000052885A1 (en) 2000-09-08

Family

ID=26820605

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SG2000/000028 WO2000052885A1 (en) 1999-03-03 2000-02-18 Co-webbing over a network

Country Status (2)

Country Link
AU (1) AU3341200A (en)
WO (1) WO2000052885A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0808048A2 (en) * 1996-05-15 1997-11-19 AT&T Corp. Multimedia information service access
WO1998013995A1 (en) * 1996-09-25 1998-04-02 British Telecommunications Public Limited Company Network-based conference system
WO1998059461A2 (en) * 1997-06-23 1998-12-30 Telefonaktiebolaget Lm Ericsson (Publ) Method and device in data network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0808048A2 (en) * 1996-05-15 1997-11-19 AT&T Corp. Multimedia information service access
WO1998013995A1 (en) * 1996-09-25 1998-04-02 British Telecommunications Public Limited Company Network-based conference system
WO1998059461A2 (en) * 1997-06-23 1998-12-30 Telefonaktiebolaget Lm Ericsson (Publ) Method and device in data network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CLARK R J ET AL: "Providing scalable Web services using multicast communication", COMPUTER NETWORKS AND ISDN SYSTEMS,NL,NORTH HOLLAND PUBLISHING. AMSTERDAM, vol. 29, no. 7, 1 August 1997 (1997-08-01), pages 841 - 858, XP004096541, ISSN: 0169-7552 *

Also Published As

Publication number Publication date
AU3341200A (en) 2000-09-21

Similar Documents

Publication Publication Date Title
US6600737B1 (en) Bandwidth protection for voice over IP
US5167035A (en) Transferring messages between nodes in a network
US4949248A (en) System for shared remote access of multiple application programs executing in one or more computers
CN101924771B (en) Core-level TCP adhering junction method for accelerating application proxy
US5938731A (en) Exchanging synchronous data link control (SDLC) frames to adjust speed of data transfer between a client and server
JP2001511561A (en) Synchronous display of network contents
Socolofsky et al. RFC1180: TCP/IP tutorial
WO2000052885A1 (en) Co-webbing over a network
Cisco Virtual Templates for Protocol Translation
Cisco Virtual Templates for Protocol Translation
Cisco Virtual Templates for Protocol Translation
Cisco Virtual Templates for Protocol Translation
Cisco Virtual Templates for Protocol Translation
Cisco Virtual Templates for Protocol Translation
Cisco Terminal Server User Commands
Cisco Terminal Server User Commands
Cisco Terminal Server User Commands
Cisco Protocol Translator User Commands
Cisco Protocol Translator User Commands
Cisco Protocol Translator User Commands
Cisco Terminal Server User Commands
Cisco Terminal Server User Commands
Cisco Terminal Server User Commands
Cisco Terminal Server User Commands
Cisco Connection Commands

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase