Distributed file caching in network

FIELD: information technology.

SUBSTANCE: method involves creating a list of peer-to-peer devices which contains a list of peer-to-peer servers from one or more network computers. The list of peer-to-peer devices contains not more than a predetermined number of potential peer-to-peer servers. Potential peer-to-peer servers in the list of peer-to-peer devices are requested relative a file or part of a file. A message is received from a peer-to-peer server in the list of peer-to-peer devices, which indicates that the peer-to-peer server has a file or part of a file available for loading. The computer system loads the file or part of the file from the peer-to-peer server.

EFFECT: reduced load on the server.

12 cl, 4 dwg

 

The LEVEL of TECHNOLOGY

Grid computing allows computers to request and receive software and the contents of the file servers and/or storage on computers. The contents of the file may include, for example, text files, video files, data files, image files, etc. the Software can be requested and downloaded for a number of purposes, including updating system software updating application software and update data files. For example, updates to security can be downloaded to upgrade the operating system to prevent or counteract the attacks on the computer system. Additionally, the software can be downloaded in order to install new applications on your computer. In one exemplary system, the software can be downloaded in the background so that the software can be downloaded at a time when the computer and the computer user to perform other tasks. One exemplary service with this kind of functionality is the background intelligent transfer service (BITS).

Often, when the software is published and available for download from the server, there are many computers in the set is, trying to get the software at the same time or within a very short period of time. For example, when the software is an upgrade for security, there is a desire to deliver software many computers as quickly as possible, to prevent malicious attacks on computers or network. When software is a new application designed for systems that are widely used in the corporate campus, can be widely deployed software system for a short period of time. When the software is highly anticipated release (release), a large number of users may try to download the software to be among the first to use this software. Software distribution on a large scale may require servers to large values and large network bandwidth. Such large-scale load can be particularly unpleasant in a network environment where multiple branches connected by hub enterprise in the corporate headquarters. In this example, when the software is distributed from the hub of the enterprise, the network connection between the hub por the human resource and the branch can limit the number of computers, which can be updated at a certain time, even when the server is in the hub of the enterprise has sufficient capacity to provide software many or all computers in the branch.

There are several methods that were used to distribute the workload for large downloads. For example, in a corporate environment deploying new software can only be achieved with the deployment of the software on a limited number of computers in the network in due time. Alternatively, the caching intermediary (proxy) can be placed within the network in order to distribute the software to a subset of computers on the network. To implement both of these solutions require careful planning. In addition, in the case of caching proxy servers additional computer hardware are added to the network, increasing the network cost.

While various problems were identified in the description of the prior art, the invention defined in the claims below do not necessarily apply to any of the identified problems. This description of the prior art is simply to provide background for one exemplary environment, where variants of the embodiment described ZV is camping, can be implemented.

DISCLOSURE of INVENTIONS

One variant of the embodiment described herein includes a method of caching and sharing files. The method can be implemented, for example, in a computer system in a computer network that includes one or more network computers. The method includes creating a list of peer devices, including a list of potential peer servers from among one or more networked computers. A list of peer devices includes not more than a predefined number of potential peer-to-peer servers. Potential peer servers in the list of peer devices do a survey about the file or part of the file. Message from the peer server in the list of peer devices, when received, indicates that the peer server is a file or part of the file available for download. The computer system loads the file or part of a file from a peer server.

Another variant of the embodiment described herein includes a method of caching and sharing files. The method can be implemented, for example, in a computer system in a computer network that includes one or more network computers. The method includes sending a message that the computer system is on the vent as the peer device. A computer system receives a request to detect whether the computer system file or part of the file. The computer system sends a message that the computer system has a file or part of the file. Sending a message that the computer system has a file or part of the file is performed based on dynamic rules opt-in/opt-out to take part/to refuse to participate). The computer system receives the request to download the file. The computer system sends the file to the requesting system.

Another variant of the embodiment described herein includes a method of caching and sharing files. The method can be implemented, for example, in a computer system in a computer network that includes one or more network computers. The computer system sends a circular signal computer systems on the subnet to discover potential peer-to-peer devices. A computer system receives a unicast transmission or, alternatively, a multicast signal from one of the computer systems on the subnet. Computer system adds one of the computer systems on the subnet to the list of peer devices. A list of peer devices includes not more than a predefined number of peer devices. The computer system sends a signal to deadrise transfer one of the computer systems on the subnet, to detect whether one computer system file or part of the file available for download. The computer system receives the signal unicast from one of the computer systems on the subnet, which indicates that this is one of the computer systems on the subnet has the file or portion of a file available for download. The computer system loads the file or part of the file from one of the computer systems on the subnet.

Disclosure of the invention provided to introduce a selection of concepts in a simplified form that are further described in the detailed description below. This disclosure of the invention is not intended to identify key features or the main features defined in the claims, and it is not intended to be used as an aid in determining the scope of the claims defined in the claims.

BRIEF DESCRIPTION of DRAWINGS

In order for the method in which the above-mentioned and other features, in particular, a description will be provided in respect of certain variants of the embodiments that are illustrated in the attached drawings. Understanding that these drawings depict only typical variants of the incarnation and therefore can not be considered as limiting the scope of the claims of the invention, various embodiments will be described the Ana and explained with additional specificity and detail using the attached drawings, in which:

Figure 1 illustrates a block diagram of an exemplary network;

Figure 2 illustrates a block diagram of the algorithm that shows how to cache and share files from the client's perspective; and

Figure 3 illustrates a block diagram of the algorithm that shows how to cache and share files from the point of view of peer-to-peer server.

Figure 4 illustrates a block diagram of the algorithm for detecting peer-to-peer devices and download the file or part of the file.

The IMPLEMENTATION of the INVENTION

