SYSTEM AND METHOD FOR EFFICIENT INFORMATION TRANSFER

Abstract: A computer network connects information providers and end-users of network services, facilitates direct information to users, and gathers user responses. The computer network is designed to use otherwise idle bandwidth of the network transmission medium to transfer targeted commercial and non-commercial information to users while minimizing the delay of normal network traffic. User reports containing demographics and user responses are generated ensuring user privacy. Information providers can access user reports without violating user anonymity.

Description: Description SYSTEM AND METHOD FOR EFFICIENT INFORMATION TRANSFER Background ofthe Invention The present invention relates generally to computer networks that connect information providers and end-users of network services. More particularly, the present invention relates to a system for providing targeted information to users efficiently. A user often connects to a network service to view or download information from a wide array of resources. Network services include various networks, e.g., Internet, or other online services, e.g., America Online, CompuServe, DIALOG, GEnie, and PRODIGY. When a user selects desired information from such a service, the service transmits the selected information to the user over a network transmission medium in packets. The transmission capacity of a network is measured in bandwidth and information packets are transmitted over available bandwidth using TCP/IP (Transmission Control Protocol / Internet Protocol). Currently, network service users have exclusive control over selecting information for viewing or downloading. This type of system, however, has many disadvantages. First, the network service user greatly underutilizes the available bandwidth. For example, no use is made of free space between information packets transmitted over an active transmission medium. Additionally, the entire bandwidth of an idle link is wasted when the user does not request information transfer. In addition to the sigmficant underutilization ofthe bandwidth, one-sided control of information transfer by the user is undesirable from the perspective of both users and information providers, such as commercial or non-commercial entities that furnish information to users through network services. The Internet offers a vast amount of information and continues to expand with tremendous speed, making it extremely difficult for any one user to maintain a comprehensive knowledge of all available information and resources and keep current with the changes and additions to the Internet resources. Most often, a user accesses only a small portion ofthe available information and a user's breadth of access depends significantly on the user's current SUSST1TUTE SHEET knowledge ofthe available resources. Therefore, the user receives only a part ofthe benefit the Internet can provide. One-sided user control further restricts information providers from offering better services. Currently, information providers cannot furnish information directly to a specific group of users. Only users who know of and make effort to access specific information receive that information. Moreover, infoπnation providers only transmit infoπnation to specific users by e-mail (electronic mail). Mass e-mail, however, is not specifically targeted to a particular audience, and many users find mass e-mail iπelevant or uninteresting and quickly discard it as "junk mail." Additionally, information providers often cannot gather information about the users' access to its products, such as what content they view, when they view it, how often they view it, and how long they view it. Information providers also may not know its number of users or their demographics. For example, although it is possible to record how many times an Internet site has been accessed, that record does not demonstrate whether the user actually views the information. Good statistical information data can help information providers assess user interests, and thereby improve and better tailor the information to user interest. Therefore, it is desirable to maximize the use of network bandwidth by delivering information targeted specifically to a user's interests and hobbies during times when the network is not otherwise engaged. For example, it is desirable to transmit information to users during idle times. It is also desirable to transmit targeted information to the user by utilizing otherwise idle bandwidth and thus cause little or no additional delay to normal network traffic. In addition, it is desirable to gather information about the users without invading user privacy. It is further desirable to generate a report of user responses for information providers with accurate assessment of user demand to create a more attractive and dynamic network service environment. SUBSTITUTE SHEET Summary ofthe Invention Accordingly, the present invention is directed to a computer network that substantially obviates one or more ofthe problems due to limitations and disadvantages of the related art. In accordance with the purpose ofthe present invention, as embodied and broadly described, the invention provides a computer network for connecting information providers and users for transferring target information to the users comprising a user node, a master database, a master node, and a master program. The user node includes means for sending a node ID corresponding to the user node, means for controlling the transfer ofthe target information in the background while transferring non-target information to the user node without additional communication delay, and means for receiving the target information. The master database contains profile information and corresponding target information reference. The master node, coupled to the user node, includes means for transferring the target information reference to the user node. The master program, coupled to the master node and the master database, includes means for receiving the node ID from the user node, means for accessing from the master database profile information corresponding to the node ID, and means for transmitting the target information reference corresponding to the accessed profile information to the user node. According to another aspect of the present invention, a method for connecting information providers and users comprises several steps. A user node sends to a master program a node ID corresponding to the user node. The master program accesses profile information corresponding to the node ID, and transmits a target information reference corresponding to the accessed profile information to the user node. The user node controls the transfer ofthe target information in the background while transferring non-target information to the user node without additional communication delay, and receives the target information. Brief Description ofthe Drawings The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate the invention and together with the description, serve to explain the principles ofthe invention. SUBSTITUTE SHEET In the drawings, Fig. 1 is a block diagram of a preferred embodiment ofthe computer network according to the present invention; Fig. 2 is a functional representation ofthe computer network shown in Fig. 1; Fig. 3 is a flowchart of a user registration process according to a preferred implementation of this invention; Fig. 4 is a diagram illustrating several lists in the master database shown in Fig. l; Figs. 5 A and 5B are flowcharts of the overall process of a computer network of Fig. 1; Fig. 6 is a schematic diagram of a network traffic monitor according to one embodiment ofthe present invention; Fig. 7 is a flowchart illustrating the process ofthe network traffic momtor of Fig. 6; Fig. 8 is a schematic diagram of a special FTP service software according to another embodiment ofthe present invention; and Fig. 9 is a flowchart illustrating the process of controlling network traffic according to yet another embodiment ofthe present invention. DESCRIPTION OF THE PREFERRED EMBODIMENT Fig. 1 shows a computer network 100 according to the present invention. Various hardware and software components of computer network 100 are connected by transmission medium 110. A user node 120 is typically a personal computer, and Client 122 is a program resident on user node 120 to control network information transfer. A master node 130 is preferably a server which has a special FTP (File Transfer Protocol) service 132 that transfers information to the user in conjunction with Client 122. Preferably, service 132 includes FTP software that provides the necessary mechanism to minimize interference with network traffic. Special FTP service 132 also accesses information base 133 containing referenced information items. Master program 140 is a large server preferably built on a Sybase SQL-Server platform 142, but one of ordinary skill can easily substitute the Sybase SQL-Server with SUBSTITUTE SHEET other similar database technology. Sybase SQL-Server platform 142 accesses a master database 143, which contains user information including user profile information and target information references. A client control program 144 interacts with Client 122 on user node 120. An authentication program 146 monitors network access, and a web server 148 provides a home page for user node registration, information, and maintenance. Information providers 160, containing an authentication program 162 to monitor network access, may include a wide array of commercial and non-commercial entities desiring to furnish information on the network. Fig. 2 is a functional representation ofthe computer network 100 shown in Fig. 1. For convenience, Internet will be used as an exemplary network service. The first step in using network 100 is the user node registration process, which will be explained with reference to Fig. 3. To start a network session, a user at user node 120 connects to the Internet 200 of Fig. 2 (step 302). While "surfing" on the Internet 200, the user may select the home page of master program 140 (step 304). If user node 120 is not registered, the user may select to download Client 122 (step 306). The user can then initiate Client 122 (step 308) and complete the registration form on screen by providing user profile information, such as age, gender, educational level, work status, items of interests, and hobbies (step 310). User profile information may be updated at any time during or after the registration process. Additionally, updates of Client 122 may also be downloaded at any time while preserving the registered user profile information. User node 120 transmits the completed form to master program 140, which stores it in master database 143 (step 312). Once master program 140 receives the completed form from user node 120, program 140 transmits a unique node ID to user node 120 (step 314). This completes the user node registration process. On subsequent user connections, master program 140 uses the registered user profile information corresponding to the node ID of user node 120 regardless ofthe identity ofthe particular user at user node 120. Additionally, after Client 122 has been downloaded and is active on user node 120, authentication program 146 is not executed on subsequent user access to network 100. SUBSTITUTE SHEET Fig. 4 shows two lists, i.e., user node list 410 and information item list 430. Node IDs corresponding to registered user node 120 are compiled in user node list 410. Use of node IDs ensures user privacy and anonymity because the node IDs do not reveal the identity or profile of a particular user at user node 120. Each segment of user node list 410, preferably containing a single node ID, points to a particular segment of information item list 430 that contains pointers or addresses to the relevant target information to be sent to user node 120. Fig. 5 A contains a flowchart showing the process of transmitting target information to user node 120 using otherwise idle bandwidth. When a user at user node 120 connects to web server 148 of master program 140 (step 502), Client 122 notifies master program 140 ofthe node ID (step 506). If master program 140 receives a node ID from a registered user node 120 (step 508), master program 140 accesses user node list 410 to identify the corresponding segment of information item list 430 (hereinafter referred as "reference") stored in master database 143 (step 510). Upon request from Client 122, master program 140 transmits the reference to Client 122 of user node 120 (step 512). This enables Client 122 to begin requesting target information stored in information base 133 corresponding to the reference (step 514). During the user's session on computer network 100, either master node 130 or Client 122 automatically transfers the referenced target information in the background to user node 120, causing little or no delay to network traffic (step 516). The target information is transmitted in packets over a transmission medium until all packets are transferred (step 518). To transfer target information causing little or no additional communication delay of non-target information between master node 130 and user node 120, Client 122 causes master node 130 to send target information packets on an active link when non- target information packets are not being sent. If a link is completely idle, for example, when the user is not requesting any information, Client 122 causes master node 130 to send target information packets over the idle link. Figs. 6 and 7 show a schematic diagram and flowchart, respectively, of a circuit used to eliminate communication delay of non-target information according to one embodiment of special FTP service 132 ofthe present invention. Network traffic SUBSTITUTE SHEET monitor 600 resident on master node 130 includes a shift register 610, a delay circuit 620, a detector 630, and a flow control 640. Network traffic monitor 600 monitors the network traffic on the transmission medium between user node 120 and master node 130. First, non-target information packet is input to network traffic monitor 600 (step 702). Each bit of shift register 610 is then compared to a parallel bit of detector 630 to detect an identification bit-pattern, i.e., header or a trailer, of non-target information packets (step 704). If a trailer of an information packet is detected (step 710), a delayed start signal is sent by delay circuit 620 to flow control 640 (step 712) to open the gate for transfer of target information packets (step 716). The delayed start signal ensures that all non-target information has been transferred before initiating target information transfer. On the other hand, if a header is detected (step 716), a stop signal is immediately sent to flow control 640 (step 718) to close the gate to inhibit the transfer of target information packets (step 720). Delay circuit 620 actually sends the stop signal before the detected non-target information packet to assure that mcoming non- target information does not collide with incoming target information packets. Fig. 8 shows a schematic diagram of special FTP service software 132 for minimizing communication delay of non-target information according to another embodiment of special FTP service 132. In this embodiment, master node 130 regulates the transfer of target information packets depending on the amount of network traffic on the transmission medium. As previously explained, Client 122 on user node 120 begins to request transfer of target information from master node 130 (step 802). Upon receiving the request for target information, master node 130 sends a packet of target information to Client 122 (step 804). Client 122 receives the target information packet and returns an acknowledgment of receipt to master node 130 for each packet received (step 806). Steps 804 and 806 repeat until a complete unit of target information is transfeπed to a temporary file at user node 120. Master node 130 estimates the level of non-target information traffic by measuring the length of time between transmittal of a target information packet and SUBSTITUTE SHEET receipt of acknowledgment from Client 122. If there is little network traffic, an acknowledgment is returned quickly. The higher the level of network traffic, the longer it takes to receive an acknowledgment. The master node 130 adjusts the amount of target information packets transmitted in accordance with the amount of time it takes to receive Client 122 acknowledgments. When the amount of time to receive acknowledgments reaches a predetermined maximum, however, master node 130 reduces the number of target infoπnation packets transfeπed. Therefore, transfer of target information packets has a minimal effect on non-target information traffic. In ordinary TCP/IP, a maximum amount of data is transmitted and long trains of IP packets are queued on the receiving side. However, the present embodiment sends only a limited amount of target data to avoid interfering with the transfer of non-target information. Hence, the user does not notice any significant increase in transmission times for ordinary Internet traffic. The process demonstrated in Fig. 8 may be modified to pace the transfer of target infoπnation packets dynamically by time-stamping the acknowledgments. This relieves master node 130 from waiting for actual acknowledgments of each packet. Additionally, the process may also be modified to adjust the size ofthe send- window dynamically (number of bytes/packets sent before receiving acknowledgment). Master node 130 may adjust the send- window size according to estimates made by tracing the amount of time it takes to receive acknowledgment. For example, user node 120 with a 28.8 kbps modem can tolerate a much higher transfer rate than one with a 12.4 kbps modem. Hence, the send- window can be adjusted accordingly. Fig. 9 shows another process consistent with the present invention, where Client 122 controls the transfer of target information to user node 120. Similar to previous embodiments, Client 122 on user node 120 requests transfer of target infoπnation from master node 130 (step 900). In response, master node 130 locates the reference corresponding to the segment of user node list 410 corresponding to the node ID. Once master node 130 locates the reference containing target information pointers, node 130 sends the reference to Client 122 (step 905). Client 122 receives the reference from master node 130, and regulates the transfer of target information according to the target information pointers. Initially, SUBSTITUTE SHEET Client 122 sets a predetermined value of a minimum round-trip delay (MRD), the minimal amount of time necessary between the request and receipt of network information (step 910). One may set the MRD of a target information packet, for example, to 200 milliseconds. In the preferred embodiment, MRD should be set slightly lower than the actual estimated MRD. This increases the possibility that target information transfer will not interfere with non-target infoπnation traffic. Once the initial MRD is set, Client 122 begins to fetch the target information from information base 133 corresponding to the target information pointers (step 915). Client 122 preferably fetches the target information one packet at a time. Throughout the process, Client 122 preferably measures the actual round-trip delay (ARD) of each packet of target information and compares that to the MRD (step 920). Client 122 adjusts the transfer rate ofthe target information based on the ratio of ARD to MRD (ARD/MRD) (step 925). If the ARD/MRD ratio is 1-1, for example, Client 122 may wait a preset time period, i.e. , 2 seconds, before fetching the next packet of target information. As the ARD/MRD ratio increases, however, the wait time before fetching another target information packet should increase accordingly. If, for example, ARD is 300 milliseconds while MRD is 200 milliseconds, then Client may wait 3 seconds before the next fetch. A low ARD/MRD implies little or no non-target information network traffic, thus allowing transfer of target information packets using otherwise underutilized bandwidth. A high ARD/MRD ratio, on the other hand, implies a high level of non- target information network traffic, so Client 122 decreases the transmission rate ofthe target information packets accordingly. One of ordinary skill may vary the relationship between the ratio and the corresponding wait time, for example, linearly or exponentially. By adjusting the wait time dynamically based on the ARD/MRD ratio, Client 122 ensures that the transfer of target information will cause no additional delay to non-target network traffic. The ratios and wait times described here are exemplary only, and one skilled in the art may easily modify various settings including the frequency of ARD/MRD ratio comparison, the initial MRD, and the corresponding wait time. SUBSTITUTE SHEET Referring to Fig. 5B, once the transfer of target information is complete, Client 122 notifies the user that the target information is ready for display by presenting a floating icon on the user's screen (step 520). Display of target information may be initiated by the user clicking the floating icon (step 522). Before displaying the target information, however, Client 122 preferably removes the user's window control and disables normal keyboard and mouse input at user node 120, thus ensuring that the user views the displayed information without interruption (step 526). Once Client 122 detects that the floating icon has been selected, Client 122 opens a new browser window, for example, a SpyGlass API compatible browser or a standard browser. The window is maximized to fill the whole display screen, and the user is presented with a display ofthe target information for a predetermined display time period (step 528). As mentioned above, during this predetermined period, the user has no control of input devices such as keyboard or mouse. Client 122 sets the display timer to determine the display period ofthe target information. When the display timer expires (step 530), however, a user may click the mouse button to acknowledge that the user has finished viewing the message (step 532). The click ofthe mouse releases the lock and enables user control of input devices. Additionally, Client 122 displays a menu of functions in the target information display. These functions, such as DONE, MORE, SAVE, GET, and EXIT, may be represented by icons. The DONE icon notifies Client 122 that the user has finished viewing the displayed information. The MORE icon enables the user to access more information about the displayed item. Activation of this icon will connect the user to a predetermined web page ofthe particular information provider ofthe displayed target information. The SAVE icon saves the displayed target information on user node 120 for later retrieval or viewing. The GET icon allows the user to retrieve a previously saved target information, and EXIT icon closes the target information display and returns to the previous display. When a user selects one ofthe functions, Client 122 notifies master node 130 (step 534) and deletes the target information from the temporary file at user node 120 (step 536). Client 122 also compiles and generates a user report containing display statistics, such as target information displayed, time and date of display, duration of SUBSTITUTE SHEET display, optional request using the MORE icon, and accounting information (step 538). Client 122 eventually transmits the user report to master program 140 (step 540), and master program 140 updates master database 143 with the user report (step 542). Client 122 obtains another reference to new target information in accordance with the updated information (step 544). The process discussed above of transferring and displaying target information continues until the conclusion ofthe user's session on computer network 100 (step 546). In the meantime, information providers 160 may access master program 140 for accurate and up-to-date user responses detailing display statistics. During the user's session on network 100, client control program 144 periodically sends a message to Client 122 in the background to command Client 122 to continue operating. If Client 122 does not receive the message within a predetermined time period, e.g., user has disconnected from network 100 or abnormal termination occurred due to power failure, Client 122 cleans out the temporary file area of user node 120 and terminates its operation. Thus, Client 122 does not unnecessarily occupy temporary file area of user node 120 when the user is not connected to network 100. CONCLUSION This invention uses otherwise idle bandwidth by transmitting information specific to a user's profile while minimizing additional delay to the normal network traffic, and generates a report of user responses for information providers with accurate assessment of user demand. It does so by providing a new media channel, to assemble, distribute, and present information while it collects user responses. The present invention is useful to non-commercial entities that desire to disseminate information to a target audience, for example, during an election campaign. Moreover, commercial advertisers can now obtain accurate user responses in order to strategically market their products and services. This invention also provides a forum for commercial information providers to subsidize user's online service costs in exchange for a user periodically viewing the target information during the user's session on the network. It will be apparent to those skilled in the art that various modifications and variations can be made in the computer network ofthe present invention and in SUBSTITUTE SHEET construction of this computer network without departing from the scope or spirit ofthe invention. Other embodiments ofthe invention will be apparent to those skilled in the art from consideration ofthe specification and practice ofthe invention disclosed herein. It is intended that the specification and examples be considered as exemplary only, with the true scope and spirit ofthe invention indicated by the following claims. SUBSTITUTE SHEET

