System and method for quantitative competition and recording medium having recorded thereon program for implementing the method
Abstract
A bid-opening device 20 receives from each bidding device 10 m a bidding price index γ m =g(h k (IV m )) (where IV m is an initial value, h k indicates k-times processing with a one-way function h and g is a one-way function) and its identifier ID m . The received information is stored on a common bulletin board 25. D m =h k (IV m ) (where D m =g(D m ) is generated with k set as the upper limit value K of the bidding price. The bulletin board 25 is checked for γ m which matches this D m . If no match is found, m is incremented by one, and the check for γ m -D m matching is made for each of m bidding devices. Upon completion of the matching for all the bidding devices, k is decremented by one, and a check is made for for γ m which matches D m =g(h k (IV m )), and the index k for which they match is determined as the highest price bid. The bid-opening device 20 outputs that k and the identifier ID m of γ m .
Claims
exact text as granted — not AI-modified1 - 17 . (canceled)
18 . A server device for a system in which M participant devices send their aimed values to said server device and said server device determines which of said M participant devices has offered the maximum or minimum one of said aimed values received, said device comprising:
a conversion table memory which has stored therein a conversion table which defines the relationships between a sequence of values selectable as said aimed values and a sequence of indexes k of integral values respectively corresponding thereto, for converting said aimed value PR m to the corresponding index k m ; a bulletin board on which said server device writes said aimed value information an identifier received from each of said participant devices; updated initial value generating means which generates an updated initial value by processing said initial value with a one-way function repeatedly in correspondence with values of an index k which is a predetermined consecutive positive integers; a counter which updates said index k one by one; and control means which, upon each updating of said index k, compares said updated initial value with said aimed value information on said bulletin board to check whether they match, and determines m and k at the time of first detection of a match.
19 . The server device of claim 18 , wherein: there are published on said bulletin board γ m =g(h km (IV m )) as said aimed value information;
said updated initial value generating means includes a one-way function g processor by which a response D m =h k (IV m ) received from said participant device in correspondence with said index k is processed with a one-way function g to generate g(D m ) as said updated initial value; and
said control means makes a check to see if there exists on said bulleting board said aimed value information γ m which matches said updated initial value g(D m ).
20 . The server device of claim 19 , wherein there is published on said bulletin board C m =h K+1 (IV m ) received from said participant device in advance, said server device further comprising a one-way function h processor which processes said response D m with a one-way function h to generate h(D m ), and
wherein said control means checks whether C m =h(D m ) holds, and if not, rewrites said C m with said D m and updates said index k on said counter.
21 . The server device of claim 18 , wherein:
there are published on said bulletin board C m =h K+1 (IV m ), said aimed value information γ m =h k (IV m ) and h(PR m (+)R m ) received from said each participant device, said PR m and said R m being an aimed value and a random number of said each participant device m; said control means decides the maximum or minimum aimed value from said aimed values PR m and said random numbers R m received from said participant devices, and determines the index k mx corresponding to said maximum or minimum aimed value and requests said each participant device to send D m =h kmx (IV m ) corresponding to said index k mx ; said updated initial value generating means comprises a one-way function h processor for processing D m with a one-way function h to generate h K+1−kmx (D m ), and a one-way function g processor for processing D j with a one-way function g to generate g(D j ); and said control means makes a check to see if said h K+1−kmx (D m ) matches C m on said bulletin board and if said g(D j ) matches said γ m on said bulleting board.
22 . The server device of claim 18 , wherein:
there are published on said bulletin board h(k(+)b m (k) (+)R m (k) ) together with said aimed value information γ m received from said each participant device, said b m (k) being select information whether said index k corresponds to its aimed value and said R 1 (k) being a random number generated for said index k; said server device further comprises an operator for operating k(+)b(+)R m (k) , and a one-way function h processor for processing the result of said operation with a one-way function h to generate h(k(+)b(+)R m (k) ), where b is a predetermined value which indicates that said select information b m (k) has selected the aimed value corresponding to said index k; and said control means makes a check for matching between said h(k(+)b(+)R m (k) ) and said h(k(+)b m (k) (+)R m (k) ) on said bulletin board.
23 . The server device of claim 18 , wherein:
there is published on said bulletin board, as said aimed value information, H m (K) generated by said each participant device which, upon each processing of said initial value with a one-way function h, added the processed value with select information b m (k) indicating whether said value was an aimed value for each value of said index k and repeated this processing from at least the index k m corresponding to said aimed value to the upper limit value K of said index k; said updated initial value generating means includes a one-way function h processor by which {H m (k−1) , b m } received from said each participant device in answer to an inquiry for said index k is processed with a one-y function h to generate H m (k) =h(H m (k−1) ∥b m (k) ); and said server device includes an updated initial value comparator for making a check to see if said H m (k) matches previously received H m (k) .
24 . The server device of claim 18 , wherein: letting an arbitrary aimed value PR be represented by PR=F(k)+Q, where F(k) is a value in said conversion table corresponding to said index k and Q is a fraction which is a positive integer which satisfies F(k+1)−F(k)>Q≧0, there is published on said bulletin board said fraction Q received from said each participant device, together with said aimed value information;
said server device includes a sequencer for deciding the sequence of said fractions Q m on said bulletin board;
said updated initial value generating means includes a one-way function h processor for processing said initial value with a one-way function h by k times to generate h k (IV m ) and a one-way function g processor for processing said h k (IV m ) with a one-way function g to generate D m =g(h k (IV m )); and
control means makes a check to see if said D m matches said aimed value information on said bulletin board in the sequence of said fractions Q m .
25 . The server device of claim 18 , wherein there is published on said bulletin board H m K) =h K-km (g xm (IV m )) as said aimed value information received from said each participant device, which further comprises a one-way function h processor by which H m (k−1) received from said each participant device as an answer to an inquiry for said k is processed with a one-way function h to generate h(H m (k−1) ), and a one-way function g processor for processing said answer H m (k−1) with a one-way function g to generate g(H m (k−1) ); and
wherein said control means: makes a check to see if said h(H m (k−1) ) matches said aimed value information H m (K) published on said bulletin board; if a match is detected, updates said aimed value information H m (K) with said H m (k−1) and decrements said index k on said counter by one; and if a mismatch is detected, makes a check to see if said g(H m (k−1) ) matches said aimed value information H m (K) ; and if a match is detected, determines, based on k and m at that time, the maximum or minimum aimed value PR m and the participant device m having offered said value PR m .
26 . The server device of claim 18 , wherein: letting an arbitrary aimed value PR be represented by PR=F(k)+Q, where F(k) is a value in said conversion table corresponding to said index k and Q is a fraction which is a positive integer which satisfies F(k+1)−F(k)>Q≧0, there is published on said bulletin board said fraction Q received from said each participant device, together with said aimed value information;
said server device includes:
a sequencer for deciding the sequence of said fractions Q m on said bulletin board; and
select information comparator for checking whether said select information b m (k) is equal to a value b indicating the selection of the aimed value corresponding to said index k in said decided sequence of fractions Q m .
27 . The device of claim 18 , wherein said sequence of index values k and said sequence of values selectable as said aimed values on said conversion table are monotone increasing values in the same direction, and said server device determines the maximum aimed value.
28 . The device of claim 18 , wherein said sequence of index values k and said sequence of values selectable as said aimed values on said conversion table are monotone increasing values in opposite directions, and said server device determines the minimum aimed value.
29 . A recording medium on which there is recorded as a program the procedure which is followed by an m-th one of M participant devices, where m=1, 2, . . . , M, in a quantitative competition method for a system in which said M participant devices send their aimed values to a server device and said server device determines which of said M participant devices has offered the maximum or minimum one of said aimed values received, and there is provided a conversion table showing the relationships between a sequence of values selectable as said aimed values and a sequence of indexes k of integral values respectively corresponding thereto, said procedure comprising the steps of:
(a) processing an initial value inherent to said participant device m with a predetermined one-way function by the number of times corresponding to said aimed value to generate aimed value information
γ m =g ( h km ( IV m ))
where g is a one-way function, IV m is said initial value, k m is an index corresponding to the aimed value of said participant device m and h km (IV m ) indicates processing of said initial value IV m with a one-way function h by k m times; and
(b) sending said aimed value information γ m =g(h km (IV m )) to said server device.
30 . A recording medium on which there is recorded as a program the procedure which is followed by an m-th one of M participant devices, where m=1, 2, . . . , M, in a quantitative competition method for a system in which said M participant devices send their aimed values to a server device and said server device determines which of said M participant devices has offered the maximum or minimum one of said aimed values received, and there is provided a conversion table showing the relationships between a sequence of values selectable as said aimed values and a sequence of indexes k of integral values respectively corresponding thereto, said procedure comprising the steps of:
(a-1) processing an initial value inherent to said participant device m with a predetermined one-way function by the number of times corresponding to said aimed value to generate aimed value information
γ m =g ( h km ( IV m ))
where g is a one-way function, IV m is said initial value, k m is an index corresponding to the aimed value of said participant device m and h km (IV m ) indicates processing of said initial value IV m with a one-way function h by k m times;
(a-2) generating verification information C m =h K+1 (IV m ) and sending said verification information to said server device together with said aimed value information γ m ;
(b) generating said initial value updated by the number of times requested by said server device and sending said updated initial value to said server device; and
(c) sending said aimed value information γ m =g(h km (IV m )) to said server device.
31 . The recording medium of claim 30 , wherein said step (b) includes a step of generating D m =h k (IV m ) as said updated initial value corresponding to said index k and sending said updated initial value to said server device in response to its request.
32 . A recording medium on which there is recorded as a program the procedure which is followed by an m-th one of M participant devices, where m=1, 2, . . . , M, in a quantitative competition method for a system in which said M participant devices send their aimed values to a server device and said server device determines which of said M participant devices has offered the maximum or minimum one of said aimed values received, and there is provided a conversion table showing the relationships between a sequence of values selectable as said aimed values and a sequence of indexes k of integral values respectively corresponding thereto, said procedure comprising the steps of:
(a-1) computing aimed value information by
γ m =g ( h km ( IV m ))
where g is a one-way function, IV m is said initial value, k m is an index corresponding to the aimed value PR m of said participant device m and h km (IV m ) indicates processing of said initial value IV m with a one-way function h by k m times;
(a-2) generating verification information C m =h K+1 (IV m );
(a-3) generating h(PR m (+)R m ) from a random number R m and said aimed value PR m and sending said h(PR m (+)R m ) to said server device together with said aimed value information γ m and said verification information C m , said (+) indicating a predetermined arbitrary operation;
(b-1) sending said aimed value PR m and said random number R m to said server device in response to its request; and
(b-2) generating D m =h k (IV m ) as said updated initial value corresponding to said index k and sending said updated initial value to said server device in response to its request to present said h k (IV m ).
33 . The recording medium of claim 32 , wherein said step (a-3) is a step of generating h(PR m (+)R m ) from a random number R m , said aimed value PR m and additional information I m about the sending of said aimed value information indicated by said participant device m and sending said h(PR m (+)R m ) to said server device, said additional information I m being sent to said server device in said step (b-2).
34 . A recording medium on which there is recorded as a program the procedure which is followed by an m-th one of M participant devices, where m=1, 2, . . . , M, in a quantitative competition method for a system in which said M participant devices send their aimed values to a server device and said server device determines which of said M participant devices has offered the maximum or minimum one of said aimed values received, and there is provided a conversion table showing the relationships between a sequence of values selectable as said aimed values and a sequence of indexes k of integral values respectively corresponding thereto, said procedure comprising the steps wherein:
(a) upon each processing of said initial value with said one-way function h, said each participant device generates an updated initial value by adding said processed initial value with select information b m (k) indicating whether said processed initial value is an aimed value for one value of said index k, and generates H m (K) by repeatedly performing this processing from at least that index k m of a sequence of indexes which corresponds to said aimed value to the upper limit value K, and sends said H m (K) as said aimed value information to said server device; (b-1) said server device requests said each participant device to send an updated initial value {H m (k−1) , b m (k) } corresponding to each value of said index k in descending order from K; and (b-2) said each participant device generates and sends {H m (k−1) , b m (k) } as said updated initial value to said server device.
35 . A recording medium on which there is recorded as a program the procedure which is followed by an m-th one of M participant devices, where m=1, 2, . . . , M, in a quantitative competition method for a system in which said M participant devices send their aimed values to a server device and said server device determines which of said M participant devices has offered the maximum or minimum one of said aimed values received, and there is provided a conversion table showing the relationships between a sequence of values selectable as said aimed values and a sequence of indexes k of integral values respectively corresponding thereto, said procedure comprising the steps of:
(a) generating H m (K) =h K-km (g xm (IV m )) as said aimed value information using a predetermined positive integer x m , an initial value IV m and one-way functions h and g, and sends said aimed value information to said server device; (b-1) decides whether its received index k from said server device is the index k m corresponding to said aimed value; (b-2) if the result of decision in step (b-1) is k=k m , generating and sending H m (k−1) =g xm−1 (IV m ) as said updated initial value to said server device; and (b-3) if the result of decision in said step (b-1) is not k=k m , generating and sending H m (k−1) =h k-km−1 (g xm (IV m )) as said updated initial value to said server device.
36 . A recording medium on which there is recorded as a program the procedure which is followed by an m-th one of M participant devices, where m=1, 2, . . . , M, in a quantitative competition method for a system in which said M participant devices send their aimed values to a server device and said server device determines which of said M participant devices has offered the maximum or minimum one of said aimed values received, and there is provided a conversion table showing the relationships between a sequence of values selectable as said aimed values and a sequence of indexes k of integral values respectively corresponding thereto, letting the initial value of said each participant device be represented by IV m , said procedure comprising the steps of:
(a) generating H m (K) =h K-km (g xm (IV m )) as said aimed value information using a predetermined positive integer x m , an initial value IV m and one-way functions h and g, and sends said aimed value information to said server device; (b-1) decides whether its received index k from said server device is the index k m corresponding to said aimed value; (b-2) if the result of decision in step (b-1) is k=k m , generating H m (k−1) =g xm−1 (IV m ) as said updated initial value and sending said updated initial value to said server device together with a flag indicating that said k and k m are equal; and (b-3) if the result of decision in said step (b-1) is not k=k m , generating and sending H m (k−1) =h k-km−1 (g xm (IV m )) as said updated initial value to said server device.
37 . A recording medium on which there is recorded as a program the procedure which is followed by an m-th one of M participant devices, where m=1, 2, . . . , M, in a quantitative competition method for a system in which said M participant devices send their aimed values to a server device and said server device determines which of said M participant devices has offered the maximum or minimum one of said aimed values received, and there is provided a conversion table showing the relationships between a sequence of values selectable as said aimed values and a sequence of indexes k of integral values respectively corresponding thereto, said procedure comprising the step of:
(a) processing, with a predetermined one-way function h and through the use of said conversion table, information k(+)b m (k) (+)R m (k) , which contains each index k equal to or larger than an index k m corresponding to said aimed value, select information b m (k) indicating whether said index k corresponds to said aimed value, and a random number R m (k) , to generate at least K-k m +1 pieces of aimed value information h(k(+)b m (k) (+)R m (k) ), and sends these pieces of aimed value information to said server device, A(+)B representing a predetermined arbitrary operation.
38 . The recording medium of claim 37 , wherein said procedure further comprises a step of sending to said server device a random number R m (k) corresponding to the index k received from said server device.
39 . The recording medium of claim 37 , wherein said step (a) includes a step of sending a random number R m (k) to said server device together with said h(k(+)b m (k) (+)R m (k) ).
40 . The recording medium of claim 30 , wherein let an arbitrary aimed value be represented by PR=F(k)+Q, where F(k) is a value in said conversion table corresponding to said index k and Q is a fraction which is a positive integer which satisfies F(k+1)−F(k)>Q≧0;
said procedure further comprises a step wherein, letting said aimed value PR m of said each participant device m be represented by PR m =F(k m )+Q m , said each participant device m sends said fraction Q m to said server device together with said aimed value information γ m .
41 . The recording medium of claim 30 , wherein said sequences of indexes k and values selectable as said aimed values are both monotonous increasing values in the same direction.
42 . The recording medium of claim 30 , wherein said sequences of indexes k and values selectable as said aimed values are both monotonous increasing values in opposite directions.
43 . The recording medium of claim 30 , wherein said procedure further comprises the steps of:
(0-1) sending the identifier ID m of said each participant device to a provisional identifier registration device; (0-2) receiving a provisional identifier AID m from said provisional identifier registration device; and (0-3) sending said provisional identifier AID m as an identifier to said server device together with said aimed value information.
44 . A recording medium on which there is recorded as a program the procedure which is followed by a server device in a quantitative competition method for a system in which a plurality of participant devices send their aimed values to said server device and said server device determines which of said participant devices has offered the maximum or minimum one of said aimed values received, and there is provided a conversion table showing the relationships between a sequence of values selectable as said aimed values and a sequence of indexes k of integral values respectively corresponding thereto, said procedure comprising the steps of:
(a) receiving, from each of participant devices, h(H m (K) ) generated as aimed value information of said each participant device by repeating, for each of a sequence of index values k from at least k m corresponding to an aimed value of said each participant device to an upper limit index value K, processing of: combining an initial value of said each participant device with select information to provide combined information and operating a one-way function h on said combined information to generate an updated value, said select information indicating whether said each index value k is an aimed value or not, and publishing said aimed value information h(H m (K) ) on a bulletin board accessible from all of said participant devices and any other devices as well; (b) requesting said each participant device to send an updated initial value {H m (k−1) , b m (k) } corresponding to each value of said index k in descending order from K; (c) publishing said updated initial value {H m (k−1) , b m (k) } on said bulletin board; (d) processing said updated initial value {H m (k−1) , b m (k) } with said one-way function h to generate H m (k) =h(H m (k−1) ∥b m (k) ); (e) checking whether said updated initial value H m (k) matches H m (k) in {H m (k) , b m (k+1) } previously; and (f) if a match is detected in said step (e), deciding whether said select information b m (k) represents that the corresponding index k is the index k m of said aimed value; and (g) if the result of decision in said step (f) is true, outputting said index k concerned and the corresponding participant device number m, and if the result of decision is false, said server device returns to said step (b) and repeats processing for the next index value k.
45 . A recording medium on which there is recorded as a program the procedure which is followed by a server device in a quantitative competition method for a system in which a plurality of participant devices send their aimed values to said server device and said server device determines which of said participant devices has offered the maximum or minimum one of said aimed values received, and there is provided a conversion table showing the relationships between a sequence of values selectable as said aimed values and a sequence of indexes k of integral values respectively corresponding thereto, said procedure comprising the steps wherein said server device:
(a) receives H m (K) as said aimed value information from said each participant device which, upon each processing of said initial value with said one-way function h, generates an updated initial value by adding said processed initial value with select information b m (k) indicating whether said processed initial value is an aimed value for one value of said index k, and generates H m (K) by repeatedly performing this processing from at least that index k m of a sequence of indexes which corresponds to said aimed value to the upper limit value K, and publishes said aimed value information H m (K) on a bulletin board accessible from all of said participant device; (b) for each value of said index k in order descending from K, inquires said each participant device about whether it has bid for said index k, said each participant device responding YES or NO to said inquiry; (c) upon first detection of the response YES, requests said each participant device to send its updated initial value H m (k−1) ; and (d) receives H m (k−1) =h(H m (k−2) ∥b m (k−1) ) as said updated initial value from said each participant device and publishes said received updated initial value on said bulletin board; (e) letting a and a represent predetermined values of said select information b m (k) indicating bidding and not bidding, respectively, generates, for said participant device m having bid for the current index k,
H m =h ( . . . h ( h ( H m (k−1) ∥a )∥ a ) . . . ∥ a )
through the use of said updated initial value H m (k−1) , and for every one of the other participant devices m, generates
H m =h ( . . . h ( h ( H m (k−1) ∥a )∥ a ) . . . ∥ a )
through the use of said updated initial values H m (k−1) ;
(f) checks whether said H m for said each participant device matches said H m (k) published on said bulletin board; and
(g) if a match is detected in said step (f), determines that said participant device having responded YES is the winning bidding device, and publishes the current value of said index k as the index k m of the aimed value of said winning bidding device.
46 . A recording medium on which there is recorded as a program the procedure which is followed by a server device in a quantitative competition method for a system in which a plurality of participant devices send their aimed values to said server device and said server device determines which of said participant devices has offered the maximum or minimum one of said aimed values received, and there is provided a conversion table showing the relationships between a sequence of values selectable as said aimed values and a sequence of indexes k of integral values respectively corresponding thereto, said procedure comprising the steps of:
(a) letting the initial value of said each participant device be represented by IV m , receiving from said each participant device H m (K) =h K-km (g xm (IV m )) generated as said aimed value information using a predetermined positive integer x m , said initial value IV m and one-way functions h and g; (b) publishing said aimed value information A m on a bulletin board accessible from all of said participant devices; and (c) sending said index k to said each participant device to ask for its updated initial value; (d) processing said updated initial value H m (k−1) with said one-way function h to generate h(H m (k−1) ); (e) deciding whether said h(H m (k−1) ) is equal to said aimed value information H m (K) ; (f) if it is decided in said step (e) that they are equal, updating said aimed value information H m (K) with said updated initial value H m (k−1) , then decrementing said index k by one and returning to said step (c); (g) if it is decided in said step (e) that they are not equal, processing said updated initial value H m (k−1) with said one-way function g to generate g(H m (k−1) ); and (h) deciding whether said g(H m (k−1) ) matches said aimed value information H m (K) ; and (i) deciding that the aimed value of said participant device corresponding to m and k having provided said match is the maximum or minimum, if a match is detected in said step (h).
47 . A recording medium on which there is recorded as a program the procedure which is followed by a server device in a quantitative competition method for a system in which a plurality of participant devices send their aimed values to said server device and said server device determines which of said participant devices has offered the maximum or minimum one of said aimed values received, and there is provided a conversion table showing the relationships between a sequence of values selectable as said aimed values and a sequence of indexes k of integral values respectively corresponding thereto, said procedure comprising the steps wherein said server device:
(a), letting the initial value of said each participant device be represented by IV m , where m=1, 2, . . . , M, M being an integer equal to or greater than 2, receives from each participant device, as said aimed value information, H m (K) =h K-km (g xm (IV m )) using a predetermined positive integer x m , said initial value IV m and one-way functions h and g, and publishes said received aimed value information on a bulletin board accessible from all of said participant devices; (b) for each value of said index k in order descending from K, inquires said each participant device about whether it has bid for said index k, said each participant device responding YES or NO to said inquiry; (c) upon first detection of the response YES, requests said each participant device to send its updated initial value H m (k−1) ; (d) receives from said each participant device H m (k−1) =g xm−1 (IV m ) if k=k m and H m (k−1) =h k-km−1 (g xm (IV m )) if k≠k m ; (e) for said updated initial value H m (k−1) received from said participant device having responded YES, generates
H m =h K-km g ( H m (k−1) )
and for said updated initial value received from said each participant device having responded NO, generates
H m =h K+1−k g ( H m (k−1) )
(f) checks whether said H m for said each participant device matches said H m (K) published on said bulletin board; and (g) if a match is detected in said step (f), determines that said participant device having responded YES is the winning bidding device, and publishes the current value of said index k as the index K m of the aimed value of said winning bidding device.
48 . A recording medium on which there is recorded as a program the procedure which is followed by a server device in a quantitative competition method for a system in which a plurality of participant devices send their aimed values to said server device and said server device determines which of said participant devices has offered the maximum or minimum one of said aimed values received, and there is provided a conversion table showing the relationships between a sequence of values selectable as said aimed values and a sequence of indexes k of integral values respectively corresponding thereto, said procedure comprising the steps of:
(a) letting the initial value of said each participant device be represented by IV m , receiving from said each participant device H m (K) =h K-km (g xm (IV m )) generated as said aimed value information using a predetermined positive integer x m , said initial value IV m and one-way functions h and g; (b) publishing said aimed value information H m (K) on a bulletin board accessible from all of said participant devices; and (c) sending said index k to said each participant device to ask for its updated initial value; (d) checking whether its received updated initial value H k,m is added with said flag; (e) if it is decided in said step (d) that said flag is added, processing said updated initial value H m (k−1) with said one-way function g to generate g(H m (k−1) ); (f) deciding whether said g(H m (k−1) ) matches said aimed value information H m (K) ; (g) if it is decided in said step (d) that no flag is added, processing said updated initial value H m (k−1) with said one-way function h to generate h(H m (k−1) ); (h) deciding whether said h(H m (k−1) ) matches said aimed value information H m (K) ; (i) if it is decided in said step that they are equal, updating said aimed value information H m (K) with said initial value H m (k−1) , then decrementing said index k by one and returning to said step (c); and (j) if it is decided in said step (h), processing said initial value H m (k−1) with said one-way function g to generate g(H m (k−1) ) and returning to said step (f); and (k) if a match is detected in said step (f), deciding that the aimed value of said participant device corresponding to m and k having provided said match is the maximum or minimum.
49 . A recording medium on which there is recorded as a program the procedure which is followed by a server device in a quantitative competition method for a system in which a plurality of participant devices send their aimed values to said server device and said server device determines which of said participant devices has offered the maximum or minimum one of said aimed values received, and there is provided a conversion table showing the relationships between a sequence of values selectable as said aimed values and a sequence of indexes k of integral values respectively corresponding thereto, and m=1, 2, . . . , M, M being an integer equal to or greater than 2; said procedure comprising the steps of:
(a) receiving from each of said participant devices at least K-k m +1 pieces of aimed value information h(k(+)b m (k) (+)R m (k) ) generated by processing, with a predetermined one-way function h and through the use of said conversion table, information k(+)b m (k) (+)R m (k) , which contains each index k equal to or larger than an index k m corresponding to said aimed value, select information b m (k) indicating whether said index k corresponds to said aimed value, and a random number R m (k) , A(+)B representing a predetermined arbitrary operation between A and B; (b) receiving and publishing said aimed value information on a bulletin board accessible from all of said participant devices; (c) obtaining said random number R m corresponding to each of said sequence of indexes k; (d) calculating h(k(+)a(+)R m (k) ), where a is a predetermined value with which said select information b m (k) indicates said aimed value; (e) checking said aimed values on said bulletin board for matching with said calculated h(k(+)a(+)R m (k) ); and (f) if a match is detected in said step (e), deciding that the aimed value of the aimed value information of a participant device having sent said random number R m (k) at that time is the maximum or minimum value.
50 . The recording medium of claim 49 , wherein said procedure further comprises a step of repeating said steps (c), (d) and (e) if a match is detected in said step (d).
51 . The recording medium of claim 50 , wherein said step (c) includes
the steps of: requesting said each participant device to send said random number R m (k) corresponding to said index k; and receiving said random number R m (k) from said each participant device.
52 . The recording medium of claim 50 , wherein:
said step (a) includes a step of receiving said random number R m (k) sent from said each participant device together with said aimed value information h(k(+)b m (k) (+)R m (k) ); said step (b) includes a step of storing said random number R m (k) in a nonpublic memory; and said step (c) includes the steps of: requesting said each participant device to send said random number R m (k) corresponding to said index k; and receiving said random number R m (k) from said each participant device.
53 . The recording medium of claim 44 , wherein said sequences of indexes k and values selectable as said aimed values are both monotonous increasing values in the same direction, and in said step (c) said server device determines the maximum aimed value.
54 . The recording medium of claim 44 , wherein said sequences of indexes k and values selectable as said aimed values are both monotonous increasing values in opposite directions, and in said step (c) said server device determines the minimum aimed value.
55 . The recording medium of claim 44 , wherein let an arbitrary aimed value be represented by PR=F(k)+Q, where F(k) is a value in said conversion table corresponding to said index k and Q is a fraction which is a positive integer which satisfies F(k+1)−F(k)>Q≧0;
said step (a) includes a step wherein, letting said aimed value PR m of said each participant device m be represented by PR m =F(k m )+Q m , said server device receives from each participant device m said aimed value information generated by processing said initial value with said one-way function h by the number of times corresponding to k m , together with said fraction Q m , where m=1, 2, . . . , M, said M being an integer equal to or greater than 2, and said server device publishes said aimed value information and said fraction Q m on a bulletin board accessible from all of said participant devices;
said step (c) includes a step where said server device makes a check for matching between said updated initial value and said aimed value information for each index value in an ascending or descending order of said fraction Q m where m=1, 2, . . . , M; and
said step (d) includes a step wherein, upon first detection of a match in said step (c), said server device finishes said check and determines, from k m and m at the time of detecting the match, that PR m =F(k m )+Q m is said maximum or minimum aimed value.
56 . The recording medium of claim 49 , wherein let an arbitrary aimed value be represented by PR=F(k)+Q, where F(k) is a value in said conversion table corresponding to said index k and Q is a fraction which is a positive integer which satisfies F(k+1)−F(k)>Q≧0;
said step (a) includes a step wherein, letting said aimed value PR m of said each participant device m be represented by PR m =F(k m )+Q m , said server device receives said fraction Q m together with said aimed value information;
said step (b) includes a step of publishing said fraction Q m on said bulletin board together with said aimed value information, where m=1, 2, . . . , M, said M being an integer equal to or greater than 2;
said step (e) includes a step of making said check for matching for each index value in an ascending or descending order of said fraction Q m where m=1, 2, . . . , M; and
said step (f) includes a step wherein, upon first detection of a match in said step (c), said server device finishes said check and determines, from k m and m at the time of detecting the match, that PR m =F(k m )+Q m is said maximum or minimum aimed value.
57 . A quantitative competition system which comprises a server device and M participant devices each connected via a communication channel to said server device and in which said M participant devices send their aimed values to said server device and said server device determines which of said M participant devices has offered the maximum or minimum one of said aimed values received,
each of said participant devices comprising: aimed value generating means for generating an aimed value PR m ; aimed value transforming means provided with a conversion table memory having stored therein a conversion table which defines the relationships between a sequence of values selectable as said aimed values and a sequence of indexes corresponding thereto, for converting said aimed value PR m to the corresponding index k m and which processes said aimed value with a predetermined one-way function by the number of times corresponding to said aimed value to obtain aimed value information; and sending means for sending to said server device said aimed value information and an identifier identifying said participant device; and said server device comprising: a conversion table memory which has stored therein a conversion table which is the same as said conversion table; a bulletin board on which said server device writes said aimed value information an identifier received from said each participant device; updated initial value acquiring means which acquires an updated initial value obtained by processing said initial value with a one-way function repeatedly in correspondence with values of an index k which is a predetermined consecutive positive integers; a counter which updates said index k one by one; and control means which, upon each updating of said index k, compares said updated initial value with said aimed value information on said bulletin board to check whether they match, and determines m and k at the time of first detection of a match.
58 . The system of claim 57 , wherein said each participant device has initial value updating means for processing said initial value with a one0way function h to generate an updated initial value and for sending said updated initial value to said server device, and said updated initial value acquiring means of said server device receives said updated initial value from said each participant device.
59 . The system of claim 57 , wherein said updated initial value acquiring means of said server device processes said initial value with a one-way function h to generate said updated initial value.
60 . The system of claim 58 , wherein said aimed value transformer of said each participant device comprises:
a one-way function h processor which processes an initial value IV m inherent to said participant device with a one-way function h by the number of times corresponding to said index k m to obtain an output h km (IV m ); and a one-way function g processor which processes said output from said one-way function h processor with a one-way function g to obtain said aimed value information.
61 . The system of claim 60 , wherein said aimed value transformer of said each participant device includes verification information generating means for processing said initial value IV m with said one-way function h by K+1 times to generate C m =h K+1 (IV m ) as verification information and for sending said verification information to said server device;
wherein there is published on said bulletin board C m =h K+1 (IV m ) received from said each participant device in advance, said server device further comprising a one-way function h processor which processes said response D m with a one-way function h to generate h(D m ), and wherein said control means checks whether C m =h(D m ) holds, and if not, rewrites said C m with said D m and updates said index k on said counter.
62 . The system of claim 57 , wherein said each participant device comprises:
a random generator for generating a random number R m ; an operating device for operating said random number R m and said aimed value PR m to obtain PR m (+)R m , where (+) represents a predetermined arbitrary operation; one-way function h processing means for processing said PR m (+)R m with a one-way function h to obtain h(PR m (+)R m ); and verification information generating means for processing said initial value IV m with said one-way function h K+1 times to generate C m =h K+1 (IV m ); and wherein: said h(PR m (+)R m ) and said verification information are sent to said server device together with said aimed value information; in said server device: there are published on said bulletin board C m =h K+1 (IV m ), said aimed value information γ m =h k (IV m ) and h(PR m (+)R m ) received from said each participant device, said PR m and said R m being an aimed value and a random number of said each participant device m; said control means decides the maximum or minimum aimed value from said aimed values PR m and said random numbers R m received from said participant devices, and determines the index k mx corresponding to said maximum or minimum aimed value and requests said each participant device to send (D m )=h kmx (IV m ) corresponding to said index k mx ; said updated initial value acquiring means comprises a one-way function h processor for processing D m with a one-way function h to generate h K+1−kmx (D m ), and a one-way function g processor for processing D j with a one-way function g to generate g(D j ); and said control means makes a check to see if said h K+1−kmx (D m ) matches C m on said bulletin board and if said g(D j ) matches said γ m on said bulleting board.
63 . The system of claim 57 , wherein said aimed value transformer of said each participant device comprises:
a conversion table memory which has stored therein a conversion table which defines indexes k=1, 2, . . . , K corresponding to K kinds of values selectable as aimed values; a select information generator which generates select information b m (k) indicating whether to select an aimed value corresponding to each of said indexes k=1, 2, . . . , K; a random generator which generates a random number R m (k) inherent to said participant device m and said index k; an operating device which receives said index k, said random number R m (k) and said select information b m (k) and performs an operation k(+)b m (k) (+)R m (k) ; a one-way function h processor which processes said k(+)b m (k) (+)R m (k) with a one-way function h to obtain h(k(+)b m (k) (+)R m (k) ); and a control device which computes said h(k(+)b m (k) (+)R m (k) ) for each of said indexes k and provides the k pieces information as said aimed value information; in said server device: there are published on said bulletin board h(k(+)b m (k) (+)R m (k) ) together with said aimed value information γ m received from said each participant device; said server device further comprises an operator for operating k(+)b(+)R m (k) , and a one-way function h processor for processing the result of said operation with a one-way function h to generate h(k(+)b(+)R m (k) ), where b is a predetermined value which indicates that said select information b m (k) has selected the aimed value corresponding to said index k; and said control means makes a check for matching between said h(k(+)b(+)R m (k) ) and said h(k(+)b m (k) (+)R m (k) ) on said bulletin board.
64 . The system of claim 57 , wherein said aimed value transformer of said each participant device comprises:
a conversion table memory which has stored therein a conversion table which defines indexes k=1, 2, . . . , K corresponding to K kinds of values selectable as aimed values, for converting said aimed value PR m to the corresponding index k m ; initial value updating means which, for each index k, processes an initial value with a one-way function h and adds the processed initial value with select information b m (k) for said index k to obtain an updated initial value and repeats this processing until k=K is reached, thereby generating H m (K) ; a one-way function h processor for outputting said updated initial value H m (k) from said initial value updating means as said aimed value information; select information generator which generates said select information b m (k) whether said aimed value corresponds to each index k from at least k m to K; a concatenator which concatenates said H m (k−1) from said one-way function h processor and said select information b m (k) to generate H m k =h(H m (k−1) ∥b m (k) ); a buffer which temporarily holds the output from said concatenator and outputs said output for the next value of said index k; a storage part which, for each value of said index k, stores H m (k) corresponding thereto; and a second one-way function h processor by which H m (k) , obtained by repeating processing until k=K, is processed with a one-way function h to generate h(H m (k) , said h(H m (k) being output as said aimed value information; wherein said sending means is a means which responds to a request of said server device for said index k to read out H m (k) from said storage part and send said H m (k) to said server device; in said server device: there are published on said bulletin board, as said aimed value information, h(H m (k) ) obtained by processing, with a one-way function h, H m (k) generated by said each participant device which, upon each processing of said initial value with a one-way function h, added the processed value with select information b m (k) indicating whether said value was an aimed value for each value of said index k and repeated this processing from at least the index k m corresponding to said aimed value to the upper limit value K of said index k; said initial value updating means includes a one-way function h processor by which {H m (k−1) , b m } received from said each participant device in answer to an inquiry for said index k is processed with a one-y function h to generate H m (k) =h(H m (k−1) ∥b m (k) ); and said server device includes an updated initial value comparator for making a check to see if said H m (k) matches H m (k) in {H m (k) , b m (k+1) } previously received.
65 . The system of claim 57 , wherein said aimed value transformer of said each participant device comprises:
a conversion table memory which has stored therein a conversion table which defines indexes k=1, 2, . . . , K corresponding to K kinds of values selectable as aimed values, for converting said aimed value PR m to the corresponding index k m ; a one-way function g processor which processes said initial value IV m with a one-way function g by a predetermined number of times x m to generate g xm (IV m ); a one-way function h processor which processes said g xm (IV m ) with a one-way function h K-k m times to generate H m (K) =h K-km (g xm (IV m )) as said aimed value information; and response generating means which responds to a request from said server device for k to decide whether k=k m , and if true, generates H m (k−1) =h k-km−1 (g xm (IV m )) and if false, generates H m (k−1) =g xm−1 (IV m ); and wherein said sending means sends said H m (k−1) in response to said request from said server device for said k; and in said server device: there is published on said bulletin board H m (K) =h K-km (g xm (IV m )) as said aimed value information received from said each participant device, which further comprises a one-way function h processor by which H m (k−1) received from said each participant device as an answer to an inquiry for said k is processed with a one-way function h to generate h(H m (k−1) ), and a one-way function g processor for processing said answer H m (k−1) with a one-way function g to generate g(H m (k−1) ); and said control means: makes a check to see if said h(H m (k−1) ) matches said aimed value information H m (K) published on said bulletin board; if a match is detected, updates said aimed value information H m (K) with said H m (k−1) and decrements said index k on said counter by one; and if a mismatch is detected, makes a check to see if said g(H m (k−1) ) matches said aimed value information H m (K) ; and if a match is detected, determines, based on k and m at that time, the maximum or minimum aimed value PR m and the participant device m having offered said value PR m .
66 . The system of claim 57 , wherein said aimed value transformer of said each participant device comprises;
a conversion table memory which has stored therein a conversion table which defines the relationships between a sequence of values selectable as said aimed values and a sequence of indexes k of integral values respectively corresponding thereto, for converting said aimed value PR m to the corresponding index k m ; a fraction calculating part which, letting an arbitrary aimed value PR be represented by PR=F(k)+Q, where F(k) is a value in said conversion table corresponding to said k and Q is a fraction which is a positive integer which satisfies F(k+1)−F(k)>Q≧0, calculates said fraction Q m =PR m −F(k m ) based on F(k m ) obtained from said conversion table and said aimed value PR m ; and a one-way function h processor which processes said initial value IV m with said one-way function h by the number of times corresponding to said k m to generate said aimed value information; and wherein said sending means sends said fraction Q m to said server device together with said aimed value information; and in said server device: there is published on said bulletin board said fraction Q m received from said each participant device together with said aimed value information; and said server device comprises: a sequencer for deciding the sequence of said fractions Q m on said bulletin board; and select information comparator for checking whether said select information b m (k) is equal to a value b indicating the selection of the aimed value corresponding to said index k in said decided sequence of fractions Q m .
67 . The system of claim 57 , wherein said sequence of index values k and said sequence of values selectable as said aimed values on said conversion table are monotone increasing values in the same direction, and said server device determines the maximum aimed value.
68 . The system of claim 57 , wherein said sequence of index values k and said sequence of values selectable as said aimed values on said conversion table are monotone increasing values in opposite directions, and said server device determines the minimum aimed value.Join the waitlist — get patent alerts
Track US2011178893A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.