One variant of the embodiment described herein includes an improved distribution system file which takes into account the distribution of the file that is to be removed from the Central file server. In this example, the distribution and caching of file move to the edge of the network. This helps to reduce the load on centralized file servers and distribute network traffic across the network as opposed to the concentration of network traffic on multiple centralized network connections. Specifically, in one variant embodiment of the computers cache and collectively use the files using peer system. The computer system will first create a list of peer devices includes a list of potential peer servers from among the underwater or more network computers. In this variant embodiment, the list of peer devices is limited to a predetermined number of peer devices. The system can then be authenticated peer device in the list of peer devices. The system can then make a survey of peer-to-peer devices from the list of peer devices to find the peer device that contains the file or part of the file requested by the computer system. If one of the peer devices in the list of peer devices respond, indicating that it has available the file or part of the file, the file or part of the file can be downloaded from peer-to-peer pointing device. If no peer device does not meet the guidelines that they have a file or part of the file system, requesting a file, you may download a file from a Central file server and can then specify other computer systems that it has the file or part of the file available for download. In response to an indication that she has the file or part of the file available for download, other computer systems can add the computer system to their list of peer devices, which includes a list of potential peer-to-peer servers, as will be described in more detail below. Especially, other peer-to-peer system can add a pull comp the computer system to their list of peer devices in response to a query about finding peer devices, which contain the file or part of the file.

Computer system, in one exemplary variant of the embodiment can create a group of peer devices from computers that are not linked to the Central server or hub. For example, the group of peer devices can be formed in the branches of the enterprise network, the computers on a common hub or router in order to avoid peer-to-peer connection devices through the expensive connection type cable modem connections, etc. Therefore, the smaller the amount of network traffic and server resources in order to distribute the file to the group of peer devices, where files can be cached and loaded. In this way processing capability and network required to distribute software and updates are moved from a centralized location in the network to the network boundaries in order to more evenly distribute computing and network requirements.

Refer now to Figure 1, where the illustrated exemplary topology 100. Topology 100 includes many of the computer systems 102, 104, 106, 108, 110. Computer systems 102-110 are related through any of the many means of mutual communication. For example, computer systems 102-110 may be connected through a network connection t the PA implementation Ethernet IEEE 802.3, wireless Ethernet connections such as those that conform to IEEE 802.11, wireless Blue-Tooth, dial-up telephone network connections, cable modem connections, etc. In the shown variant embodiment of a computer system 102-110 are linked to form a group 112 peer devices. In this example, the group 112 peer devices is one group of potential peer servers for computer system system type notebook computer 106. In one variant embodiment, each computer system maintains a list of peer devices, which includes a list of potential peer-to-peer servers from which a computer system can download the file. The formation of a group of peer devices will be discussed in more detail below.

Figure 1 further illustrates that the group 112 peer devices associated with the Central file server 114. While connecting to a Central file server 114 is shown as a single connection, in alternative embodiments different connections can be used so that each of the computers 102-110 may have access to the Central file server 114, or in other configurations. For example, the group of peer devices may be connected in the branch corporate enterprises, where the branch with distesa with the Central file server 114, located in the hub of the enterprise. Various other relationships can also be established.

In the shown example, the file server can store the file 116 or part of the file. File 116 may be, for example, update software, update security patches for the operating system, application, data file, or other software. File 116 may be loaded or placed in one of the computers of the computer system 108. Computer system 108 can then act as a potential peer-to-peer server with the cached copy of the file 116. Other computer systems 102, 104, 106, 110 may then request the file 116 from the potential of peer-to-peer system server 108. This way, network traffic, connection 118 between the file server and the group 112 peer devices may be reduced in some embodiments of the incarnation. Further processing of the Central file server 114 may be reduced.

As mentioned earlier, Figure 1 illustrates one of the computer systems - system laptop 106 and the fact that the band 112 peer devices is in the list of potential peer servers that are supported by the system of the laptop 106. Laptops and other portable computers, including handheld devices, personal assistants, cell phones, etc. on the AMA, they are portable and can be physically and logically different parts of the network. The laptop 106 may be, for example, moved to the location of logical or physical, which is not practical for a laptop computer 106 in order to download files from the group 112 peer devices. For example, the laptop 106 may be logically moved to a different subnet that is different from the group 112 peer devices. Alternatively, the laptop computer 106 may be physically moved to a location that requires excessive amounts of network traffic for a laptop computer 106 to communicate with other group members 112 peer devices. In a variant embodiment, which is shown in figure 1, the laptop 106 creates another group peer-to-peer device group type 120 peer-to-peer devices, which are shown in Figure 1. The laptop 106 may maintain information about the first group 112 peer devices and the second group 120 peer devices so that the laptop 106 may receive the file when it is associated with the first group 112 a peer device or the second group 120 peer-to-peer devices, or any other group of peer devices, the laptop 106 has a list of peer devices.

When computer system in the group 112 peer-to-peer device receives the file 116, the computer system must decide which file is the right file and that it is not damaged. Determining that the file is the correct file is and what it is not povrejdeno, can be achieved, for example, by comparing the file names, file size, hash value, etc. for Example, a computer system may have received information about the file, including file name, file size and hash value of the file. The hash value is a value calculated using the data in the file to generate the values in such a way that it is extremely unlikely that some other data will generate the same hash value. The computer system may determine that the correct file by comparing the file name, file size and/or the hash value. In addition, the hash value can be used to ensure that the file has not been destroyed or maliciously modified.

If the computer system detects that the correct file is not available, that the file was invalid or that the file has been maliciously modified, the computer system may then request the file 116 directly from the Central file server 114. Computer system, directly querying the file 116 with the Central file server 114 may then notify yourself as a potential storage system containing the file 116.

Particularly, in one variant embodiment, the group of peer devices, as described above, is supported and is specific for each computer system. Thus, the control group ognore the retail device is moved from a Central location using the system without Central control. This eliminates single point of failure for the entire network. To put it another way, the loss of one of the list of peer devices or one system with a list of peer devices will not disable the entire system of distribution and caching of file that can occur when using a single centralized server to manage groups peer devices.

Refer now to Figure 2, where the illustrated method 200 caching and sharing files. The method can be implemented in a computer system, which is a computer network that includes one or more network computers.

Figure 2 illustrates the step of building a list of peer devices (step 202). A list of peer devices includes a list of potential peer servers from the group of networked computers types of computer systems 102-110, illustrated in figure 1. A list of peer devices may be such that it includes not more than a predefined number of potential peer-to-peer servers. For example, a list of peer devices can be designed so that no more than 100 potential peer servers included in the list of peer devices. Further, it is also desirable that the computer system is neither 102-110 in the group of peer devices were adjacent from the point of view of the network. For example, it may be desirable to computer systems 102-110 in the group 112 peer devices were located in the same branch of the enterprise network. In alternative embodiments it may be desirable to computer systems 102-110 in the group 112 peer devices were located on a common hub, router, or switch. In some alternative embodiments it may be desirable that none of the peer device was not connected with each other through the expensive connection of this type as an alien modems or connect with high traffic. Other neighboring logical configuration can also be implemented. For example, in one variant embodiment, a computer system can use the synchronization method in order to determine the proximity of the computers. There are several methods that can be used alone or in combination, to formirovanii list (202) peer devices. Examples of these methods will now be discussed below.

