Method and system for managing distributed data
First Claim
1. A distributed data management method used by a process as a client using one or more sets of data and by two or more processes as servers providing data designated by a request from the client, in a computer system having two or more computers each executing one or more processes and interconnected by a network, the method comprising the steps of:
- (1) storing in memory of each of a plurality of servers past communications history between said each server and others of said servers;
(2) receiving from a first server a request for data, and selecting one or more third servers for transmitting the requested data at high speed from second servers which store the requested data based on communications history stored in the memory of said first server; and
(3) transmitting the requested data to said first server from said one or more third servers.
1 Assignment
0 Petitions
Accused Products
Abstract
Irregular and unstable natures of the Internet to be caused by an increase in Internet accessing users are alleviated and services of an information system more comfortable to users are provided. To this end, each servers among a plurality of servers cooperating to provide services stores the past communications line state (throughput and latency), and in accordance with the stored communications lines state, cache reference and prefetch are preformed between optional servers.
351 Citations
29 Claims
-
1. A distributed data management method used by a process as a client using one or more sets of data and by two or more processes as servers providing data designated by a request from the client, in a computer system having two or more computers each executing one or more processes and interconnected by a network, the method comprising the steps of:
-
(1) storing in memory of each of a plurality of servers past communications history between said each server and others of said servers;
(2) receiving from a first server a request for data, and selecting one or more third servers for transmitting the requested data at high speed from second servers which store the requested data based on communications history stored in the memory of said first server; and
(3) transmitting the requested data to said first server from said one or more third servers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A distributed data management method used by two or more processes as servers in a computer system having two or more computers each executing one or more processes and interconnected by a network, comprising the steps of:
-
performing a process in a first server of requesting two or more second servers to transmit necessary data to said first server in accordance with a possibility of a presence of the necessary data in said two or more second servers, wherein said process comprises the steps of;
(1) selecting by said first server one or more third servers from two or more second servers, (2) requesting the selected third server to transmit the necessary data, and (3) requesting the second server other than the third server to hold a transmission of the necessary data, and wherein said selecting step (1) comprises the steps of;
storing by the first server past communications history between the first server and the second servers in a memory, and selecting the third server from the second servers by using the past communications history. - View Dependent Claims (10, 11, 12)
-
-
13. A distributed data management method used by a process as a client using one or more sets of data and by two or more processes as servers in a computer system having two or more computers each executing one or more processes and interconnected by a network, the method comprising the steps of:
-
(1) storing by a first server in a memory, past communications history with time during a first time at a second time interval between the first server and two or more second servers;
(2) predicting by the first server a time when prefetch data can be acquired at high speed from one or more second servers having a possibility of possessing the prefetch data, by using the communications history with time, in order to request servers other than the first server to acquire the prefetch data before a request from the client, the prefetch data being expected to have a high possibility to be requested by the client in a future; and
(3) requesting by the first server at the predicted time the third server selected from at least some of the second servers to transmit the prefetch data. - View Dependent Claims (14)
-
-
15. A distributed data management method used by two or more processes as servers in a computer system having two or more computers each executing one or more processes and interconnected by a network, the method comprising the steps of:
-
(1) storing by a first server past communications history between said first server and second servers in a memory;
(2) selecting one or more third servers from second servers associated with the first server, by using the communications history; and
(3) transmitting from the first server to the second server at least part of a list of data possessed by the first server. - View Dependent Claims (16, 17)
-
-
18. A distributed data management method used by a process as a client using one or more sets of data and by two or more processes as servers, in a computer system having two or more computers each executing one or more processes and interconnected by a network, the method comprising the steps of:
-
(1) storing at least one of past communications history between a first server and second servers and request history from the client to the first server in a memory, (2) determining by the first server one or more second data sets having a higher frequency of a request following a request for a first data set in accordance with the request history;
(3) storing by the first server, as reference relationship information, data representative of a combination of a name of the first data set and names of second data sets; and
(4) exchanging the reference relationship information of the first server with reference relationship information of one or more second servers. - View Dependent Claims (19, 20)
-
-
21. A distributed data management method used by a process as a client using one or more sets of data and by two or more processes as servers, in a computer system having two or more computers each executing one or more processes and interconnected by a network, the method comprising the steps of:
-
(1) receiving by a first server a transmission request of a first data set from a second server;
(2) selecting one or more second servers expected to store a second data set having a possibility of being requested after the first data set; and
(3) requesting the selected one or more second servers to transmit the second data set to hierarchically prefetch the second data set from the first server to one or more second servers, and wherein said selecting step (2) comprises a step of;
selecting one or more third servers associated with the first server from one or more second servers by using past communications history between the first server and the second servers.
-
-
22. A distributed data management method used by a process as a client using one or more sets of data and by two or more processes as servers, in a computer system having two or more computers each executing one or more processes and interconnected by a network, the method comprising the steps of:
-
(1) predicting a time taken to acquire from the second server two or more data sets processed by the first server;
(2) scheduling an order of discarding two or more data sets by using the predicted time, and wherein said predicting step (1) is executed by using past communications history between servers. - View Dependent Claims (23)
-
-
24. A computer program product comprising:
-
a computer useable medium having computer readable program code means embodied therein for performing distributed data management by a process as a client using one or more sets of data and by two or more processes as servers providing data designated by a request from the client, in a computer system having two or more computers each executing one or more processes and interconnected by a network, the computer readable program code means in the computer program product comprising;
computer readable program code means for storing past communications history between first and second servers in a memory;
computer readable program code means for selecting one or more third servers from second servers by using the communications history, in accordance with a possibility that one or more second servers store necessary data for the first server; and
computer readable program code means for transmitting the necessary data from the first server to the third servers.
-
-
25. A distributed data management system comprising:
-
a network for interconnecting a computer as a client for using one or more data set and two or more computers as servers possessing one or more data sets for providing data designated by the client;
storage means for storing past communications history between a first server and one or more second servers;
means for selecting at least one second server having a possibility of possessing necessary data for the first server, in accordance with the past communications history; and
means for requesting the selected second server to transmit the necessary data.
-
-
26. A computer readable program product comprising:
-
a computer useable medium having a computer program embodied therein for performing distributed data management by two or more processes as servers in a computer system having two or more computers each executing one or more processes and interconnected by a network, said computer program comprising;
Computer program code means for requesting by a first server, two or more second servers to transmit necessary data to said first server in accordance with a possibility of a presence of the necessary data in said two or more second servers, wherein said computer program code means comprises;
first computer program code means for selecting by said first server selecting one or more third servers from two or more second servers, second computer program code means for requesting the selected third server to transmit the necessary data, and third computer program code means for requesting the second server other than the third server to hold a transmission of the necessary data, and wherein said first computer program code means comprises;
computer program code means for storing by the first server past communications history between the first server and the second servers in a memory, and computer program code means for selecting the third server from the second servers by using the past communications history.
-
-
27. A computer readable program product comprising:
-
a computer useable medium having computer readable program code means embodied therein for performing distributed data management by a process as a client using one or more sets of data and by two or more processes as servers in a computer system having two or more computers each executing one or more processes and interconnected by a network, the computer readable program code means in the computer readable program product comprising;
computer readable program code means for storing by a first server in a memory, past communications history with time during a first time at a second time interval between the first server and two or more second servers;
computer readable program code means for predicting by the first server a time when prefetch data can be acquired at high speed from one or more second servers having a possibility of possessing the prefetch data, by using the communications history with time, in order to request servers other than the first server to acquire the prefetch data before a request from the client, the prefetch data being expected to have a high possibility to be requested by the client in a future; and
computer readable program code means for requesting by the first server at the predicted time the third server selected from at least some of the second servers to transmit the prefetch data.
-
-
28. A computer readable program product comprising:
-
a computer useable medium having computer readable program code means embodied therein for performing distributed data management by two or more processes as servers in a computer system having two or more computers each executing one or more processes and interconnected by a network, the computer readable program code means in the computer readable program product comprising;
computer readable program code means for storing by a first server past communications history between the first server and second servers in a memory;
computer readable program code means for selecting one or more third servers from second servers associated with the first server, by using the communications history; and
computer readable program code means for transmitting from the first server to the second server at least part of a list of data possessed by the first server.
-
-
29. A computer readable program product comprising:
-
a computer useable medium having computer readable program code means embodied therein for performing distributed data management by a process as a client using one or more sets of data and by two or more processes as servers, in a computer system having two or more computers each executing one or more processes and interconnected by a network, the computer readable program code means in the computer readable program product comprising;
computer readable program code means for storing at least one of past communications history between a first server and second servers and request history from the client to the first server in a memory, computer readable program code means for determining by the first server one or more second data sets having a higher frequency of a request following a request for a first data set in accordance with the request history;
computer readable program code means for storing by the first server, as reference relationship information, data representative of a combination of a name of the first data set and names of second data sets; and
computer readable program code means for exchanging the reference relationship information of the first server with reference relationship information of one or more second servers.
-
Specification