Method and apparatus for peer-to-peer services
16 claims: 4 independent, 12 dependent
- 1一种方法,包括: 由目录服务器从第一本地设备接收对数据的请求; 由该目录服务器根据数据所在的目录确定具有所请求的数据的第二本地设备,其中该 目录服务器维护该目录; 由该目录服务器指引所述第一本地设备直接从所述第二本地设备获得所请求的数据;以及 从所述第二本地设备向所述第一本地设备直接传送所请求的数据。
- 2如权利要求1所述的方法,还包括向所述第一本地设备告知所述第二本地设备拥有 所请求的数据。
- 3如权利要求1所述的方法,其中所述目录指示具有所请求的数据的所述第二本地设 备。
- 4如权利要求3所述的方法,还包括一旦所请求的数据从所述第二本地设备到所述第 一本地设备的传送完成,就更新所述目录来指示具有所请求的数据的所述第一本地设备。
- 5一种目录服务器系统,包括处理器,其在执行一个指令集时实现如权利要求1所述 的方法。
- 6一种装备,包括: 用于使目录服务器从第一本地设备接收对数据的请求的装置; 用于使该目录服务器根据数据所在的目录确定具有所述请求的数据的第二本地设备 的装置,其中该目录由该目录服务器维护; 用于使该目录服务器指引所述第一本地设备直接从所述第二本地设备获得所请求的 数据的装置;以及 用于从所述第二本地设备向所述第一本地设备直接传送所请求的数据的装置。
- 7如权利要求6所述的装备,其中,用于从所述第二本地设备向所述第一本地设备传 送所请求的数据的装置包括局域网上的对等传送。 &如权利要求7所述的装备,还包括用于当所述第一本地设备被重新连接到局域网时 传送所请求的数据的装置。
- 89. 如权利要求6所述的装备,还包括用于维护如下列表的装置,一旦所请求的数据从 所述第二本地设备到所述第一本地设备的传送完成,所述列表就指示具有所请求的数据的 所述第一本地设备。
- 910. 如权利要求6所述的装备,还包括用于保留所请求的数据的最近源的优先权化列 表的装置。
- 1011. 一种系统,包括处理器,其在执行指令集时进行以下操作: 由目录服务器从第一本地设备输入对数据的请求; 由该目录服务器根据数据所在的目录确定具有所请求的数据的第二本地设备,其中该 目录由该目录服务器维护; 由该目录服务器指引所述第一本地设备直接从所述第二本地设备获得所请求的数据;以及 从所述第二本地设备向所述第一本地设备直接传送所请求的数据。
- 1112. 如权利要求11所述的系统,还包括执行支付款和信用证中的一个或多个的传送。 CN 1528079 Β
- 1213. 如权利要求11所述的系统,还包括从所述第一本地设备向第三本地设备进行所请 求的数据的第二传送。
- 1314. 如权利要求13所述的系统,其中,从所述第一本地设备向所述第三本地设备的所 请求的数据的所述第二传送包括通过局域网上的对等通信而进行的传送。
- 1415. 一种装备,包括: 目录服务器,具有双向通信端口,所述双向通信端口被耦合以从第一本地设备接收对 数据的请求, 所述目录服务器用于: 根据由所述目录服务器维护的、数据所在的目录,确定具有所请求的数据的第二本地 设备, 指引所述第一本地设备直接从所述第二本地设备获得所请求的数据,以及 从所述第二本地设备向所述第一本地设备直接传送所请求的数据。
- 1516. 如权利要求15所述的装备,还包括局域网,所述第一本地设备被耦合到该局域网 以从所述第二本地设备接收所请求的数据。
- 1617. 如权利要求16所述的装备,还包括具有输入端和输出端的客户端连接检测器,所 述输入端被耦合以在所述第一本地设备被连接到所述局域网时接收信号,并且所述第二本 地设备被耦合以接收客户端连接检测器的输出,该输出指示何时能够从所述第二本地设备 向所述第一本地设备传送所请求的数据。
Independent claims16
144 paragraphs, as filed
Methods and equipment for peer-to-peer services
[0001] Related Application
[0002] This patent application claims priority to the U.S. Provisional Application No. 60/303,706 filed on July 6, 2001. The provisional application is named Share and Learn Software, which is hereby Quoted as a reference.
Technical field
[0003] The present invention relates to networks. Specifically, the present invention relates to methods and equipment for peer-to-peer services.
Background technique
[0004] Many companies are using the network to share information. The Internet and corporate intranets are examples of such networks. This information can be shared among companies, universities, local groups, or users all over the world.
[0005] As shared information becomes more abundant in content, such as streaming video, higher requirements are placed on servers. These servers may reduce the available bandwidth and slow down the Information access. One way to improve performance is to "widen" the "pipe" or bandwidth that the WAN may use. This can be a very expensive method, especially when peaks or strikes of traffic can become limiting factors. This presents a problem.
Summary of the invention
[0006] According to a first aspect of the present invention, a method is provided, which includes: receiving a request for data from a first local device; determining a second local device having the requested data; directing the first local device to directly receive data from The second local device obtains the requested data; and the requested data is directly transmitted from the second local device to the first local device.
[0007] According to a second aspect of the present invention, there is provided an equipment including: means for receiving a request for data from a first local device; and means for determining when the second local device has received the requested data Means; means for directing the first local device to obtain the requested data directly from the second local device; and means for directly transmitting the requested data from the second local device to the first local device installation.
[0008] According to a third aspect of the present invention, a system is provided, which includes a processor that performs the following operations when executing an instruction set: inputting a request for data from a first local device; determining that the requested data is available Direct the first local device to obtain the requested data directly from the second local device; and directly transmit the requested data from the second local device to the first local device.
[0009] According to a fourth aspect of the present invention, there is provided another equipment including: a directory server having a two-way communication port, the two-way communication port being coupled to receive a request for data from a first local device. The directory server is configured to determine a second local device with the requested data, direct the first local device to obtain the requested data directly from the second local device; and send the requested data from the second local device to the The first local device directly transmits the requested data.
CN 1528079 Β
Description of the drawings
[0010] The present invention is illustrated in the drawings by way of example and not limitation, in which similar reference numerals indicate similar elements, in which:
[0011] FIG. 1 illustrates a network environment in which the method and equipment of the present invention can be implemented;
[0012] FIG. 2 is a block diagram of a computer system;
[0013] FIG. 3 illustrates an embodiment of the present invention for file sharing;
[0014] FIG. 4 illustrates an embodiment of the present invention as a web proxy service (web proxy service); [0015] FIG. 5 illustrates an embodiment of the present invention, in which a third party controls the communication between clients Content delivery on WAN/LAN;
[0016] FIG. 6 illustrates an embodiment of the present invention for distributed backup and storage;
[0017] FIG. 7 illustrates an embodiment of the present invention for analyzing the network usage router table;
[0018] FIGS. 8A and 8B illustrate an embodiment of an SLS launch flow;
[0019] FIGS. 9A and 9B illustrate an embodiment of an SLS file stream;
[0020] FIGS. 10A to 10H illustrate possible user interfaces of the present invention;
[0021] FIG. 11 illustrates an embodiment of the present invention for a peer-to-peer agent;
[0022] FIG. 12 illustrates a flowchart of a peer-to-peer agent in an embodiment of the present invention;
[0023] FIG. 13 illustrates an embodiment of the present invention, in which a third party is controlling file transfer;
[0024] FIG. 14 illustrates an embodiment of the present invention for backup storage;
[0025] FIG. 15 illustrates an embodiment of the present invention for router table analysis.
Detailed ways
[0026] The method and equipment for peer-to-peer services will be described below.
[0027] By providing the ability to transfer network traffic to another network, the present invention can achieve more efficient transmission of information, data, etc. An example of such a transfer of network traffic could be to transfer WAN traffic to LAN peer-to-peer traffic.
[0028] Both WANs such as the Internet and WANs such as corporate intranets will find the ability to divert from this traffic to be useful. In order to better explain the present invention, the description will be made with reference to an intranet, but those of ordinary skill in the art will recognize that the present invention can be implemented in other networks, such as the Internet.
[0029] Compared with the past, enterprise intranets, especially large company intranets, accommodate, share and transmit more information. Some content may require more instantaneous bandwidth than the network originally designed. The emergence of streaming video is an example of such content. Moving WAN traffic to LAN communication can free up WAN bandwidth. If server-based content can be placed in a client on the LAN, then another client on the LAN can access the information through the interaction of the peer-to-peer client. Transferring content based on the WAN server to the LAN client for peer-to-peer delivery, this method allows file sharing.
[0030] FIG. 1 illustrates a network environment 100 in which the described techniques are applied. The network environment 100 has a network 102 that connects S servers 104-1 to 104-S and C clients 108-1 to 108-C. More details are described below.
[0031] FIG. 2 illustrates a computer system 200 in the form of a block diagram, which may represent any client and/or server shown in FIG. 1. More details are described below.
[0032] FIG. 3 illustrates an embodiment 300 of the present invention for file sharing. The directory server 302 retains the directory where the file is located. The client 304-A sends a file request 310 to the directory server 302. Directory server 302 passed by reference
CN 1528079 Β
The prioritized list closest to the client with the latest modified version of the file to find the location of the file. The directory server 302 notifies 312 the location of the file to the client A. In this illustration, communication 312 communicates to client A 304-A that client D 304-D has a copy of the file. Then, the client A 304-A and the client D 304-D communicate 314 and obtain the file located at the client D 304-D±. The communication 314 between the client A 304-A and the client D 304-D is a peer-to-peer communication.
[0033] In this way, client A 304-A does not have to retrieve files from a server that may be located on the WAN, and the directory server 302 has informed the client A 304-A that it can retrieve files from another client D 304-D. Therefore, the traffic that may have occurred on the WAN is transferred to the peer-to-peer transmission that may be on the LAN.
[0034] Note that because the directory server 302 keeps a list of files and locations, the directory server 302 will also learn this information after the client A304-A has a copy of the file. For example, if client B 304-B requests a copy of the file from directory server 302, directory server 302 will know that client A 304-A and client D 304-D both have copies. Then the directory server 302 can notify the client B 304-B that the client A 304-A is the closest client with a copy. Then, the client B 304-B can initiate a peer-to-peer transmission with the client A 304-A. After this transfer, the directory server 302 will know that client A 304-A, client B 304-B, and client D 304-D all have copies of the file.
[0035] Those of ordinary skill in the art will understand that the method of file sharing can "spread" files on the network. This propagation will allow the directory server 302 to inform any requesting client of the most recent client with the file to be transferred. When the client is located in the same local network, LAN peer-to-peer transmission is possible. LAN transmission is usually faster than WAN to LAN transmission. This is because there are fewer routers, switches, proxies, firewalls, etc. involved in LAN transmission.
[0036] If no local client has the requested file, the directory server 302 may instruct the client to obtain the file from the client and/or file server on the WAN. For example, the client D 304-D may have sent a file request to the directory server 302 and be notified that there is no copy of the file on the local client. Client D 304-D may have to obtain a copy of the requested file from a remote server, for example via the Internet. Once client D304-D has a copy of the file, as explained above, directory server 302 will know this information. If client A 304-A then requests the file, directory server 302 can notify client A 304 -A Client D 304-D has a copy.
[0037] As described above, the ability to convert WAN server-based content into LAN content for peer-to-peer delivery allows file sharing. Those of ordinary skill in the art will understand that by implementing the present invention in such an environment, a client-based proxy service can be realized, which is used to redirect data transmission from the network in a peer-to-peer environment. That is, by redirecting, for example, Internet requests to a copy of the file on a more local network, the present invention can be used to implement web proxy services.
[0038] FIG. 4 illustrates an embodiment 400 of the present invention used as a web proxy service. The directory server 402 maintains a directory containing information on where the web file is located on the local network 415. Client A 404-A (for example, surfing the World Wide Web) sends a file request 410 to the directory server 402. The directory server 402 finds the location of the file on the local network 415 by referring to the prioritized list of the most recent client with the latest modified version of the file. Directory server 402 informs 412 the location of the file to client A 404-Ao In this illustration, communication 412 communicates to client A 404-A that client D 404-D has a copy of the file and redirects client A 404-A obtains the file located at client D 404-D ±. The communication 414 between client A 404-A and client D 404-D is a peer-to-peer communication.
CN 1528079 Β
[0039] In this way, client A 404-A does not have to retrieve files from the web server 422 connected to the Internet 418 via 420 and to the directory server 402 via connection 416, but retrieves files from the client D 404-D File. Therefore, the possible Internet traffic is redirected and becomes possible for peer-to-peer transmission on the LAN. Therefore, the "local" storage of the file, plus the redirection that allows access to the local copy of the file, achieves the function of a proxy. [0040] Note that because the directory server 402 keeps a list of files and locations, after the client A404-A has a copy of the file, the directory server 402 will also learn this information. For example, if during web browsing, for example, client B 404-B requests the same file, and directory server 402 knows that both client A 404-A and client D 404-D have copies. Then the directory server 402 can notify the client B 404-B that the client A 404-A is the closest client with a copy. Then, the client B 404-B can initiate a peer-to-peer transmission with the client A 404-A. After this transfer, the directory server 402 will know that client A 404-A, client B 404-B, and client D 404-D all have copies of the file.
[0041] Those of ordinary skill in the art will understand that this method of file sharing can "spread" World Wide Web files on the network. The World Wide Web site has information that changes regularly. As mentioned above, the directory server 402 retains information on where the latest file is located. So, for example, assume in FIG. 4 that client A 404-A retrieves a copy of the file from client D 404-D at time X. Next, suppose that at the X+10th minute, the client B 404-B requests the same file. If the directory server 402 knows a more recent copy of the file, it will instruct the client B 404-B to retrieve the file from that location. It may also be the following situation. For example, client A 404-A has a local copy of the file at time X, but requests the file again at time X+10 minutes. If the most recent copy is on client A 404-A ±, the directory server 402 will direct client A 404-A to client A 404-A. If the most recent copy is on another client, for example, on client C404 -C is on, then the directory server 402 will direct the client A 404-A to the client C 404-C to obtain a copy. If there is no copy available on the local network 415, the directory server 402 will direct the client A 404-A to the World Wide Web to obtain a copy. If the most recent copy is on the World Wide Web, the directory server 402 can direct client A 404-A to World Wide Web to get a copy.
[0042] The directory server 402 may also have an expiration timeout feature. That is, after 10 minutes, for example, the directory server 402 can direct the client to retrieve a copy of the file from the web server 422. In this way, the World Wide Web content on the local network will be updated after 10 minutes of staying on the local network. This timeout feature can be modified according to the content of the World Wide Web. For example, a website that handles word definitions may not need to be updated as quickly as a website with instant news events.
[0043] As described above, the ability to convert WAN server-based content into LAN content for peer-to-peer delivery allows file sharing. For the convenience of discussion, the clients discussed above are assumed to be connected to the network most of the time. This may not match the actual situation. For example, portable computers, PDAs, etc. can be connected or disconnected as needed. An example might be a sales office, where outside salespeople are only connected to the network when they are in the office. It is impossible for a portable computer to be connected to the network for a long time to download large files such as video presentations. This may be caused by time restrictions or bandwidth restrictions. However, if the user of a portable computer can perform peer-to-peer transmission of information, the bandwidth may be higher than that from a server on a WAN, for example. By allowing the user of the portable device to select which information needs to be downloaded, and making this information be directed to the client near the LAN, the next time the user connects to the network, LAN peer-to-peer transmission is possible. Therefore, the portable computer user actually becomes the third party who controls the transmission from the WAN to the LAN.
[0044] FIG. 5 illustrates an embodiment 500 of the present invention, in which a third party is controlling the WAN to LAN transfer. Here, the client P 504-P represents a portable client, such as a portable computer or a PDA. Client Ρ504-P may need
CN 1528079 Β
A file from the file server 522 is required. The request 510 to the directory server 502 may indicate that there are no local copies on clients A, B, C, D, or P (504-A to P, respectively). At this time, the client P 504-P can decide to either stay online and download the file, or instruct to download the file to the nearest client. If the latter is selected, the directory server 502 can determine that the client D 504-D is the closest client, and the file download from the file server 522 should be directed to the client D 504-Do regardless of whether the client P 504-P is currently connected to Whether the network is connected or disconnected, this transmission can be carried out (via 522, 520, 518, 502, 512). When the file has been downloaded to the client D 504-D, the directory server 502 stores this information, so when the client P 504-P connects to the network again and requests the file, it can proceed from the client D 504-D Local peer-to-peer transmission 514 to client P 504-P. In another embodiment, when the client P 504-P is connected to the network and the client D 504-D has the file locally, the localization from the client D 504-D to the client P 504-P can be automatically started. Peer-to-peer transmission 514. Furthermore, once the client P 504-P has transferred the file, the directory server 502 will know that the client D Both the 504-D and the current client P 504-P have file copies. The device referred to as the file server 522 in this part may also be other devices, such as a client on a remote network, and so on.
[0045] In another embodiment, when the client P 504-P is connected to the network, the directory server 502 can query the client P 504-P to find out whether the client P 504-P has selected what it wants when offline. The downloaded file. This download list may have been previously retrieved from the directory file server (502 and/or other directory file servers).
[0046] In another embodiment, when the client P 504-P is connected to the network, files residing on the client P 504-P ± can be transferred to a directory server, such as the directory server 502. If new files or modified files with a more recent date are transmitted to the directory server 502, other clients will now be able to access these files. Therefore, for example, a portable computer used by a salesperson can be used to specify customer access information when the salesperson visits the customer. Once back to the office and connected to the network, the client P 504-P can send information about the client P 504-P ± files to the directory server 502. Then, by knowing that they are located in the directory server 502 of the client P504-P, these update files will become available.
[0047] In another embodiment, when the client P 504-P returns with the updated file, the directory server 502 and/or the client P 504-P can instruct to generate the updated file on a non-portable computer Local copy. Therefore, in this embodiment, third-party control can realize file transfer, so that when the portable client is disconnected from the network, the local copy is available to the rest of the network. The directory server 502 and/or the client P 504-P may also instruct to send a copy of the updated file to the central and/or web server. Therefore, third-party control of transmission is to and from any source and/or destination. The ability of a portable client such as the client P 504-P to send files to another client will be used as a backup of those files.
[0048] New and updated files are not limited to portable clients such as client P 504-P. Other clients with new or updated files, such as desktop clients, can also use the techniques discussed above. Therefore, in an embodiment of the present invention, the client can use network services for distributed backup and storage. The client is not the only content source. In another embodiment, files from all sources, clients, servers, etc. can use the present invention to implement content transfer for distributed backup and storage.
[0049] FIG. 6 illustrates an embodiment 600 of the present invention for distributed backup and storage. The client A 604-A transmits a request to the directory server 602 via the link 610, and the content of the request is to store the local file located in the client A 604-A in another client or other clients. The directory server 602 informs the client A 604-A that the client B 604-B and the client D 604-D are the most recent and have available storage. Therefore, client A 604-A passes through the link
CN 1528079 Β
612 transmits the file or parts of the file to the client B 604-B. If more storage is needed and/or a distributed backup is requested, client A 604-A may transfer the file to client D 604-D through 614. These transmissions are peer-to-peer and can be performed on the LAN. In this example, the client has initiated a backup request. In another embodiment of the present invention, the backup request may come from the directory server 602 and/or may come from a file server on the network.
[0050] As mentioned above, the ability to transfer content from one network to another enables many capabilities. Reference has been made to client, server, WAN, LAN, peer... In many cases, the benefits of peer-to-peer delivery can be obtained when clients are "closest" to each other. From a network point of view, the "nearest" client for file sharing, transfer, etc. may not be the closest physically. From a network performance perspective, the "nearest" client can be the one and/or the client that can transmit information the fastest. Therefore, all of the above methods used to transfer traffic can benefit from this network analysis. One such method of generating "nearest" client information can use router table analysis.
[0051] FIG. 7 illustrates an embodiment 700 of the present invention using router table analysis on the network. The server 702 is connected to the routers 706-A to 706-N. Each router (706-A to 706-N) is connected to a respective group 706-ANX to 706-NNX. Each group (706-ANX to 706-NNX) includes networks 706-AN to 706-NN, and respective clients A to N, respectively. The database 704 is connected to the server 702. In operation, monitor server and router traffic to determine when files are delivered. This information is analyzed and stored in the database 704. In one embodiment of the present invention, the database 704 will keep a prioritized list of a particular file closest to the client. This database 704 information can then be accessed by the directory server to determine how to reroute and/or redirect traffic to achieve the fastest peer-to-peer transfer between clients.
[0052] In this way, embodiments of the present invention have been described in the following fields, namely file sharing, redirected data transfer, third-party control of transfer, distributed backup and storage, and router table analysis.
[0053] The above description has always been tried to be concise, so as to illustrate the present invention without obscuring it. What follows is a more detailed possible embodiment of the invention. Use screen shots to illustrate the possible features and capabilities of the present invention. However, it should be understood that these are other embodiments of the invention, and many other embodiments are also possible.
[0054] Today's corporate intranet is a fairly unary network capable of transmitting information, text, files, and so on. Intel® Share and Learn Software (SLS) transfers the bottleneck of the video intranet from the network to the computer, so that video and multimedia files can be transmitted more efficiently, thus greatly improving the capacity and effectiveness of the corporate intranet. . Note that, for the purpose of illustrating this embodiment of the present invention, an enterprise intranet can be defined as: a computer network that uses standard Internet protocols such as TCP/IP and HTTP to connect client association groups; and/or a firewall Or an IP-based network composed of nodes connected by a secure and possibly virtual network behind a few firewalls.
[0055] In a traditional corporate intranet configuration, multimedia communications are streamed to the desktop through the network. Because files are generally streamed through the network, the network has almost always been the bottleneck; and because the wide area network (WAN) is relatively expensive, there is generally not enough bandwidth to support more than several files that are streamed at the same time. SLS allows compressed video, multimedia files and large files to be quickly moved to multiple desktops or mobile machines. SLS actually created a new protocol that is used to share large files (for example, video, multimedia, etc.) on a network or corporate intranet. SLS transferred the bottleneck of video transmission on the corporate intranet from the network to the processor of the personal computer (PC).
[0056] An example is the use of SLS in a laptop computer to download videos. After the laptop is connected to the LAN, it can quickly download files from the local device connected to the LAN, thus avoiding WAN transmission. Due to the generally higher and stable transmission rate, this peer-to-peer transmission is superior to WAN-to-LAN transmission. SLS can improve the performance of many different applications, including knowledge management, corporate video communications, eLearning, and so on.
CN 1528079 Β
[0057] SLS has the following meanings for knowledge management-an opportunity is that a large amount of compiled knowledge exists on the hard disk of a personal PC in the form of demonstrations, text files, etc. In the traditional network environment, this information and knowledge cannot be shared and reused by others. SLS brings such an ability, that is, through the access and sharing mechanism, this compiled information can be shared by many people in the company. In one embodiment, by right-clicking on the file and adding some metadata (manually and/or automatically), the file can become available to all others on the network. This file and related metadata are registered as an intermediary In the directory server, other users can search this directory server based on several criteria, including keywords, authors, etc. If a user wants to take out the file, he can take the file from the client that originally published it, or if the file has been copied before, the file can be obtained from the nearest available client. In this way, through registration documents, much of the compiled information and/or knowledge that could not be used in an organization is now available. This makes the above content available to users throughout the enterprise, thus creating an enterprise knowledge management system that can save money and create new opportunities through knowledge sharing and reuse. In another embodiment, the content can be indexed through SLS, and/or a company index of related knowledge/information can be generated.
[0058] In a large company such as Intel, it is often difficult to convey information to all employees at the same time. E-mail can be delivered to all employees at the same time, but it is a relatively flat (not very rich) medium. However, it is possible for 80,000 employees around the world to access video communications in a very short period of time, and it is possible to achieve better communications. Before the introduction of SLS, this was very difficult because it would be unusually expensive to provide bandwidth and/or edge servers to stream video to 80,000 PCs. Now through SLS, almost no additional investment in infrastructure is needed to achieve this goal-using SLS's peer-to-peer file sharing protocol on the existing network, and using the hard disk on the existing client for storage, so that you can Distribute videos, multimedia or large files from the client to the client. This ability conferred by SLS is another embodiment of the present invention.
[0059] E-learning can be regarded as similar to company communications, SLS allows for approximately seamless transmission of large multimedia files throughout the company without additional investment. Because e-learning is a new and important application technology, SLS can change the performance and economics of e-learning.
[0060] In addition, other information can use SLS<sub>O</sub> SLS allows one form of computing resources to be used to replace another. For example, when watching a video file, a traditional mechanism for completing this work is to stream the file to the client PC via the network. An implementation of the SLS mechanism An example is to copy a compressed video file on the local network, which gives nearly equivalent performance when a smaller network is required.
[0061] In one embodiment of the present invention, Intel®'s share and Learn Software (SLS, sharing and learning software) is a window-based application for peer-to-peer file sharing. It consists of a client application written in a visual programming language and uses a database server component, the host of which is a SQL (Structured Query Language) server. The application is used to transfer files over the network in a corporate environment. The SLS application uses a directory-mediated method to determine the closest (or nearest) client that contains the latest version of the requested material; then, the material is copied to the requesting machine.
[0062] Peer-to-peer in the most common sense is resource sharing between clients, where clients can range from large servers to handheld devices. In the context of this document, it is defined as the ability to share content directly between clients, where the client can be a server, a desktop computer, a laptop computer, a PDA (personal digital assistant), a handheld device, or the ability to communicate with Any other device that communicates with other devices.
[0063] In one embodiment, SLS uses a peer-to-peer file sharing method with a directory as an intermediary. The directory consists of a database that tracks all file transfers, which is used to determine the nearest available client. The following flow chart description
CN 1528079 Β
Describes what happens when the user starts SLS (Figures 8A and 8B) and when the user selects a file (Figures 9A and 9B) in one embodiment.
[0064] The SLS startup flow proceeds as follows. As shown in part 1 of Figure 8A, the user starts SLS from a shortcut in the start menu. Next, check if the user is connected to the network. If the user is not connected to the network, the local database is read and the application is opened in offline mode. If the user is connected to the network,<sup>1</sup>J establishes a connection with the Intel®Share and Learn Software website. In part 2 of Figure 8A, once a connection is established with the Intel® share and Learn Software website, it is checked whether the user has the latest SLS software components. If the latest components are not available and/or need to be updated, they are automatically downloaded from the site. It then checks whether the user exists in the database. If there is no entry for the user, create an entry with the user's ID.
[0065] In part 3 of FIG. 8A, the application checks whether the user is running the latest anti-virus software on their system. This can be done by searching for a specific key in the registry. If the user does not have the latest anti-virus software, give them a warning, including details on how to upgrade the anti-virus file, and the application is forced to enter offline mode. This forced entry into offline mode is to prevent the transmission of files that may have been infected by viruses on the user's system. If the antivirus file is up to date, the application continues to be in online mode. Next, run a query operation to determine which subnet the user is in. Then, compare this network address with the master list on the database to determine which site the user is on. If the user's subnet is not recognized by the system, it will be marked as a new subnet and added to the IP subnet table of the database for later assignment to a site. If the user exists in the database, but their site information is not the same as that listed in the database, update the record and update all content associated with this user to the new site. This is done because the user may be mobile and may move between sites. This check ensures that the content owned by the user on their system is mapped as if the content exists on their current site, not just on their home site.
[0066] In part 4 of FIG. 8A, it is checked whether a local directory and share have been created on the user's PC. If the directory does not exist, Bei<sup>1</sup>J Create a directory called SLSShare under the root directory c:\drive. The SLSShare directory is shared within the network as slsshr$-this will facilitate the local sharing of downloaded files. If the directory exists, the application continues.
[0067] In part 5 of FIG. 8B, the application checks whether the user's PC name (and thus the share name) is the same as that stored in the database. If it needs to be updated, the information is entered into the Users table. In order to protect the user's PC from malicious attacks and virus outbreaks, appropriate permissions must be allowed in sharing<sub>o</sub>This allows everyone to see the shared content, but only users who are logged in on the PC can add files. The application checks to ensure that these permissions are set correctly, and if not, make the appropriate changes.
[0068] In part 6 of FIG. 8B, because Intel® share andLearn can be used in offline mode, a local database of XML files is retained on each user's PC. These files contain information about local files, test issues, and other information, and must be synchronized with the data in the production database. This requirement can be achieved by comparing the TableSync value in the database with the value on the user's PC. If the two values are different, the appropriate file is updated. Then, the e-learning player that allows offline viewing of the content is verified as the latest, otherwise an updated version will be downloaded.
[0069] In part 7 of FIG. 8B, because the SLS can be started from the desktop computer, if the shortcut does not exist yet, the shortcut is created in the user start menu. Next, open the Intel® Share and Learn homepage in your browser.
CN 1528079 Β
[0070] SLS Select Flow is continued as follows. As shown in part 1 of FIG. 9A, the user selects a file from the Business Area. Check whether the user has downloaded the file, and whether the file is stored locally on the PC. If it is stored locally, check to make sure that the version is the latest version. If the file is the latest version, it is decompressed into a temporary area and displayed in the player or in the SLS.
[0071] In part 2 of FIG. 9A, if the file is not local, a query is issued to determine whether there is a copy of the file available on the same site as the user. This information is obtained by looking up site information from the Users table and querying the F subscription eindex table. If the file is on the local site, a list of PCs with the file is established, and the list is sorted in the order of the number of times that the PC is accessed from less to more. Doing so can balance the impact between the clients. Query each PC in this list in turn to see if there are still copies available on the system until a file is found. If no PC on the user site contains the file, the next site in the SearchSiteList table is queried. This process will continue until the file is found. A SearchSiteList is established for each Intel® site. It is designed based on the network configuration, and lists the sites that query files based on the available bandwidth between the site that issued the query and up to 10 other sites in the world in this specific embodiment.
[0072] In part 3 of FIG. 9A, once a copy of the file is found, it is queried to ensure that it is the latest version, and that it has the correct date/time stamp and file size. If it is incorrect, the search continues. If the file is the correct version, the estimated download time is returned to the user. This value is obtained by averaging the previous download time from the site containing the file to the user's own site.
[0073] In the 4th part of FIG. 9B, the user then gives three options to choose from: 1) download and run now download and run later; and 3) schedule future downloads. If the user chooses to schedule future downloads, an entry is placed in the TransferSchedule table, which lists the time when the transfer will occur. When this time arrives, assuming the user still has SLS running on their system, the file is copied from the nearest client to the SLSShare directory on the user's PC, and the database is updated to retain the information that the new copy of the file exists. If the user chooses to download the file but runs it later, the file is copied to the SLSShare directory and the user is notified that the download has been completed. The database is updated to retain information about the existence of a new copy of the file.
[0074] In part 5 of FIG. 9B, if the user chooses to download the file and run it immediately, the file is copied to the SLSShare directory, and the database is updated to retain the information that the new copy of the file exists. Then, unzip the file to the SLSTemp directory and open it in SLS or in a separate player according to the content. If an interruption occurs at any stage while copying files, find the next nearest source and restart the copy from there, thereby continuing the copy process. For example, it may happen that the source of the file is a laptop computer, and the laptop computer is removed from the network while the copy is in progress.
[0075] Those of ordinary skill in the art will understand that alternative embodiments of the present invention can be implemented using a variety of technologies. Such technologies are client locator, publication, logical drive, purging content> control flow, parallel replication, third-party control, router analysis, network database, but they are by no means limited to these technologies. These technologies will be briefly described below, some of which have been described above.
[0076] The client locator using Ping is discussed above. This method uses the window Ping function to obtain the estimated transmission time between the requesting client and the remote machine. One embodiment may use a ping program between the requesting client and every other machine that has a copy of the file. The above scheme can be completed by issuing ping commands to each other machine in turn, and then selecting the minimum value for transmission. Another method can be used for ping transmission between subnets
between. Once a value is established between the two subnets, it can be entered into the SubnetTransferlnfo table for future reference. There is another method is Ping for site-level transmission. For example, this method can be used in the selection file stream in Part 2 of Figure 9A.
[0077] A general publication will allow any user to publish content to a peer-to-peer system. To do this, just let the user right-click on any file and choose to add it to the SLS. In principle, every PC can be used as a peer-to-peer server, which has a shared directory that provides a distribution platform from the PC.
[0078] The logical drive will take out shared folders from a large number of PCs and use them to form a logical drive composed of a disk array. This can be combined with methods such as RAID (Redundant Array of Inexpensive Disks) to allow recovery of the contents of the entire drive when a certain amount of disks (not necessarily all) are online. This can be used to back up data to the client PC and restore it as needed.
[0079] Content removal in a peer-to-peer system involves the ability to remove allocated copies of files from the system to which the files are allocated. This may be closely related to the expiration date of the file that can be set by the author, or the need to cancel the assigned file. One way to do this is to use the domain administrator's account to automatically connect to each PC and clear the relevant content. Another way to do this is to have an agent program run on each PC, and the agent program will listen for requests from the system. Once it receives a request to delete a file, it removes that file from the local directory of the user's PC.
[0080] The controlled flow of content refers to the ability to restrict the flow of content to a specific site so as not to affect the capacity of the entire network. By analyzing the topology of the network, you can know the total bandwidth entering a particular site. Then, data transmission can be restricted, allowing only SLS to occupy a certain percentage of the available bandwidth. For example, this can be used in the selection file stream in Part 4 of Figure 9B.
[0081] Parallel copying is data in which a file can be divided into multiple large blocks by an application, and each large block can be copied from different machines that make the file available. This parallel replication can increase the total download speed of the requesting client, and can also reduce the impact on the client that is sharing the file, because the amount of data being taken from it becomes smaller. For example, this can be used in the selection file stream in Part 4 of Figure 9B.
[0082] Third-party control of file transfer uses an intermediate client to control data transfer to another device. For example, client A requests content from client B. However, client A is a handheld device and is not often on the network. Client B and Client A are separated by WAN. At this time, the client C downloads and stores the content according to the request of the client A until the client A returns to the network.
[0083] Router table analysis may allow SLS to directly query network routers to determine the most recent copy of the file. Because router tables are dynamic, any information obtained from them will be more accurate than static network topology at a certain point in time. Because it takes into account any important network activity that occurs at that time, this can increase the overall speed of transferring files. For example, this can be used in the selection file stream in Part 2 of Figure 9A.
[0084] The dynamic network database may include the creation of a stand-alone database, which gives a dynamic status regarding the waiting time in the network at any point in time. This database will be updated frequently by the network monitor and will look for patterns in network traffic. This database will then be used to determine the best path for file transfer and the closest client. For example, this can be used in the selection file stream in Part 2 of Figure 9A.
[0085] Examples of possible embodiments of the user interface of the present invention are shown in FIGS. 10A to 10H. Figure 10A illustrates the initial view of the SLS at startup. Figure 10B illustrates the view of SLS after browsing a category. Figure 10C illustrates a view of SLS after selecting a file for download. Figure 10D illustrates a view of the SLS during file download. Figure 10E illustrates the file opened in the SLS reader. Figure 10F illustrates SLS during file search
CN 1528079 Β
View. FIG. 10G illustrates a view of the SLS publisher, which shows a menu for adding, updating, or deleting files. FIG. 10H illustrates a view of SLS when new content is added.
[0086] Another embodiment of the present invention can be used to redirect the transmission of data in a peer-to-peer network environment. In a peer-to-peer network, data is transmitted between clients, rather than from the server to the client. In order to get the most efficient data transfer, files should be copied from the most recently available client with the information being requested. In general, peer-to-peer applications use their own interface to manage and control content distribution. By implementing a client-based web proxy, it is possible to bring the speed of peer-to-peer delivery to any website that has been cataloged by peer-to-peer services without requiring users to change their user interface.
[0087] In one embodiment, a peer-to-peer file database can be established to track file transfers for specific websites. If the website provider wants to take advantage of this service, then they have to run an application that catalogs and indexes all the files available from their site, uniquely identifies them, and in a peer-to-peer database Record their parameters. Any subsequent transfers of these files will be tracked by the proxy service. The client-based web proxy will reside on the client PC and run as a service. The proxy service will intercept all HTTP requests from the client and implement the communication between the client and the peer-to-peer file database. When a user requests an HTTP-based file, the proxy service will query the peer-to-peer database to see if it is tracking the location of the file. If this file is not tracked, the request will proceed to the web server normally, and nothing unusual will happen. However, if the file is one of the files being tracked by the system, the proxy service will query the peer-to-peer database to get the nearest location of this file (usually on another users PC), and retrieve the file directly from there, preferably The ground is in its own local network. This has the following benefits: it reduces the download time for the user (if the file is larger than a certain size), and for the IT department, it reduces the usage of the WAN.
[0088] In the embodiment illustrated in FIG. 11, the PC 1 can request a file from a World Wide Web server located on the Internet or an intranet. The proxy service running on the client will intercept the request. This agent will query the database to see if the website being visited is the one being tracked by the peer-to-peer database. If the site is tracked by the peer-to-peer database, the system will check to see if the file is locally available. If the file is locally available, information about the local source of the file will be returned to the requesting client (for example, PC 2), and direct file copying between peers can be started from there. After this transfer, the peer-to-peer database will be updated to reflect that the new location of the file is available. If a copy of the file is not locally available, a standard request is sent to the World Wide Web server that owns the file, and its copy will be downloaded to the requesting client. As in the previous case, the proxy service will send an update to the database, indicating that the file is now locally available and making it available for future requests. If the website is not tracked by the system, the proxy service will send the request to the web server in a normal way without affecting the user.
[0089] FIG. 12 illustrates a flowchart of an embodiment of the present invention. The proxy service will be configured on the client PC, which will intercept all HTTP requests between the Internet browser and any website. The agent will query the peer-to-peer database to see if the website being requested is being tracked by the peer-to-peer system. If the site is being tracked, the list of locally available copies of the file will be returned to the client through the proxy service, and the direct copy of the file will be started from the nearest available peer. This has the following advantages: For large files, it reduces the download time of users over the WAN and the Internet. Once the file has been copied, the new location of the file will be used to update the database. If the file is not available locally, it can be downloaded from the target website in a normal way, and after it is completed again, the database server will be updated to reflect the new location of the file on the local network. If the website is not tracked, the request goes directly through the proxy, and data transmission is not disturbed.
[0090] For all traffic requested by the user based on HTTP, the proxy service functions as an intermediary. It queries
CN 1528079 Β
Peer tracking database to get specific file name and URL. If the file name is found in the database, the request for the file is basically redirected to the local copy. This reduces download time for users and minimizes the impact on available bandwidth.
[0091] From the perspective of actual implementation, for the system to be effective, many conditions may need to be applied at the agent level. For files to be downloaded, you may have to specify a minimum size. If the file is below a certain size, it may take longer than getting the file directly to query the database and retrieve the file locally. Another condition may be the type of files available in this way. In addition, the expiration time on the content can be applied to ensure that if a new version of the requested file is available, the user retrieves this new version.
[0092] In another embodiment of the present invention, a client (for example, a handheld PC) that is intermittently connected to the network can use a peer-to-peer application to select files for download from a remote location (slow WAN connection). The user can then request to download the file to another client that is permanently connected to the network in a location near the handheld PC, for example to a desktop PC (fast WAN connection). The next time they connect, they can download files from nearby clients via fast connections within a period of time. This service can be controlled by a directory server and peer-to-peer applications or agents that can be installed on PCs and handheld devices.
[0093] FIG. 13 illustrates such an embodiment of the present invention. The handheld PC uses a peer-to-peer application to select a file and queries the directory server for its location (communication 1). The directory server responds to this request and informs that the file is located on PC2 (communication 2). Because PC2 is separated by the WAN, it may take a long time to download this file, so the handheld PC can request to copy the file to PC1 (communication 3), allowing the handheld PC to be disconnected from the network. Then, PC2 copies the file to PC1 via the wide area network. When the handheld PC reconnects to the network, the file can be copied quickly from PC1 (communication 5).
[0094] In another embodiment of the present invention, a peer-to-peer technology can be used for distributed backup and storage. This will use part of the disk space of many computers in the network and use them to form logical or virtual drives composed of disk arrays. This can be combined with methods such as RAID (Redundant Array of Inexpensive Disks) to allow recovery of the contents of the entire drive when a certain amount of disks (not necessarily all) are online. This can be used to back up data to the client PC and restore it as needed. Another method is to back up the complete data table to a statistically sufficient number of PCs to ensure that the files can be recovered in a high percentage of the time.
[0095] Part of the user's hard disk space will be reserved by the administrator for this purpose, and it can be visible or invisible to the user on that PC. In addition, all stored data can be encrypted to maintain the security and privacy of the owner's data. The backup of files can be intermediary by the server. This server will keep track of the available clients and the location of the files that have been backed up, as well as control the security of the system.
[0096] FIG. 14 illustrates such an embodiment of the present invention. Client A can decide to back up multiple files. The agent application on the PC of client A will query the server in the peer-to-peer network instead of going to the file server. This server will identify multiple other computers to back up data to a client B, C&Do in this example, and then one of the following two things will happen. One can copy some files to B, C&D using, for example, a RAID algorithm, or Copy all files to client B, C&D in turn.
[0097] In another embodiment of the present invention, an agent program can be configured on the client PC, which will monitor the changed user files. The agent will connect with the central control server at predetermined intervals to determine which peer PCs should be backed up to. Once determined, the agent can start file copying to each identified peer, or perform a complete copy of the file to each peer, or perform the copy determined by the RAID algorithm, and so on. In addition, only
CN 1528079 Β
Only the changed part of the file or the new file added to the system can be backed up. In order to restore the file, the agent can connect to the central control server again to determine the location of the file to be restored and start sending it back.
[0098] In another embodiment of the present invention, the present invention can be used to accelerate peer-to-peer transmission. In a peer-to-peer network, data is transmitted between multiple clients, rather than from the server to the client. Many peer-to-peer applications now use predetermined routes across the network to transfer data from one place to another. In theory, this method will generate the fastest download time for users; however, it does not consider the delay that may be caused by network congestion or outage. By implementing a system that collects information from routers, the path through the network will be more dynamic and up-to-date. If this information is stored in an easily accessible way, such as a database, then peer-to-peer software applications will be able to leverage the information (leverage)<sub>o</sub>When the user selects a file to download, the peer-to-peer application will query the database for available copies of the file in the normal way. In addition, it will immediately query the database for the best path to these files, exclude files that are inaccessible due to interruptions or congestion, and arrange the list of available copies in order of the shortest download time. This reduces the time for users to access content while minimizing the impact on each segment of the network.
[0099] In order to obtain the most efficient transfer of data, files should be copied from the nearest available client with the information being requested. Although the peer-to-peer system may know the location of the most recently available client, this machine may not always be the location where the fastest data transfer is possible. This may be caused by network congestion or other problems on the network. Generally speaking, network routers will know the impact of this on the network and use a more appropriate path to route the usual data transmission. This information is stored in the router table and is frequently updated through broadcasts sent across the network.
[0100] The embodiments of the present invention may run on a server in the form of a software application, and proactively listen on the network to discover update broadcasts between network routers. The application will interpret these broadcasts and store the information in a table located in a network-accessible database. Then, by issuing a query command to the database to determine the most appropriate path from which to copy the information, the peer-to-peer application can obtain and use the information.
[0101] FIG. 15 illustrates such an embodiment of the present invention. The server will listen on the network to discover the update broadcast between the two routers in this example, so as to get information about the most appropriate path through the system. This information is analyzed and interpreted by the application, and uploaded to a database, where the information can be interrogated by a peer-to-peer application (interrogation)<sub>o</sub>The peer-to-peer application program may be running on any computer shown in FIG. 15. In operation, the application will query its database for the most recent copy of the file, and then query the router information stored in the database to obtain the best path to the data source. Using these two reference points, an ordered list of the content that will be retrieved the fastest will be returned to the application, thus minimizing the impact on the network and delivering the file to the user as quickly as possible. Because the router is constantly updated, it will know the most appropriate path to take through the network by listening to the broadcast.
[0102] In another embodiment, the software application will be configured on a server that will listen to broadcasts and network traffic between routers configured on it in the network. If someone is copying information from one client to another on different parts of the network, the information gathered will give details of the best path to take. The application will interpret the broadcast and traffic, and this information will be stored in a database table that can be queried by the software application. The information in the database will be updated by the software, which listens to further broadcasts and traffic and inserts data when appropriate, so as to ensure that the information is current and up-to-date.
[0103] In this way, various other embodiments of the present invention have been described.
[0104] Referring back to FIG. 1, FIG. 1 illustrates a network environment 100 in which the technology can be applied. The network environment 100 has a network 102 that connects S servers 104-1 to 104-S and C clients 108-1 to 108- C. As shown in the figure, several computer systems in the form of S servers 104-1 to 104-S and C clients 108-1 to 108-C pass through the network
CN 1528079 Β
102 are connected to each other, and the network 102 may be a company-based network, for example. Note that alternatively, the network 102 may be or include one or more of the following networks: the Internet, a local area network (LAN), a wide area network (WAN), a wireless network, a satellite link, an optical fiber network, a wired network, or these and/ Or a combination of other networks. The server may represent, for example, a separate disk storage system or storage and computing resources. Similarly, the client can have computing, storage, and viewing capabilities. The methods and equipment described here can basically be applied to any type of communication device or equipment, whether local or remote, such as LAN, WAN, system bus, and so on.
[0105] Referring back to FIG. 2, FIG. 2 illustrates the computer system 200 in the form of a block diagram, which may represent any client and/or server in FIG. 1. The block diagram is a high-level abstract representation, which can be implemented in a variety of ways and in a variety of architectures. The bus system 202 is connected to a central processing unit (CPU) 204, a read only memory (ROM) 206, a random access memory (RAM) 208, a storage part 210, a display part 220, an audio part 222, a keyboard 224, and a pointer. 226, The input/output (I/O) device 228 and the communication part 230 are mixed. The bus system 202 may be, for example, one or more of the following buses: system bus, Peripheral Component Interconnect (PCI), Advanced Graphics Port (AGP), Small Computer System Interface (SCSI), Institute of Electrical and Electronic Engineers (IEEE) standard number 1394 (FireWire), Universal Serial Bus (USB), etc. The CPU 204 may be a single, multiple, or even distributed computing resources. The storage part 210 may be a compact disc (CD), a digital versatile disc (DVD), a hard disk (HD), an optical disc, a magnetic tape, a flash memory, a memory stick, a video recorder, etc. The display part 220 may be, for example, a cathode ray tube (CRT), a liquid crystal display (LCD), a projection system, a television (TV), or the like. Note that according to the actual implementation of the computer system, the computer system may include part, all, more, or rearrangement of the components in the block diagram. For example, a thin client may consist of a wireless handheld device, which lacks, for example, a traditional keyboard. Therefore, many variations of the system in Figure 2 are possible.
[0106] In order to discuss and understand the present invention, it should be understood that those skilled in the art will use various terms to describe techniques and methods. In addition, in this text, for the sake of explanation, many specific details are set forth to thoroughly understand the present invention. However, it is obvious to a person of ordinary skill in the art that the present invention can be implemented without these specific details. In some examples, multiple structures and devices are shown in the form of block diagrams without detailed description, which is to avoid obscuring the present invention. These embodiments are fully described to enable those of ordinary skill in the art to implement the present invention, and it should be understood that other embodiments may be used, and logical, mechanical, electrical, or electrical operations may be performed without departing from the scope of the present invention. Other changes.
[0107] Some parts in the description can be expressed as algorithms and symbolic representations of operations on data bits in, for example, computer memory. These algorithm descriptions and representations are all means for those of ordinary skill in the data processing field to express the essence of their work to other ordinary technicians in the field. Algorithms here, and in general, are considered to be an inherently consistent sequence of actions that produce expected results. These actions are all actions that require physical manipulation of physical quantities. Usually, although not necessary, these quantities use electrical or magnetic signals that can be stored, transferred, combined, compared, and otherwise manipulated. It has been repeatedly proved that it is mainly due to the universal use. It is very convenient to quote these signals as bits, values, elements, symbols, letters, items, numbers, etc.
[0108] However, it should be remembered that all these and similar terms are to be associated with appropriate physical quantities, and they are merely convenient labels applied to these quantities. For the content that is clear in this discussion, unless specifically pointed out otherwise, it should be understood that throughout the discussion content such as "processing" or "calculation" or "operation" or "determining" or "display" or other terms can be used. Refers to the actions and processing of a computer system or similar electronic computing equipment. The computer system or similar electronic computing equipment manipulates and converts data expressed as physical (electric) quantities in the registers and memory of the computer system into data stored in the computer system. Memory or registers or other such information storage, transmission or display devices similarly represent
CN 1528079 Β
Other data for physical quantities.
[0109] The present invention can be implemented by equipment for performing the operations here. This equipment may be specially constructed for the required purpose, or it may include a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program can be stored in a computer-readable storage medium, such as but not limited to any of the following magnetic disks, including floppy disks, hard disks, optical disks, compact disks-read only memory (CD-ROM) and magnetic- Optical disc, read only memory (ROM), random access memory (RAM), electrically programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), FLASH memory, magnetic or optical card, etc., or suitable Any medium that stores electrical instructions locally or remotely on the computer.
[0110] The algorithms and displays provided herein do not inherently involve a particular computer or other equipment. It may be convenient to use programs consistent with the teachings here to use various general-purpose systems, or it may be convenient to construct more specialized equipment for performing the required methods. For example, by programming a general-purpose processor, or by any combination of software and hardware, any method according to the present invention can be implemented in a hard-wired circuit. Those of ordinary skill in the art will immediately understand that the present invention can be implemented with a computer system configuration different from the content described, including handheld devices, multi-processor systems, microprocessor-based or programmable consumer electronics, digital signals Processor (DSP) equipment, set-top boxes, network PCs, mini computers, mainframe computers, etc. The present invention can also be implemented in a distributed computing environment, in which tasks are performed by remote processing equipment linked through a communication network.
[0111] Computer software can be used to implement the method of the present invention. If written in a programming language that complies with recognized standards, the instruction sequence used to implement the method can be compiled to execute on various hardware platforms and interface with various operating systems. It should be understood that various programming languages may be used to implement the teachings of the present invention described herein. Moreover, software in this form (for example, program, process, application, driver...) is often described as taking actions or bringing about results in this field. This expression is only a simplified way, and its original intention is to say that the computer's execution of software will cause the computer's processor to perform actions or produce results.
[0112] It should be understood that those skilled in the art can use various terms and technologies to describe communications, protocols, applications, implementations, mechanisms, etc. One such technique is to use algorithms or mathematical expressions to describe the realization of a technique. That is to say, although the technology may be implemented in accordance with, for example, the execution code on a computer, the technology can be expressed more flexibly and concisely as formulas, algorithms, or mathematical expressions. Therefore, a person of ordinary skill in the art will understand a module representing A+B=C as an addition function, and its hardware and/or software implementation will take two inputs (A and B) and generate one Sum output (C). Therefore, the use of formulas, algorithms or mathematical expressions according to the description content will be understood as using at least hardware and/or software (for example, a computer system, in which the various technologies of the present invention can be implemented and implemented as an embodiment) to obtain a physical implementation example.
[0113] A machine-readable medium will be understood to include any mechanism for storing or transmitting information in a form readable by a machine (for example, a computer). For example, machine-readable media include read-only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash storage devices; electrical, optical, acoustic, or other forms of propagated signals (for example, carrier waves, infrared Signal, digital signal, etc.).
[0114] Reference has been made to LAN (Local Area Network) and WAN (Wide Area Network). As understood by those of ordinary skill in the art, it should be understood that both LAN and WAN are relative concepts. For example, compared to a large corporate network, the Internet can be regarded as a WAN, and a large corporate network can be regarded as a WAN compared to its internal departmental network. Similarly, a small departmental network is compared to a large corporate network. It can be regarded as a LAN, and a large company network can be regarded as a LAN when compared with the Internet. Similarly, it should be understood that any discussion involving LAN to WAN is about smaller networks versus larger networks.
And this comparison varies with the situation in which it occurs. Therefore, a network may look like a WAN relative to a smaller network, but may look like a LAN relative to another network. It should be understood that in this field, many words sometimes have meanings commensurate with their surrounding environment, and these words are often used interchangeably regardless of a specific structure or environment, that is, those of ordinary skill in the art understand This use and meaning.
[0115] In this way, the methods and equipment for peer-to-peer services have been described.
CN 1528079 Β
48 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24 Sheet 25 Sheet 26 Sheet 27 Sheet 28 Sheet 29 Sheet 30 Sheet 31 Sheet 32 Sheet 33 Sheet 34 Sheet 35 Sheet 36 Sheet 37 Sheet 38 Sheet 39 Sheet 40 Sheet 41 Sheet 42 Sheet 43 Sheet 44 Sheet 45 Sheet 46 Sheet 47 Sheet 48
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| EP0993163A1 | Cites | European Patent Office (EPO) | Search report |
| US6145084A | Cites | United States of America | Search report |
| US5592626A | Cites | United States of America | Search report |
31 members in 7 offices
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 60303706 | United States of America | – | |
| 30370601 | United States of America | P | |
| 10095323 | United States of America | – | |
| 9532302 | United States of America | A | |
| 0221018 | United States of America | W |
Members31
| Document | Office | Kind | |
|---|---|---|---|
| US2003009518A1 | United States of America | A1 | |
| US2003009586A1 | United States of America | A1 | |
| US2003009587A1 | United States of America | A1 | |
| WO03005244A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO03005246A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO03005640A2 | World Intellectual Property Organization (WIPO) | A2 | |
| AU2002318477A1 | Australia | A1 | |
| AU2002318479A1 | Australia | A1 | |
| AU2002320281A1 | Australia | A1 | |
| US2003018712A1 | United States of America | A1 | |
| US2003074403A1 | United States of America | A1 | |
| WO03005246A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO03005244A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO03005640A3 | World Intellectual Property Organization (WIPO) | A3 | |
| EP1410261A2 | European Patent Office (EPO) | A2 | |
| EP1415455A2 | European Patent Office (EPO) | A2 | |
| EP1415456A2 | European Patent Office (EPO) | A2 | |
| CN1526227A | China | A | |
| CN1528079A | China | A | |
| US7440994B2 | United States of America | B2 | |
| US7499981B2 | United States of America | B2 | |
| US2009106355A1 | United States of America | A1 | |
| US7546363B2 | United States of America | B2 | |
| US7562112B2 | United States of America | B2 | |
| EP1415455B1 | European Patent Office (EPO) | B1 | |
| AT467301T | Austria | T | |
| ATE467301T1 | Austria | T1 | |
| DE60236293D1 | Germany | D1 | |
| CN1528079BThis record | China | B | |
| US7921155B2 | United States of America | B2 | |
| EP1410261B1 | European Patent Office (EPO) | B1 |
4 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Termination of patent right due to non-payment of annual feeCF01 | CF01 | |
| Grant of patent or utility modelGrantedC14 | C14 | |
| Entry into substantive examinationC10 | C10 | |
| PublicationC06 | C06 |
Numbers
- Publication
- 1528079
- Application
- 2813673
Titles2
- Chinese
- 用于对等服务的方法和装备
- English
- Methods and equipment for peer-to-peer services
Classification
- CPC, 5
- H04L67/104
- H04L47/10
- H04L67/1095
- H04L67/1063
- H04L69/329
- IPC, 3
- H04L29 08
- H04L12 56
- H04L47 10