One way to list building (202) peer-to-peer device involves sending a query request and receiving responses from computers. To limit the number of potentially responsible peer devices, the query request may be, for example, circular or transmitted gruppovoj the mailing subnet to get answers to a separate subnet. However, even if the answer only computers on a separate subnet, the number of responses still could be overwhelming. Thus, to further limit the number of responses, computer system, sending the query request may include in the request the request an indication of the desired number of peer devices. Potential peer-to-peer device can be configured to meet, using group response after an accidental short interval, and "listen" to listen to group the responses of other computers. Potential peer device will not respond if it has detected that you already found the answers from other potential peer devices containing an indication of the desired number of peer devices. In other words, potential peer device will not respond, if you have already answered some desired peer-to-peer devices.

Can be used several ways to generate random short interval. For example, in its simplest embodiment a uniform random distribution can be used each potential peer device to decide how long to wait for an answer to the petition. An alternative method involves the use is the use of nonlinear propagation, where there is less potential peer devices meets at the beginning and more answers when the delay becomes longer. For example, one way of combining nonlinear delay may include generating a random number between 0 and 1. The delay can then be defined by the following equation:

DELAY = MAX_DELAY*Log (C*X+1)/Log(C+1),

where DELAY is the delay before responding, MAX_DELAY is the maximum time given in order to get answers, X is a random number and C is an arbitrary type number 256. Other nonlinear random delay can also be used.

In another example, the system can respond without delay, and the computer system may add peer-to-peer device to the list of peer devices until it has quite a lot of peer devices to populate the list of peer devices. In this example, peer-to-peer devices that meet the fastest, can be logically closest to the computer system, sending the query request. In this example, the computer system can measure the time for potential peer devices to see how quickly they respond to the petition. Only the quick response of potential peer-to-peer devices will be added to the list of peer devices. Thus, the computer system may be able the select peer-to-peer device, best suited for a group of peer devices, taking those that are logically closest or able to respond most quickly.

The query request may also include a group type of trust group. Potential peer-to-peer device will ignore requests associated with other trust groups. Even when the trust group are used in the query request may still be a need to authenticate the peer device, as described in more detail below. Trust group serves as a way to clean out the answers from other trust groups within the same subnet so that the overlapping motions within the subnet did not cause interference with each other. In one variant embodiment, the query request may include identification of the content, the desired computer system. As described below, potential peer-to-peer devices respond if they have identified the content and satisfy other restrictions on their participation. This makes the content more effective, because the only query about the content reaches all potential hosts. This alternative embodiment may be less private because unauthenticated hosts can see what the content is, the W is required. The requirement of a one-way hash of the URL or hash of the content can be used to enhance privacy in this variant embodiment.

In another example, creating a list of peer devices may include a computer system receiving Samooborona group package from potential peer-to-peer devices. Samooborona includes an indication that the potential peer device has the files or parts of files that you can deliver the computers in the network. When such notification is received, the computer system may add potential peer device to its list of peer devices. Samooborona can be done, in one alternative embodiment, on a regular basis. In one example, the notification may be made once per hour or more times during the day.

The computer system can samoopravdatsya when they have files to share and when the characteristics of their hardware, the current load of the processing or other characteristics allow them to act as peer-to-peer server. Notify the computer system can get the files 116 from the Central file server 114 or from the other peer devices in the group 112 peer devices. The computer system can be defined to the data files, they will not be smooposte. This allows computer systems to protect certain files.

In alternative embodiments potential peer-to-peer device can notify myself when it was added to the network, for example, through group newsletter. The computer can then add this new computer to your list of peer devices, if there is a need for peer-to-peer devices in the list of peer devices. In this case, the computer system may add peer-to-peer device to the list of peer devices when it receives other types of group announcements and answers. For example, computer system, respond to the answers related to the above-described variant embodiments, reply with a random delay time, can add any computer systems that respond to the initial request to your list of peer devices. Similarly, almost any response or alert can be used to determine which computers are available as potential peer-to-peer devices for a list of peer devices.

The computers in the list of peer devices can be confirmed or not confirmed. Validated computer system are those that passed the authentication, how do you is Elena below. Peer-to-peer device in the peer list of devices should not be confirmed immediately being added to the list of peer devices, but rather they can be confirmed approximately together with the requesting peer device in the list of peer devices for a file or part of the file (step 206), discussed in more detail below. However, once the peer device in the peer list of the devices was confirmed, the computer system and the peer device can share the key so that validation should not be performed for subsequent requests for the file.

Part of the process of building a list of peer devices may include updating the list of peer devices to remove stale entries or delete entries that are no longer valid. For example, a computer system can remove entries from the list of peer devices after the records have been in the list of peer devices predefined period of time. This ensures that obsolete records are of limited duration. In another alternative embodiment of the recording peer devices can be removed in response to the group message issued by the peer device when the peer device is out of network. For example, group one-way message "Bye" send as the best notification to the other peer devices when the peer device is preparing to leave the network. When the message "Bye" detected by the computer system, a peer device that sends the message "Bye"can be removed from the list of peer devices. The message "Bye" may be less preferred because a malicious computer can use the query "Bye" to make sure that other computers have been removed from the list of peer devices that will cause more computers making requests to the Central file server. In another example, the peer device may be removed from the list of peer devices, when an attempt is made to make the requesting peer device in the subject file and received an error indicating that the peer device is no longer in the network. In one variant embodiment of a computer system may abandon all records in the entire list of peer devices when multiple requests to other peer devices in the list of peer devices leads to error messages. This may be an indication that part of the network to which the computer system is trying to contact is no longer available. In another embodiment, is embodied what I peer device may be removed from the list of peer devices, if it does not pass the validation confirmation. This is discussed in more detail below, but, in other words, when the peer device does not pass the validation confirmation, it is an indication that the peer device cannot be trusted. In this case, the peer device may be removed from the list of peer devices, if the files received from the peer device, do not pass certain checks type safety comparisons of hash. This is also discussed in more detail below.

