Interface between two proprietary computer programs
First Claim
1. A method of accelerating an integral evaluation program with solutions obtained by an acceleration program having at least one proprietary algorithm for obtaining the solutions, while protecting the secrecy of the proprietary algorithm of the acceleration program from a user of the evaluation program, the method comprising the steps of:
- generating a solution using the proprietary algorithm from the acceleration program while protecting the secrecy of the proprietary algorithm from the user;
sampling the integral by using the solution to solve the integral to obtain information relating to the integral;
determining further solutions by using the information relating to the integral obtained by sampling the integral; and
calculating a value for the integral based on the determined further solutions without disclosing the determined further solutions to the user of the evaluation program.
5 Assignments
0 Petitions
Accused Products
Abstract
A method and system for accelerating an integral evaluation program using the Monte Carlo evaluation by sequence generation program without disclosing the internal workings and functionality of the programs. More specifically, the present invention uses a sequence generation program to generate a point in a sequence. An integral evaluation program calculates the integrand at that point and passes the result to the sequence generation program. Based on this sample, the sequence generation program generates further points in the sequence based on the integrand but without revealing specific information about the sequence. The sequence is used by the integral evaluation program to solve the integral without revealing the details of the sequence generation program.
21 Citations
48 Claims
-
1. A method of accelerating an integral evaluation program with solutions obtained by an acceleration program having at least one proprietary algorithm for obtaining the solutions, while protecting the secrecy of the proprietary algorithm of the acceleration program from a user of the evaluation program, the method comprising the steps of:
-
generating a solution using the proprietary algorithm from the acceleration program while protecting the secrecy of the proprietary algorithm from the user;
sampling the integral by using the solution to solve the integral to obtain information relating to the integral;
determining further solutions by using the information relating to the integral obtained by sampling the integral; and
calculating a value for the integral based on the determined further solutions without disclosing the determined further solutions to the user of the evaluation program. - View Dependent Claims (2, 3, 4)
-
-
5. A system for accelerating the evaluation of an integral with solutions obtained by an acceleration program, while protecting the secrecy of the solution generation program from the system user, the system comprising:
-
a storage device having the acceleration program and a program for evaluating the integral;
a processor coupled to the storage device, the processor being configured to;
generate a solution from the acceleration program;
sample the integral by using the solution to solve the integral to obtain information relating to the integral;
determine further solutions by using the information relating to the integral obtained by sampling the integral; and
calculate a value for the integral based on the determined further solutions without disclosing the determined further solutions to the user of the evaluation program. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A method of accelerating an integral evaluation program having an integrand using the Monte Carlo method with a sequence generated by a sequence generation program having a proprietary sequence generation algorithm, while protecting the secrecy of the integrand of the integral evaluation program and the sequence generation program from a user of the evaluation program, the method comprising the steps of:
-
determining a point in a sequence generated by the sequence generation program;
evaluating the integrand at the point to produce an integrand value;
determining a sequence of sample points by using the integrand value to obtain information about the integrand without revealing the integrand to the user of the evaluation program;
evaluating the integrand using the sequence of sample points to produce corresponding integrand values without revealing the sequence of sample points or the sequence generation algorithm to the user of the evaluation program; and
obtaining a resulting integral solution based on the evaluation of the integrand using the sequence of sample points. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19)
calculating a weighting factor for each integrand value from all the points in the sequence;
multiplying each integrand value by its respective weighting factor to obtain a weighted value; and
wherein the resulting integral solution is obtained by adding the weighted values.
-
-
16. The method of claim 15 wherein the step of calculating a weighting factor is performed by using Simpson'"'"'s Rule in one dimension.
-
17. The method of claim 15 wherein the step of obtaining a resulting solution is performed by the sequence generation program without revealing the calculating and multiplying steps to the user of the integral evaluation program.
-
18. The method of claim 11 wherein the step of obtaining a resulting integral solution further comprises the steps of:
-
creating a histogram distribution of the integrand values;
integrating the histogram distribution; and
determining a value-at-risk point by calculating the integral value below which a preselected percentage of the integral values fall.
-
-
19. The method of claim 10 further comprising the step of specifying the number of points in the sequence.
-
20. A method of accelerating an integral evaluation program having a proprietary integral evaluation algorithm, using the Monte Carlo method with sequences generated by a sequence generation program having a proprietary sequence generation algorithm, while protecting the secrecy of the proprietary sequence generation algorithm of the sequence generation program from a user of the integral evaluation program, the method comprising the steps of:
-
generating a sequence of points by the sequence generation program using the proprietary sequence generation algorithm;
calculating a simulated value using the integral evaluation program based on a number of points in the sequence;
counting the number of points used in calculating the simulated value;
determining the dimensionality of the integral evaluation program based on the number of points used in the calculation of the simulated value, wherein the dimensionality of the integral is kept secret;
determining subsequent sequences of sample points by incorporating the dimensionality of the integral evaluation program and the simulated value without revealing the algorithm of the integral evaluation program;
calculating subsequent values using the subsequent sequences without disclosing the proprietary sequence algorithm to the user of the integral evaluation program; and
obtaining a resulting solution based on the values. - View Dependent Claims (21, 22, 23, 24)
calculating a weighting factor for each value;
multiplying each value by its respective weighting factor to obtain a weighted value; and
wherein the resulting solution is obtained by adding the weighted values.
-
-
24. The method of claim 20 further comprising the steps of:
-
generating a probe sequence of points by the sequence generation program;
calculating a simulated probe value using the integral evaluation program based on a number of points in the sequence;
counting the number of points used in calculating the simulated probe value;
determining the dimensionality of the integral evaluation program based on the number of points used in the calculation of the simulated probe value;
determining subsequent sequences of sample points by incorporating the dimensionality of the integral evaluation program and the simulated value without revealing the integral evaluation program;
calculating subsequent probe values using the subsequent sequences;
storing the probe values in a probe array; and
wherein the step of determining subsequent sequences of sample points incorporates the information contained in the probe array.
-
-
25. A method of accelerating an integral evaluation program having an integral using the Monte Carlo method with a sequence generated by a sequence generation program having a sequence generation algorithm, while protecting the secrecy of the sequence generation algorithm from a user of the evaluation program, the method comprising the steps of:
-
determining a point in a probe sequence;
evaluating the integrand using the point in the probe sequence to produce an integrand value without revealing the integrand;
determining further sample points using the integrand value to obtain information about the integrand;
storing the further sample points in a probe array;
generating a sequence determined by the sequence generation program as a function of the probe array without revealing the sequence algorithm to the user of the evaluation program;
determining a point in a sequence generated by the sequence generation program;
evaluating the integrand at the point to produce an integrand value;
determining a sequence of sample points by using the integrand value and probe array to obtain information about the integrand without revealing the integrand or the sequence generation algorithm;
evaluating the integrand using the sequence of sample points and the probe array to produce corresponding integrand values without revealing the sequence of sample points to the user of the evaluation program; and
obtaining a resulting integral solution based on the evaluation of the integrand using the sequence of sample points. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
calculating a weighting factor for each integrand value from all the points in the sequence;
multiplying each integrand value by its respective weighting factor to obtain a weighted value; and
wherein the resulting integral solution is obtained by adding the weighted values.
-
-
31. The method of claim 30 wherein the step of calculating a weighting factor is performed by using Simpson'"'"'s Rule in one dimension.
-
32. The method of claim 30 wherein the step of obtaining a resulting solution is performed by the sequence generation program without revealing the calculating and multiplying steps to the user of the integral evaluation program.
-
33. The method of claim 26 wherein the step of obtaining a resulting integral solution further comprises the steps of:
-
creating a histogram distribution of the integrand values;
integrating the histogram distribution; and
determining a value-at-risk point by calculating the integral value below which a preselected percentage of the integral values fall.
-
-
34. The method of claim 25 wherein the number of points in the further sample points stored in the probe array is greater than the number of points in the sequence.
-
35. The method of claim 25 further comprising the steps of:
-
encoding the probe array;
storing the encoded probe array; and
decoding the encoded probe array for use by the sequence generation program.
-
-
36. The method of claim 35 wherein the step of encoding includes encrypting the probe array with a public key;
- and wherein the step of decoding includes decrypting the encrypted probe array with a private key.
-
37. The method of claim 35 further comprising the step of outputing the encoded probe array.
-
38. A system for accelerating an integral evaluation program having an integrand using the Monte Carlo method with a sequence generated by a sequence generation program having a proprietary sequence generation algorithm while preserving the secrecy of the sequence generation algorithm of the sequence generation program from a user of the system, the system comprising:
-
a storage device storing the integral evaluation program and the sequence generation program;
an integrand evaluation circuit coupled to the storage device and configured by the integrand program;
a sequence generation circuit coupled to the storage device and configured by the sequence generation program, the sequence generation circuit including;
an initial determination circuit which determines a point in a sequence generated by the sequence generation algorithm;
an evaluation circuit coupled to the storage device, the evaluation circuit being capable of;
producing an integrand value by using the determined point;
determines a sequence of sample points using the sequence generation algorithm by using the integrand value to obtain information about the integrand without revealing the integrand or the sequence generation algorithm; and
evaluating the integrand using the sequence of sample points to produce corresponding integrand values without revealing the sequence of sample points to the user of the evaluation program.- View Dependent Claims (39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
calculates a weighting factor for each integral value from all the points in the sequence;
multiplies each integrand value by its respective weighting factor to obtain a weighted value; and
adds the weighted values.
-
-
42. The system of claim 41 wherein weighting factor is calculated by using Simpson'"'"'s Rule in one dimension.
-
43. The system of claim 38 wherein the integral evaluation program is a valuation program for a financial instrument, wherein the integrand incorporates stochastic models and time variables and the integral values are values of the financial instrument.
-
44. The system of claim 43 further comprising a value-at-risk calculation circuit coupled to the evaluation circuit, the value-at-risk calculation circuit being capable of:
-
creating a histogram distribution of the integrand values;
integrating the histogram distribution; and
determining a value-at-risk point by calculating the integral value below which a preselected percentage of the integral values fall.
-
-
45. The system of claim 38 wherein the sequence generation program is an adaptive sequence program.
-
46. The system of claim 39 further comprising an output device coupled to the integral solution circuit for outputing the integral value.
-
47. The system of claim 46 wherein the output device is a printer.
-
48. The system of claim 46 wherein the output device in a display screen.
Specification