Claims: Claims 1. A computer network for connecting information providers and users, comprising: a user node including means for sending a node ID corresponding to the user node, means for receiving a target information reference, means for fetching target information using the target information reference, and means for controlling the transfer ofthe target information in a background state while receiving non-target information to the user node without additional communication delay; a master database containing profile information and corresponding target information reference; a master node, coupled to the user node, and including means for transferring the target infoπnation to the user node; and a master program, coupled to the master node and the master database, and including means for receiving the node ID from the user node, means for accessing from the master database profile information conesponding to the node ID, and means for transmitting the target information reference corresponding to the accessed profile information to the user node. 2. The computer network of claim 1, wherein the controlling means includes means for measuring round-trip delay time for delivering the target information. 3. The computer network of claim 2, wherein the controlling means further includes means for computing a ratio between the round-trip delay time and a predetermined minimum round-trip delay time for delivering the target information, and SUBSTITUTE SHEET means for adjusting a transmission rate ofthe target information based on the computed ratio. 4. The computer network of claim 1 , wherein the controlling means further includes means for requesting the target information conesponding to the target information reference. 5. The computer network of claim 1 , wherein the controlling means includes means for fetching the target information during times when non-target information is not being sent. 6. The computer network of claim 1 , wherein the user node further includes means for displaying the target information. 7. The computer network of claim 6, wherein the displaying means includes means for monitoring a predetermined display period ofthe target infoπnation. 8. The computer network of claim 6, wherein the displaying means includes means for disabling user control ofthe display during the display ofthe target information. 9. The computer network of claim 6, wherein the displaying means includes means for enabling user control ofthe display after expiration of a predetermined display period. 10. A network traffic controller for controlling the transfer of target information without causing additional communication delay to non-target information traffic between a user node and a master node, comprising: means for measuring round-trip delay time for delivering the target information; means for computing a ratio between the round-trip delay time and a predetermined minimum round-trip delay time; and means for adjusting a transmission rate ofthe target information based on the computed ratio. 11. The network traffic controller of claim 10, wherein the adjusting means includes means for transferring no packets of at target information, and SUBSTITUTE SHEET means for adjusting the transmission rate after transferring each packet ofthe target information. 12. The network traffic controller of claim 10, further including means for receiving a target infoπnation reference, and means for requesting the target information corresponding to the target information reference. 13. The network traffic controller of claim 10, further including means for fetching the target information during times when non-target information is not being sent. 14. A master program, coupled to a master node and a master database, for connecting an information provider and a user node of a computer network, comprising: means for registering the user node at the master node; means for receiving, through the master node, a node ID from the user node; means for accessing a master database for profile information corresponding to the node ID; and means for transmitting to the user node, through the master node, a target information reference conesponding to the accessed profile information, wherein the target information reference is a pointer to target information to be delivered to the user node while transferring non-target information without additional communication delay. 15. A user node for connecting information providers and users of a computer network having a master node, a master database, and a master program, the user node comprising: means for sending to the master node a node ID corresponding to the user node; means for controlling the transfer of target information in the background while transferring non-target information without additional communication delay between the master node and the user node; and SUBSTITUTE SHEET means for receiving from the master node the target information conesponding to the target information reference. 16. The user node of claim 15, wherein the controlling means includes means for measuring round-trip delay time for delivering the target information. 17. The user node of claim 16, wherein the controlling means further includes means for computing a ratio between the round-trip delay time and a predetermined minimum round-trip delay time for delivering the target information, and means for adjusting a transmission rate ofthe target information based on the computed ratio. 18. A computer network for connecting information providers and users for transferring target information to the users, comprising: a user node including means for sending a user ID conesponding to a cunent user ofthe user node, and means for receiving the target information; a master database containing user information, including user profile information and target information reference; a master node, coupled to the user node, and including means for receiving the user ID, means for monitoring the traffic between the user node and the master node, means for transferring target information to the user node minimizing additional communication delay between the master node and the user node; and a master program, coupled to the master node and the master database, and including means for receiving the user ID from the master node, means for accessing from the master database user profile information conesponding to the user ID, and SUBSTITUTE SHEET means for transmitting to the user node, through the master node, the target information reference conesponding to the accessed user profile. 19. The computer network of claim 18, wherein the means for receiving the target information further includes means for receiving the target information reference for the cunent user, and means for requesting the target information using the target information reference. 20. The computer network of claim 18, wherein the transferring means includes means for sending target information during times when non-target information packets are not being sent. 21. The computer network of claim 20, wherein the sending means includes a shift register to receive each bit of non-target information packets, a detector to detect an identification bit pattern of non-target information packets in the shift register, a flow controller to control transfer of target information packets by opening and closing a gate in response to the detected identification bit pattern, and means for delaying a start signal initiating transfer of target information packets in response to a detected trailer bit until transfer of non-target information packet is complete. 22. The computer network of claim 20, wherein the sending means includes means for monitoring length of time necessary for transfer of each target information packet, and means for adjusting the rate of target information transfer in response to the monitored transfer time. 23. The computer network of claim 22, wherein the monitoring means includes means for estimating amount of network traffic by measuring length of time between transmittal of target information packet by the master node and a message of receipt by the user node. SUBSTITUTE SHEET lo 24. The computer network of claim 22, wherein the monitoring means includes means for recording when each target information packet is transmitted by the master node, means for receiving acknowledgment of receipt from the user node, and means for estimating amount of network traffic by determining length of time between the transmittal and the receipt. 25. A network traffic monitor for transferring target information packets minimizing additional communication delay between a user node and a master node comprising: a shift register to store each bit of non-target information packets; a detector to detect an identification bit pattern of non-target information packets in the shift register; a flow controller to control transfer gate in response to the detected identification bit pattern; and means for delaying a start signal initiating transfer of target information packets in response to a detected identification bit pattern until transfer of non-target information packet is complete. 26. A network traffic controller for fransfening target information packets while minimizing additional communication delay between a user node and a master node comprising: means for monitoring length of time necessary for transfer of each target information packet; and means for adjusting the rate of target information transfer in response to the monitored transfer time. 27. The network traffic controller of claim 26, wherein the monitoring means includes means for estimating amount of network traffic by measuring length of time between transmittal of target information packet by the master node and receipt by the user node. 28. The network traffic controller of claim 26, wherein the monitoring means includes SUBSTITUTE SHEET means for recording when each target information packet is transmitted by the master node, means for receiving acknowledgment of receipt from the user node, and means for estimating amount of network traffic by determining length of time between the transmittal and the acknowledgment of receipt. 29. A master program, coupled to a master node and a master database, for connecting information providers and user nodes of a computer network comprising: means for receiving, through the master node, a user ID conesponding to a cunent user ofthe user node; means for accessing user profile information conesponding to the user ID; and means for transmitting to the user node, through the master node, a target information reference conesponding to the accessed user profile, wherein the target information reference is a pointer to the target information to be delivered to the user node while transferring non-target information minimizing additional communication delay. 30. A user node for connecting information providers and users coupled with a master node, a master database, and a master program, the user node comprising: means for sending a user ID conesponding to a cunent user ofthe user node; means for requesting a transfer of target information from the master node; and means for receiving the requested target information from the master node minimizing additional communication delay between the master node and the user node. 31. A method of connecting information providers and users, comprising the steps of: SUBSTITUTE SHEET O 97/39548 PCT/NO97/00096 20 sending from a user node to a master program a node ID conesponding to the user node; accessing, by the master program, profile information conesponding to the node ID; transmitting, by the master program, a target information reference conesponding to the accessed profile infoπnation to the user node; fetching, by the user node, target information using the target information reference; controlling, by the user node, the transfer ofthe target information in a background state while receiving non-target information to the user node without additional communication delay; and receiving, by the user node, the target information. 32. The method of claim 31 , wherein the controlling step includes the step of measuring round-trip delay time for delivering the target information. 33. The method of claim 32, wherein the controlling step further includes the steps of computing a ratio between the round-trip delay time and a predetermined minimum round-trip delay time for delivering the target information, and adjusting a transmission rate ofthe target information based on the computed ratio. 34. The method of claim 31 , wherein the controlling step includes the step of requesting the target infoπnation conesponding to the target information reference. 35. The method of claim 31 , wherein the controlling step includes the step of fetching the target information during times when non-target information is not being sent. 36. The method of claim 31 , further including the step of displaying the transfened target information. 37. The method of claim 36, wherein the displaying step further includes the steps of monitoring a predetermined display period ofthe target information. SUBSTITUTE SHEET 38. The method of claim 36, wherein the displaying step further includes the step of disabling user control ofthe display during the display ofthe target information. 39. The method of claim 36, wherein the displaying step further includes the step of enabling user control ofthe display after expiration of a predetermined display period. 40. A method of controlling the transfer of target information without causing additional communication delay to non-target information traffic between a user node and a master node, comprising the steps of: measuring round-trip delay time for delivering the target information; computing a ratio between the round-trip delay time and a predetermined minimum round-trip delay time; and adjusting a transmission rate ofthe target information based on the computed ratio. 41. The method of claim 40, wherein the adjusting step includes the substeps of fransfening packets of target information, and adjusting the transmission rate after fransfening each packet ofthe target information. 42. The method of claim 40, further including the steps of receiving, by the user node, a target information reference, and requesting the target information conesponding to the target information reference. 43. The method of claim 40, further including the step of fetching the target infoπnation during times when non-target information is not being sent. 44. A method of connecting an information provider and a user node of a computer network, the method, performed by a master program, comprising the steps of: registering the user node at a master node; receiving, through the master node, a node ID from the user node; SUBSTITUTE SHEET O 97/39548 PCT/NO97/00096 22 means for accessing a master database for profile information conesponding to the node ID; and means for transmitting to the user node, through the master node, a target information reference conesponding to the accessed profile information, wherein the target information reference is a pointer to target information to be delivered to the user node while transferring non-target information without additional communication delay. 45. A method of connecting information providers and users of a computer network having a master node, a master database, and a master program, the method, performed by a user node, comprising the steps of: sending to the master node a node ID conesponding to the master node; receiving a target information reference from the master program; controlling the transfer of target information in the background while fransfening non-target information without additional communication delay between the master node and the user node; and receiving the target information conesponding to the target information reference. 46. The method of claim 45, wherein the controlling step includes the step of measuring round-trip delay time for delivering the target information. 47. The method of claim 46, wherein the controlling step further includes the steps of computing a ratio between the round-trip delay time and a predetermined minimum round-trip delay time for delivering the target information, and adjusting a transmission rate ofthe target information based on the computed ratio. 48. A method of connecting information providers and users comprising the steps of: sending from a user node to a master program a user ID conesponding to a cunent user ofthe user node; SUBSTITUTE SHEET accessing, by the master program, user profile information conesponding to the user ID; transmitting from the master program module to the user node a target information reference conesponding to the accessed user profile; receiving the target information reference at the user node; requesting a transfer of target information from a master node to the user node using the target information reference; transferring the requested target information from the master node to the user node minimizing additional communication delay between the master node and the user node; and receiving, by the user node, the target information. 49. The method of claim 48, wherein the step of receiving the target information further includes the steps of receiving the target information reference for the cunent user, and requesting the target information using the target information reference. 50. The method of claim 48, wherein the transferring step includes the step of sending target information packets during times when non-target information packets are not being sent. 51. The method of claim 50, wherein the sending step includes storing each bit of non-target information packets in a shift register, detecting an identification bit pattern of non-target information packets in a shift register, controlling a transfer gate ofthe shift register in response to the detected identification bit pattern, and delaying a start signal initiating transfer of target information packets in response to the detected identification bit pattern until transfer of non- target information packet is complete. 52. The method of claim 50, wherein the sending step includes monitoring length of time necessary to transfer each target information packet, and SUBSTITUTE SHEET adjusting the rate of target information transfer in response to the monitored transfer time. 53. The method of claim 52, wherein the monitoring step includes estimating amount of network traffic by measuring length of time between transmittal of target information packet by the master node and a message of receipt by the user node. 54. The method of claim 52, wherein the monitoring step includes recording when each target information packet is transmitted by the master node, receiving a message from the user node acknowledging receipt ofthe packet, and estimating amount of network traffic by determining length of time between the transmittal and the message acknowledging receipt. 55. A method of monitoring network traffic for transferring target information packets minimizing additional communication delay between a user node and a master node comprising the steps of: storing each bit of non-target information packets in a shift register; detecting an identification bit pattern of non-target information packets in a shift register; controlling a transfer gate in response to the detected identification bit pattern; and delaying a start signal initiating transfer of target information packets in response to the detected identification bit pattern until transfer of non- target information packet is complete. 56. A method of transferring target information packets while minimizing additional communication delay between a user node and a master node comprising the steps of: monitoring length of time necessary for transfer of each target information packet; and SUBSTITUTE SHEET adjusting the rate of target information transfer in response to the monitored transfer time. 57. The method of claim 56, wherein the monitoring step includes estimating amount of network traffic by measuring length of time between transmittal of target information packet by the master node and a message of receipt by the user node. 58. The method of claim 56, wherein the monitoring step includes recording when each target information packet is transmitted by the master node, receiving a message from the user node acknowledging receipt of the packet, and estimating amount of network traffic by determining length of time between the transmittal and the message receipt. 59. A method of connecting information providers and user nodes of a computer network comprising the steps of: receiving through the master node a user ID conesponding to a cunent user ofthe user node; accessing user profile information conesponding to the user ID; and transmitting to the user node, through the master node, a reference to target information conesponding to the accessed user profile, wherein the target information reference is a pointer to the target information to be delivered to the user node while transferring non-target information minimizing additional communication delay. 60. A method of connecting information providers and users coupled with a master node, a master database, and a master program module, the method performed by the user node, comprising the steps of: sending from a user node to a master program a user ID conesponding to a cunent user ofthe user node; requesting a transfer of target information from a master node; and SUBSTITUTE SHEET receiving the requested target information from the master node minimizing additional communication delay between the master node and the user node. SUBSTITUTE SHEET

Inventors: EIKELAND MARTIN, EIKELAND, MARTIN
Applicants: DIGILOG AS, DIGILOG A/S
Application year: 1997
Main classification: H04L
IPC codes: G06F17, H04L29