When a sufficient number of peer devices was removed from the list of peer devices, steps to build a list of peer devices described above can be repeated. Especially the steps described above may be used singly or in combination.

The computer system can support more than one list of peer devices. For example, in figure 1, illustrated is an example system of the laptop 106. As explained, the system of the laptop 106 may be physically or logically moved. In one variant embodiment, the laptop computer 106 may be logically moved so that it resides in a different subnet than the first group 112 peer devices. The system of the laptop 106 may detect it, moving to a new subnet, and in response to the detection of this move, but in the second subnet, the system of the laptop 106 may perform actions, described above to formirovanii a list of peer devices to formirovanii new list of peer devices for the new subnet. If the system is a laptop computer 106 regularly is a member of the specific subnets, it can maintain a list of peer devices for these subnets to avoid the need to take steps to build the list of peer devices every time it connects to the subnet. The number of different lists of peer-to-peer devices of the computer system supports may be statically defined, or, alternatively, the number may be configurable by the user or the network administrator.

Especially, there may be situations where a computer system moves to a new subnet, but does not generate a new group of peer devices. For example, if the laptop will go in the Internet cafe, it probably will not generate a new group of peer devices. Communication with the available peer-to-peer devices may be too dangerous for this and other situations.

The computer system may also be configured to formirovanii a list of peer devices when they are first added to the network. This can be done with any new computer system and is not limited to systems of a laptop.

Contact chem is again to Figure 2, showing step authentication of computers in the list of peer devices (step 204). Authentication includes confirmation that the peer device is a trusted machine. In one variant embodiment of a computer system can verify that the peer device is a member of a specific security group. The confirmation may be performed, for example, when using this Protocol is that computer system, and the peer device to perform mutual authentication. Thus, identity and computer systems, and peer-to-peer devices confirmed to prevent computer system or peer-to-peer device from a list of peer devices from the "simulate" other that they are in the same security group. One Protocol for the mutual authentication may be Kerberos. If the peer device does not pass validation, the peer device may be removed from the list of peer devices.

As soon as the peer device has been confirmed, the computer system and the peer device can share the key so that subsequent validation should not be performed prior to subsequent surveys. The key may be the expiration period to the so trust validation effective. This expiration period may be one example of one day.

As soon as the peer device has been confirmed, Figure 2 further illustrates the step of the requesting peer device in the peer list of devices on the file or part of the file (step 204). The requesting peer device in the list of peer devices, in one exemplary variant of the embodiment includes sending a unicast message to each of the peer devices in the peer list of devices until one of the peer devices will not say that it is a file or part of the file searched by the computer system. Note that as used here, a unicast transmission is a network request to a specific computer. Unicast described here does not require the use of datagram Protocol and may use other protocols such as TCP and others. In one alternative embodiment the computer system can send an overlapping set of unicast messages. For example, a computer system may send a unicast message to the peer device in the list of peer devices before receiving responses from peer devices, which previously sent unicast messages.

The message sent in the query process may include separazione parameters for to identify the file that is requested by the computer system. For example, the message may include one or more elements from the file name, file size, creation date of the file and/or file hash. In particular, when using a hash of the file, the system can detect that the correct file is available. Using a hash, a computer system may be able to detect when the file is the updated file, not duplicate the name of another file and so on

After the computer system has made a request to the peer device in the list of peer devices for a file or part of the file (step 206), the method illustrated in figure 2, shows the step of receiving a message from a peer server in the list of peer devices that the peer server is a file or part of the file available for download (step 208).

Deciding whether the peer device to act as a peer-to-peer server, the peer device may refer to different policy rules. Additionally, even when the peer device is a file in there, it's the peer device may not want to act as peer-to-peer server in accordance with the policy rules. Such policies can take into account the processing power of the computer system. For example, a powerful desktop computer or a computer the Ter class server can have policy rules, which allow him to act as peer-to-peer server for a larger number of peer devices and to communicate, for example, notebook type laptop system 106. Other rules can be related to the amount of available machine resources. For example, policy rules may restrict the ability of computer systems to act as peer-to-peer server, when using more than 10% of the resources of computer systems. System resources can be measured as the higher of CPU usage and load the disk I / o. Additionally, the laptop can refer to a policy that adjusts the number of peer devices with which the system of the laptop 106 may act as a peer-to-peer server, based on the functional condition of the system of the laptop 106. For example, when the system of the laptop 106 is connected with the docking station (docking station), it can be configured to serve a greater number of peer devices, than when it is not associated with the docking Assembly. Further, when the system of the laptop 106 is connected via a wired connection, you can allow him to serve a greater number of peer devices than when the laptop system 106 is connected wirelessly with computers peer-to-peer devices. In another example, the number of oteranga the output device, which allowed to connect with the laptop 106 may be defined by a policy associated with the battery level. For example, if the laptop runs on batteries and has less than 50%capacity, the system of the laptop 106 may follow a policy that rejects further connect computers as peer devices.

When the peer device decided to act as peer-to-peer server, peer-to-peer server sends a message back to the computer system, which will be received (step 208) computer system.

After the computer system has received a message from a potential peer-to-peer server in the list of peer devices, indicating that potential peer-to-peer server has the file or part of the file available for download, the computer system loads the file or part of the file (step 210). Loading can be done in any appropriate manner. Especially, as a reference to this description, a computer system can download part of a file as opposed to the entire file. Other parts of the file may be received from other peer-to-peer servers. In a small number of environments, this can help to increase the rate at which can be downloaded large files.

In one variant embodiment of the method 200 additionally includes confirmation of file or part of the file (the tap 212). Validation ensures that the file is the correct file, that the file has not been maliciously modified and/or that the file has not been corrupted. This can be achieved, for example, by computing a hash of the file or part of the file. If the calculated hash value will not match the expected hash value, then the computer system will refuse to file or part of the file. Additionally, the computer system may place the peer server that submitted the file in the quarantine list, indicating that the peer server is suspected. In alternative embodiments the peer server can be removed from the list of peer devices completely. The computer system can then try to receive a file from another peer device in the peer list of the devices or from the Central file server. The computer system may also notify the peer server that issued the file that there is a problem with the file. This will allow peer-to-peer server to refuse the file. Other computer systems may also be notified of the nature of the suspect file.

Refer now to Figure 3, where a variant embodiment illustrates a method 300 for caching and sharing files with the perspective of a potential peer-to-peer server. The method, illustrated n is 3, can be implemented in a computer system in the network, where the network includes one or more network computers.

The method 300 includes the step of sending the message indicating that the computer system is available as an ad hoc device (step 302). Sending a message that the computer system is available as an ad hoc device (step 302)may be performed using the group sent on the subnet, when a computer system has files for collective use. In an alternative embodiment, the sending the message that the computer system is available as an ad hoc device, can be performed using multicast or unicast transmission in response to receiving the query request from a system, searching for peers. Sending the message that the computer system is available as an ad hoc device (step 302), is performed in response to receiving the query request, the computer system can respond by using a random delay using the procedure described above together with the description of Figure 2.

The method 300 additionally includes the step of accepting the request to detect whether a computer system file or part of the file (step 304). The received message may be a unicast request from a system that has a computer is a system in the list of peer devices. In alternative embodiments, the request may be overlapping unicast, as described above. Group queries can also be used when you do not want protection for a file.

The method 300 additionally includes the step of sending the message indicating that the computer system has a file or part of the file (step 304). Sending a message indicating that the computer system has a file or part of the file (step 304), based on dynamic rules opt-in/opt-out to take part/to refuse to participate). For example, in one variant embodiment, the policy rules can take into account the processing power of the computer system. Powerful desktop computer or computer server may have policies that allow it to act as a peer server for a larger number of peer devices, other than a less powerful system. Other rules can be related to the number of available machine resources. For example, policy rules may restrict the ability of computer systems to act as peer-to-peer server, when using more than 10 % of the resources of computer systems. System resources can be measured as the higher of CPU usage and load the disk I / o. In alternative embodiments, associated with h is otsukimi, the laptop can refer to a policy that adjusts the number of peer devices for which the system of the laptop 106 may act as a peer-to-peer server, based on the functional condition of the system of the laptop 106. For example, when the system of the laptop 106 is connected with the docking station, it can be configured to serve a greater number of peer devices, than when it is not associated with the docking Assembly. Further, when the system of the laptop 106 is connected via a wired connection, you can allow it to serve a greater number of peer devices in contrast, when the system of the laptop 106 is connected wirelessly with peer computers. In yet another alternative embodiment, the number of peer devices are allowed to connect with the laptop 106 may be defined by a policy associated with the battery level. For example, if the laptop runs on batteries and has less than 50%capacity, then the system of the laptop 106 may follow the policy, which prohibits the further peer-to-peer connection of computers.

The method 300 additionally includes the step of accepting the request to download the file (step 308). The method 300 additionally includes the step of sending the file to the requesting system (310). This can be accomplished computer systems is th, acting as a peer server for other systems on the network.

Refer now to figure 4, where the variant embodiment is illustrated showing a method 400 of caching and sharing of files, which includes a variety of formats, message transfer. The method, illustrated in figure 4, may be implemented in a computer system in the network, where the network includes one or more network computers.

The method includes the step of the computer system, the sending of the circular signal computer systems on the subnet in order to detect potential peer-to-peer device (step 402). Circular transmitted signal may specify a desired number of predetermined number of responses. In an alternative embodiment of a circularly transmitted signal may include various parameters that allow a computer system to evaluate any answers to circular transmitted signal. For example, the parameters may take into account the response time evaluation of the characteristics of the hardware of the responding systems, etc.

The computer system then receives a signal from one of the computer systems on the subnet (step 404). This signal may include a list of files that may be available, the characteristics of the system that sends the signal, and so the Signal may be a group signal is Lee, in some cases, the unicast signal.

The computer system will add one of the computer systems on the subnet to the list of peer devices (step 406). A list of peer devices includes not more than a predefined number of peer devices. For example, a list of peer devices may include not more than 100 peer devices. This allows the computer system to limit the amount of processing resources and network usage required for finding the file or part of file to upload.

The computer system sends a unicast signal to one of the computer systems on the subnet in order to detect whether the computer system file or part of the file available for download (step 408). The computer system may repeat this process with other computer systems to discover where the file or part of the file can be located. Especially unicast signals may overlap so that unicast transmission can occur simultaneously from the same computer system.

A computer system receives a unicast signal from one of the computer systems on the subnet, indicating that one of the computer systems on the subnet has the file or portion of a file available for download (step 410).

The computer system can then download the file or part of the file from one of the computer systems on the subnet (step 412).

Specialists in the art will appreciate that the invention may be practiced in network computing environments with many types of configurations of computer systems, including personal computers, handheld devices, multiprocessor systems or programmable consumer electronics, based on a microprocessor, network PCs, minicomputers, universal computers, and the like, the Invention may also be practiced in distributed computing environments where tasks are performed local and remote processing devices that are linked (hardware connections, wireless connections, or a combination of hardware or wireless links) through a communications system. In a distributed computing environment, program modules may be located in local and remote memory storage devices.

Variants of the embodiment in this invention also include computer readable media in order to carry or to have computer executable commands or data structures stored thereon. Such computer readable media can be any available media that can be accessed universal or specialized computer. As an example, but not limitation, such machine-readable media may include RAM, ROM, EEPROM, D-ROM or other optical disk storage, the magnetic memory disk or other magnetic storage devices, or any other medium that can be used to carry or store desired program code means in the form of computer executable commands or data structures, which can be accessed in a universal or specialized computer. When information is transferred or provided over a network or another communications connection (hardware, wireless, or combination of hardware or wireless) to a computer, the computer properly views the connection as a computer readable media. Thus, any such connection is properly referred to as computer readable media. A combination of the above should also be included in the scope of computer-readable media. Computer executable commands include, for example, commands and data that make a universal computer, a specialized computer or a specialized processing device to perform a certain function or group of functions.

Although the subject matter has been described in language specific to structural features and/or methodological acts, it is necessary to understand that the subject matter defined in the appended claims, is not necessarily limited to the specific features of the or actions, described above. Rather, the specific features and steps described above are disclosed as a form of variant example of implementation of the claims.

The invention may be embodied in other specific forms without departing from its meaning or essential characteristics. Described variants of the embodiment should be considered in all respects only as illustrative and not restrictive. The amount of the claims of the invention therefore marked in accordance with the attached claims and not in accordance with the previous description. All changes within the meaning and range of equivalency of the claims should be covered within their scope.

1. A method of caching and sharing files in a computer system in a computer network that includes one or more networked computers, the method comprises the steps are:
create a list of peer devices containing a list of potential peer servers from among one or more networked computers, and a list of peer devices includes not more than a predefined number of potential peer servers, and creating a list of peer devices includes the steps are:
(a) send the query request to one or more potential is noranguh devices includes specifying the number of desired peer-to-peer devices;
(b) accept a response message from a potential peer devices, and potential peer device to wait for a random time interval, while listening to a group of responses from other potential peer devices, and the potential peer-to-peer device detects the responses from other potential peer devices and determine the number of responses from other potential peer devices, and only send responses, if the potential peer-to-peer device has not detected a number of responses corresponding to the number of desired peer-to-peer devices from other potential peer devices, and do not send a response if they were detected, the number of responses from other potential peer devices identified in the number of the desired peer-to-peer devices;
(c) on the basis of messages received from potential peer devices add potential peer-to-peer device that sent the response as a potential servers in the list of peer devices, up to a predetermined number on the basis of messages received from one or more networked computers, and the potential servers are added to the list of peer devices according to the logical is some proximity of potential servers to the computer system;
(d) remove the candidate server from the list of peer devices; and
(e) repeating steps (a-C), when a predefined number of potential servers were removed from the list of peer devices;
ask potential peer-to-peer server in the list of peer devices for file (116) or part of the file;
take a message from a peer server in the list of peer devices that peer-to-peer server has the file or part of the file available for download; and
upload a file or part of a file from a peer server.

2. The method according to claim 1, in which the potential peer-to-peer devices that are waiting accidental short time interval, using a logarithmic random delay, computed as DELAY=MAX_DELAY·Log(C·X+1)/Log(C+1), where DELAY is the delay to answer, MAX_DELAY is the maximum amount of time granted for receipt of responses, X is a random number and an arbitrary number, in order to determine the amount of time to wait before a response.

3. The method according to claim 1, in which the sending and receiving is done by computers in the same first subnet.

4. The method according to claim 1, further comprising stages, which form the second list of peer devices by removing from the first subnet, connected to the second subnet, send and request the application; and receive answers from computers in the second subnet.

5. The method according to claim 1, wherein creating the list of peer devices includes the steps are:
take Samooborona group package from potential peer-to-peer device, and Samooborona includes an indication that the potential peer device has files that can be used by computers on the network; and
add potential peer device to the list of peer devices.

6. The method according to claim 1, wherein sending the query request includes an identification of the trusted group.

7. The method according to claim 1, additionally containing phase, which determines that the file or part of the file are corrupted, and in response to determining that the file or part of the file is corrupted, download the file or part of the file from a Central server.

8. The method according to claim 7, in which determining that the file or part of the file are corrupted, includes a stage on which the reference hash value.

9. The method according to claim 1, additionally containing phase, which determines that the file or part of the file is not available from any of the computers in the list of peer devices, and in response to determining that the file or part of the file is not available from any of the computers in the list of peer devices, download the try file or part of the file from a Central server.

10. The method according to claim 1, additionally containing a phase in which authenticate the computers in the list of peer devices before polling in the list of peer devices on the file or part of the file.

11. A method of caching and sharing files in the first computer system in a computer network that includes one or more systems of networked computers, the method comprises the steps are:
take the query request, the query request sent from one or more potential peer devices, including specifying the number of desired peer-to-peer devices;
wait for a random interval of time while listening to a group of responses from other potential peer devices and detects the responses from other potential peer devices to determine the number of responses from other potential peer devices and only send responses to the request of the petition, if the number of answers corresponding to the number of desired peer-to-peer device was not detected, and not send responses if the number of responses from other potential peer devices identified in the desirable number of peer devices was detected;
detects after the expiration of the random time interval that the number of responses corresponding to the Isla desired peer-to-peer devices, was not detected, and as a result send a message to one or more computer systems in the same subnet as the first computer system so that the first computer system is available as peer-to-peer devices;
in the send a message to one or more computer systems in the same subnet as the first computer system, that the first computer system is available as peer-to-peer device;
accept the request from the requesting system to detect whether the first computer system file or part of the file;
in response to a discovery request, whether the first computer system file or part of the file, send the message to the requesting system that the first computer system has a file or part of the file;
the result of sending the message that the first computer system has a file or part of the file, accept the request from the requesting system to download the file; and
in response to receiving the request to download the file, send the file to the requesting system.

12. A method of caching and sharing files in a computer system in a computer network that includes one or more networked computers, the method comprises the steps are:
(a) send a circular transmitted signal on a computer system within a subnet, h is usually used to detect potential peer-to-peer device, moreover, circular transmitted signal includes an indication of the desirable number of peer devices;
(b) accept a response signal from one of the computer systems on the subnet, and one of the computer systems waits for a random interval of time while listening to a group of responses from other potential peer devices, and one of the computer systems will detect responses from other potential peer devices and determines the number of responses from other potential peer devices and only sends a response signal, if one of the computer systems has not detected the number of responses from other potential peer devices corresponding to the number of desired peer-to-peer devices, and does not send a response signal when it has detected a number of responses from other potential peer devices specified in number of the desired peer-to-peer devices;
(c) selectively add one of the computer systems on the subnet to the list of peer devices based on logical proximity to one of the computer systems, and a list of peer devices contains not more than a predefined number of peer devices;
(d) remove the peer device from the list of peer devices;
(e) selectively add peer-to-peer device in the list Oder govich devices when a predefined number of peer devices was removed from the list of peer devices;
send a unicast signal to one of the computer systems on the subnet to discover whether one of the computer systems the file or part of the file available for download;
take a unicast signal from one of the computer systems on the subnet, which indicates that one of the computer systems on the subnet has the file or portion of the file is available for download; and
upload a file or part of the file from one of the computer systems on the subnet.



 

Same patents:

FIELD: information technology.

SUBSTANCE: service rendering method realised on a computer, in which a client pseudo-virtual path, which establishes conformity directly with a service, is provided. The pseudo-virtual path includes a special marker which identifies a pseudo-virtual path. Content following the special market establishes conformity directly with the service by identifying, for example, information on type associated with the service. The pseudo-virtual path can be formed through an application program interface and can also be encoded before transmission to a client.

EFFECT: fast service accessing by a client.

15 cl, 8 dwg

FIELD: information technologies.

SUBSTANCE: request of subscription is created from viewer, in order to realise access to additional paid content, parametre of viewer identification is formed in receiver in response to request of viewer subscription, parametre of viewer identification is saved in receiver, parametre of viewer identification is sent, as well as request of viewer subscription from receiver to broadcasting station along feedback channel, viewer access is authorised to additional paid content, parametre of viewer identification is sent, which has been received at the stage, from broadcast station in transport DVB-stream substantially to all receivers in broadcasting system, a transport DVB-stream is received in receiver, and requested additional paid content is unlocked from transmitted transport DVB-stream in receiver with use of transmitted parametre of user identification and stored parametre of viewer identification.

EFFECT: provision of conditional access to additional paid content received via medium of transfer in broadcasting system with support of multimedia home platform or platform of applications of open channel.

27 cl, 3 dwg

FIELD: radio engineering.

SUBSTANCE: device includes memory for association of at least one channel identifier set by user with at least one element of selection in device and control unit related to memory. At the same time control unit is arranged with the possibility to play channel identifier set by user when user activates according element of selection.

EFFECT: spreading of technical measures range.

26 cl, 8 dwg

FIELD: physics, communications.

SUBSTANCE: invention relates to communication networks, and particularly to providing different types of services in a digital broadcast system. The invention discloses devices and methods of transmitting information on the type of a service or program and/or interactivity or information on interactivity for the service or program. A parameter or attribute is provided in an ESG fragment for indicating the type of program or service or type of interactivity associated with the program or service. In another example, a first parameter is provided for indicating the type of program or service, and a second parameter is provided for indicating the type of interactivity associated with the program or service. The parameter or attribute may be included in metadata of the ESG fragment.

EFFECT: efficient and accurate provision of information on interactivity in an electronic service guide (ESG).

34 cl, 9 dwg, 4 tbl

FIELD: information technology.

SUBSTANCE: parametre, element or sub-element may be included in a service guide or other data fragment indicating the location within which the program, service or corresponding ESG fragment(s) may be broadcast. For example, a Cell ID may be indicated as an element or sub-element in an ESG fragment to indicate the location in which a program or service may be broadcast. Also, Cell IDs may be grouped to indicate a larger region in which to broadcast a program or service and corresponding ESG fragment(s) in a service guide.

EFFECT: standard method of providing information for determining location through varying communication systems.

29 cl, 6 dwg, 2 tbl

FIELD: information technologies.

SUBSTANCE: method includes the following stages: receipt of the first control message (ECM1), containing at least one control word (CW) and time score (TS); receipt of the second control message (ECM2), following the first control message (ECM1), besides, the second control message contains at least one control word (CW) and time score (TS); detection of duration of time period, corresponding to difference between time scores (TS) of two serial messages ECM1, ECM2; increasing counter of errors (CE) in case specified duration of time period is less than previously set duration (CP); reducing counter of errors (CE) in case specified duration of time period equals or exceeds specified previously set duration; return of control word (CW) into module of processing (STB) as waiting time expires, which depends on value of counter of errors (CE).

EFFECT: prevention of access to coded content in case of fraudulent use of decoders.

16 cl, 6 dwg

FIELD: information technologies.

SUBSTANCE: method to obtain personal user information from user of device, to authenticate the specified user, besides, obtained personal user information is stored in specified device, includes stages of automatic detection, as device is switched on, whether it is required to obtain personal user information from device user; at that it is required to obtain personal user information in case if the specified device does not contain any personal user information, or if personal user information already available in the specified device, is not complete, or if personal user information stored in the specified device is outdated; and to execute an action to obtain specified personal user information, if it has been detected that obtaining it is required.

EFFECT: facilitation of work with applications of electronic wallet.

18 cl, 2 dwg

FIELD: information technologies.

SUBSTANCE: invention relates to method of control of access to data (CT) coded by means of control words (CW) received by protection module in control messages (ECM) and returned to module of coded data processing. Control messages (ECM) contain at least the first control word (CW1) and the second control word (CW2), at the same time each of specified control words provides access to coded data (CT) during the specified period of time called cryptoperiod (CP). Method includes the following actions: transfer of coded data into at least one module of processing; and transfer of control messages (ECM) into specified processing module, besides, control messages (ECM) contain at least two specified control words (CW1, CW2) and are sent to processing module after transfer of data coded by means of the first control word (CW1) and prior to transfer of data coded by means of the second control word (CW2), time shift between transfer into module of processing of data coded by means of the first control word (CW1) and transfer of control message (ECM), containing the first control word (CW1) and the second control word (CW2), makes more than 75% of cryptoperiod.

EFFECT: prevents access to coded content with fraudulent use of two decoders with only one module of protection.

4 cl, 4 dwg

FIELD: information technology.

SUBSTANCE: when a device changes its position relative transmitters, one transmitter will possibly be identified as the one transmitting the strongest or highest quality signal. When that determination is made, the user of the mobile device is provided with the opportunity to switch to receiving the signal from that transmitter. Based on the user reply, the device can continue working with the current transmitter, even though it does not have the strongest signal, or the device can be configured to detect and start receiving a signal from a new transmitter. Measurement of the quality of the signal from the transmitter can be based on a composite factor which combines a number of individual measurements made over predetermined periods of time.

EFFECT: switching from one wireless broadcast network to a neighbouring broadcast network in a way which is efficient and convenient for the user.

21 cl, 6 dwg

FIELD: information technologies.

SUBSTANCE: traffic volume formed by communication terminals subscription to combined web-channels is monitored for connection of point-to-point type, at the same time communication terminals are capable of broadcasting reception. Costs of traffic volume delivery are compared to specified threshold value. If costs exceed threshold value, web-channel is redirected to a broadcasting network, which starts channel transmission. Message that gives a command to start receiving web-channel from broadcasting network is sent to communication terminals with the possibility of broadcasting reception and subscription.

EFFECT: provision of efficient distribution of content to large number of users relative to throughput capacity of transmission channel.

24 cl, 8 dwg

FIELD: information technology.

SUBSTANCE: session restriction instruction is received when establishing a restricted session, where the restriction restricts those whose invitation can invite to participate in the session or restrictions restrict actions which an invitee can perform over session messages. An invitation to take part in a restricted session is then sent from an inviter to an invitee and an instruction is received form the invitee indicating that the invitee will participate in the session and whether the invitee will comply with the session restriction. If the invitee will comply with the session restriction, the restricted session is conducted.

EFFECT: possibility of imposing session restrictions so that unwanted users cannot participate in these sessions or see content of messages of these sessions.

18 cl, 9 dwg

FIELD: information technology.

SUBSTANCE: service rendering method realised on a computer, in which a client pseudo-virtual path, which establishes conformity directly with a service, is provided. The pseudo-virtual path includes a special marker which identifies a pseudo-virtual path. Content following the special market establishes conformity directly with the service by identifying, for example, information on type associated with the service. The pseudo-virtual path can be formed through an application program interface and can also be encoded before transmission to a client.

EFFECT: fast service accessing by a client.

15 cl, 8 dwg

FIELD: information technologies.

SUBSTANCE: device comprises joined programmable logical integral circuit, microcontroller and controller of peripheral bus. Microcontroller is arranged with the possibility of analysis at the stage of initialisation of configuration pack received from central processor, and re-configuration of programmable logical internal circuit, and with the possibility to forward arguments of procedure call, included into composition of "execution request" pack received from central processor, to the inlet of programmable logical integral circuit.

EFFECT: higher efficiency of processor operation by simplification of integration of coprocessor activity control procedures into existing software of basic digital computer.

3 cl, 3 dwg

FIELD: information technologies.

SUBSTANCE: core of intellectual Grid-system is a server, which selects user programs from relation database, starts these programs at remote highly efficient computer resources, saves results of programs operation in the form of files in database for interaction with server and processing of its commands at each remote computer resource, tracks and notifies the server about the resource status and programs started on it, provides for storage of files with design programs, initial data and results, maintains queues of tasks on the basis of user criteria, tracks conditions of accessible computer resources, transfers user programs to computer systems, reception and preservation of files with produced results.

EFFECT: higher efficiency of functioning of parallel calculations in solution of complex resource-intensive tasks.

12 dwg

Network system // 2409843

FIELD: information technology.

SUBSTANCE: apparatus has an object with an object identifier which is defined in accordance with the substance of the service provided by the apparatus. When a service request is received using the object identifier from a network device connected to the apparatus over a network, the apparatus renders the service defined in the object in accordance with the given service request. By allocating the same object identifier to objects of several devices, the same service can be provided from these devices in accordance with the service request, executed by from the network device by using the same object identifier.

EFFECT: possibility of individual remote management or remote control of a device connected to a network through a network device.

14 cl, 9 dwg

FIELD: information technology.

SUBSTANCE: update service root node and a set of update service nodes are organised in a hierarchical order such that the update service root node is the update service parent node with respect to one update service daughter node, a first update service daughter node from a set of update service daughter nodes is the parent node with respect to a second update service daughter node, the update service root node includes a first administration application program interface API and a first administration user interface, which receive from the administrator a first set of rules for distributing software updates to certain update service daughter nodes from the set. The update service node contains an update web service, client update module, a decedent update module, a reports module, an identification/authorisation module, an administration application program interface API, an administration user interface, an update content storage and an update information storage.

EFFECT: broader architecture for distributing software updates and high efficiency of monitoring distribution of updates.

29 cl, 9 dwg

FIELD: information technology.

SUBSTANCE: system has a server for generating a device control scheduling context, which includes a device control command and a condition for transmitting the created device control scheduling context to a terminal in order to execute the device control command; and a terminal having a first module for receiving device control scheduling context from the server, a second module for scheduling device control by giving device control commands and condition for executing said device control command using the received device control scheduling context, a third module for tracking whether the said condition is satisfied, as well as power on or off state, and a fourth module for executing the scheduled device control command in accordance with tracking results, which enables to prevent unsuccessful device control associated with power off.

EFFECT: device control with checking of whether power is on or off.

4 cl, 5 dwg

FIELD: information technology.

SUBSTANCE: system has a client computer which can execute an application program of an electronic worksheet to create a workbook having a region containing data objects. The workbook may be published on a server computer where said data objects are opened as server data sources. The server computer enables client applications to detect and connect with data objects contained in the workbook as with server data sources.

EFFECT: possibility of opening and using workbook regions as server data sources.

14 cl, 5 dwg

FIELD: information technology.

SUBSTANCE: invention discloses a method and a machine-readable medium for previewing and performing operations on e-mail attachments. A first window area containing a list of e-mail messages and information which identifies any e-mail attachments is displayed. When an attachment is selected, a preview is generated and displayed for that attachment in a second window area adjacent to the first window area. Operations which can be performed on the attachments are also identified and made available. One provided operation enables fast creation of a replay message to an e-mail message which includes an altered version of the initial attachment.

EFFECT: performing operations on e-mail attachments.

9 cl, 5 dwg

FIELD: information technology.

SUBSTANCE: multilayer multiprocessor ship information management system (IMS) also includes a common local area network (LAN) and computing devices of control panels consist of a system and graphic electronic computer connected together the LAN for inter-computer exchange, the system computer having outputs to the main and standby LAN for second and third layer information and the graphic computer having an output to the common LAN. The system computer is connected to a touch pad and a mouse. The graphic computer is connected to several display devices, a keyboard and a ball mouse.

EFFECT: faster operation, high reliability, broader functionalities of information management systems, standardisation of control panels.

3 cl, 1 dwg

FIELD: electric engineering.

SUBSTANCE: method includes estimation of quality coefficients of electric energy in electric energy system, determining degree of matching of these coefficients to normal values, forming of control signal for correcting devices and predicting electric energy characteristics expected after effect of these devices. On basis of analysis of predicted characteristics quality coefficients are newly estimated and if necessary control signals for correction devices are formed. Estimation of not only voltage and frequency is provided, but also current. Whole cycle is repeated for each node of electric energy system.

EFFECT: higher efficiency.

1 dwg

Up!