US20030131091A1 - Server construction support technique - Google Patents

Server construction support technique Download PDF

Info

Publication number
US20030131091A1
US20030131091A1 US10/327,955 US32795502A US2003131091A1 US 20030131091 A1 US20030131091 A1 US 20030131091A1 US 32795502 A US32795502 A US 32795502A US 2003131091 A1 US2003131091 A1 US 2003131091A1
Authority
US
United States
Prior art keywords
server
replies
constraints
reply
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/327,955
Inventor
Katsuhiro Ochiai
Yuichi Koike
Masahiro Tabuchi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Assigned to NEC CORPORATION reassignment NEC CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KOIKE, YUICHI, OCHIAI, KATSUHIRO, TABUCHI, MASAHIRO
Publication of US20030131091A1 publication Critical patent/US20030131091A1/en
Priority to US11/892,342 priority Critical patent/US7584247B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management

Definitions

  • the present invention relates to a technique of supporting the construction of a server which collects and processes replies or information sent back from users through a network, and particularly relates to a server construction support technique which supports the construction of a simultaneous multiple-access processing server which is capable of collecting and processing a large number of replies sent back within a predetermined time period.
  • a simultaneous multiple-access processing server is a server which collects and processes a large number of replies and information sent back from users within a predetermined time period. Such a server has been widely used for interactive television programs, Web shopping, and the like.
  • the simultaneous multiple-access processing server may be used for collecting and processing replies in the interactive program which poses a question such as a questionnaire, quiz, a request reception or the like to audiences (here, TV viewers) and requests answers from them to progress the program.
  • the constraints include reply collection time, reply summation time, the number of servers used for collecting replies, the number of respondents (the number of replies), the form of a reply, the number of questions, and an analysis and summation method.
  • the values of various constraints are conventionally determined by manual working power. For example, when the reply collection time, the reply summation time, the number of audiences, and the like are determined in advance, the remaining constraints (for example, the number to servers used for collecting and processing) are manually determined depending on the predetermined values of constraints.
  • An object of the present invention is to provide a server construction support system and method allowing appropriate values of constraints to be determined in a short time.
  • a system for supporting construction of a server having a plurality of constraints determined depending on an application area of the server, or the knowledge of its application includes: a service method definition section for defining a value of each of the plurality of constraints by defining a value of each of a group of constraints to thereby determine a value of each or the other group of constraints which are related to at least one constraint of tho group of constraints; a program generator for generating a server construction program using the values of the constraints defined by the service method definition section; and a server program distributor for distributing the server construction program to the server.
  • the system may further include a constant detector for detecting at least one constant value dependent on the server, wherein the service method definition section uses said at least one constant value to determine the value of each of the other group of constraints.
  • the service method definition section may present the plurality of constraints so as to enter the value of each of the group of constraints.
  • the service method definition section may present at least one possible value of each of the other group of constraints so as to select an appropriate value thereof.
  • a system for supporting construction of a server includes a service method definition section for defining a value of each of a plurality of types of constraints when the server collects replies received from respondents through a network, by defining a value of each of a portion of the constraints to obtain a value of each of the other portion of the constraints other than the defined constraints.
  • a system for supporting construction of a server includes service method definition section for defining a value of each of a plurality of types of constraints when the server collects and processes replies received from respondents through a network, by defining a value of each of a portion of the constraints to obtain a value of each of the other portion of the constraints other than the defined constraints.
  • a server construction supporting system includes an automatic program generating device which generates a server program which allows a server to collect the replies from the respondents and process collected replies based on values of a portion of a plurality of types of constraints and values of the other portion of the constraints other than the defined constraints when the server collects and processes replies received from respondents through a network, wherein a value of each of the portion of the constraints is defined to obtain a value of each of the other portion of the constraints.
  • the automatic program generating device generates operation definition information based on values of a portion of a plurality of types of constraints and values of the other portion of the constraints other than the defined constraints when the server collects and processes replies received from respondents through a network, to combine the operation definition information with a prepared server program to produce a server program, wherein the operation definition information allows a server to collect replies from the respondents and process collected replies.
  • the values of some constraints of multiple kinds of constraints when the values of some constraints of multiple kinds of constraints have been defined, the values of the remaining constraints can be obtained. Accordingly, an appropriate set of values of the constraints can be obtained for a short time when constructing a simultaneous multiple-access processing server for use in interactive programs, WEB shopping, or the like.
  • server programs for reply collecting and processing and operation definition information are automatically generated by a program generator. Accordingly, reply collection and processing can be performed under appropriate conditions meeting expected reply situations.
  • FIG. 1 is a block diagram showing a server system employing a server construction support system according to a first embodiment of the present invention
  • FIG. 2 is block diagram showing an example of a reply collecting server of the first embodiment
  • FIG. 3 is a block diagram showing another example of a reply collecting server of the first embodiment
  • FIG. 4 is a block diagram showing an example of a reply processing server of the first embodiment
  • FIG. 5 is a block diagram showing another example of the reply processing server of the first embodiment
  • FIG. 6 is a flow chart schematically showing a processing operation of the first embodiment
  • FIG. 7 is a diagram showing an example of a questionnaire editor screen
  • FIG. 8 is a diagram showing an example of a service definition editor screen
  • FIG. 9 is a diagram showing an example of another service definition editor screen
  • FIG. 10 is a flow chart schematically showing an example of the processing operation of a service definition editor
  • FIG. 11 is a flow chart schematically showing another example of the processing operation of the service definition editor.
  • FIG. 12 is a diagram showing an example of a service definition editor screen
  • FIG. 13 is a diagram showing a content of a service definition file
  • FIG. 14 is a flow chart showing an example of the processing operation of the service definition editor
  • FIG. 15 is a flow chart showing another example of the processing operation of the service definition editor.
  • FIG. 16 is a flow chart showing an operation of generating an operation defining file for a summation server by a program generator
  • FIG. 17 is a flow chart showing an operation of processing an questionnaire item file in the step S 161 of the FIG. 16;
  • FIG. 18 is a flow chart showing an operation of processing a service definition file in the step S 162 of the FIG. 16;
  • FIG. 19 is a flow chart showing an operation of generating an operation defining film for a reply collection server by the program generator
  • FIG. 20 is a flow chart showing an operation of processing an questionnaire item file in the step S 191 of the FIG. 19;
  • FIG. 21 is a flow chart showing an operation of processing a service definition file in the step S 192 of the FIG. 19;
  • FIG. 22 is a diagram showing a content of the questionnaire item file
  • FIG. 23 is a flow chart showing an example of a processing operation of the reply collection server as shown in FIG. 3;
  • FIG. 24 is a flow chart showing another example of the processing operation of the reply collection server as shown in FIG. 3;
  • FIG. 25 is a flow chart showing an example of a processing operation of the reply processing server as shown in FIG. 5;
  • FIG. 26 is a flow chart showing an example of a processing operation of the reply collection server which is designed to cope with a memory failure
  • FIG. 27 is a flow chart showing an example of a processing operation of the reply processing server as shown in FIG. 2;
  • FIG. 28 is a flow chart showing another example of the processing operation of the reply processing server as shown in FIG. 2;
  • FIG. 29 is a flow chart showing an example of a processing operation of the reply processing server as shown in FIG. 4;
  • FIG. 30 is a flow chart showing another example of a processing operation of the reply collection server which is designed to cope with a memory failure
  • FIG. 31 is a flow chart showing an example of a processing operation of the reply collection server when the number of selections is summed for every choice;
  • FIG. 32 is a flow chart showing an example of a processing operation of the reply processing server when the number of replies is summed for every choice;
  • FIG. 33 is a flow chart showing an example of a processing operation of the reply collection server when the number of respondents is calculated for each of age groups which the respondents are divided into;
  • FIG. 34 is a flow chart showing an example of a processing operation of the reply processing server when the number of respondents is calculated for each of age groups which the respondents are divided into;
  • FIG. 35 is a flow chart showing an example of a processing operation of the reply collection server when ten first arrivals are chosen from respondents;
  • FIG. 36 is a flow chart showing an example of a processing operation of the reply processing server when ten first arrivals are chosen from the respondents;
  • FIG. 37 is a flow chart showing an example of a processing operation of the reply collection server when an auction is performed
  • FIG. 38 is a flow chart showing an example of a processing operation of the reply processing server when an auction is performed
  • FIG. 39 is a flow chart showing an example of a processing operation of the reply collecting server when drawing lots
  • FIG. 40 is a flow chart showing an example of a processing operation of the reply processing server when drawing lots
  • FIG. 41 is a flow chart showing still another example of a processing operation of the reply collection server as shown in FIG. 3;
  • FIG. 42 is a flow chart showing still another example of a processing operation of the reply processing server as shown in FIG. 5;
  • FIG. 43 is a diagram showing an example of a report service screen displayed according to a HTML document outputted by a report service section;
  • FIG. 44 is a diagram showing an example of XML document outputted by the report service section
  • FIG. 45 is a block diagram showing a server system employing a server construction support system according to a second embodiment of the present invention.
  • FIG. 46 is a block diagram showing a server system employing a server construction support system according to a third embodiment of the present invention.
  • FIG. 47 is a flow chart showing a schematic operation of a constant-value determination section and a constant-value communication section in a reply collection server or a reply processing server in the third embodiment
  • FIG. 48 is a flow chart showing a schematic operation of a service definition editor and a constant-value communication section in the server construction support system according to the third embodiment
  • FIG. 49 is a block diagram showing a server system employing a server construction support system according to a fourth embodiment of the present invention.
  • FIG. 50 is a flow chart showing a schematic operation of a constant-value determination section and a constant-value storing section in a reply collection server or a reply processing server in the fourth embodiment
  • FIG. 51 is a flow chart showing a schematic operation of a service definition editor and a constant-value reading section in the server construction support system according to the fourth embodiment
  • FIG. 52 is a block diagram showing a computer system implementing the server system as shown in FIG. 49;
  • FIG. 53 is a block diagram showing a computer system implementing the server system as shown in FIG. 49 for explanation of another constant-value transferring method.
  • FIG. 54 is a flow chart showing an example of a processing operation of a service definition editor and a constant-value determination section in the computer system as shown in FIG. 53.
  • a server construction support system 1 supports construction of a plurality of reply collecting servers 2 - 1 to 2 -N and a reply processing server 3 .
  • the server construction support system 1 can support construction of various kinds of simultaneous multiple-access processing servers for interactive program, Web shopping, or the like. Taking a supporting system of a simultaneous multiple-access processing server for interactive program as an example, details will be described hereinafter.
  • the server construction support system 1 is a system which supports the construction of a simultaneous multiple-access processing server used for an interactive program which poses questions such as a questionnaire or quiz to audiences therein to progress the program while using replies thereto from audiences.
  • This server construction support system 1 includes questionnaire editor 11 , service definition editor 12 , program generator 13 , service program repository 14 , and a server program distribution management service section 15 .
  • the interactive program is a program provided by at least one of channels such as broadcast, communication, or package distribution. And replies to a question are collected from audiences through a network such as the Internet.
  • a server construction support system 1 may be implemented in a computer.
  • the computer reads programs a recording media such as a disk or a semiconductor memory, and runs them to realize the questionnaire editor 11 , the service definition editor 12 , the program generator 13 , and the server program distribution management service section 15 on the computer.
  • the questionnaire editor 11 functions as a reply field definition section, which defines a question and a reply form to the question in a questionnaire, quiz, a purchase application and the like.
  • the service definition editor 12 functions as a service method definition section. More specifically, when values of some of plural kinds of constraints related to each other are inputted, the service definition editor 12 calculates the values of the remaining constraints.
  • the constraints include: reply collection time which is, a permissible time period in the replay collection; processing time which is a permissible time period in reply processing such as statistics and extraction processing; the expected number of replies; reply processing method; reply form over questions; and the number of servers used for reply collection.
  • the program generator 13 automatically generates operation defining files for the reply collecting servers 2 - 1 to 2 -N (hereinafter, collection operation defining file) and operation defining file for a reply processing server 3 (hereinafter, processing operation defining file) based on a reply form defined in the questionnaire editor 11 , values of some constraints inputted in service definition editor 12 , and values of the remaining constraints obtained by the service definition editor 12 .
  • the respective collection operation defining file and processing operation defining file define the operations of previously prepared server programs for reply collection and processing.
  • the service program repository 14 stores correspondingly the previously prepared collection and processing server programs, and the collection operation defining files and the processing operation defining file which are generated in the program generator 13 .
  • the server program distribution management service section 15 manages the schedule information indicating when to distribute the collection and processing server programs, and the collection operation defining files and the processing operation defining file which are stored in the service program repository 14 . And when the aforementioned distribution timing comes, the server program distribution management service section 15 reads out the collection and processing server programs, and the collection operation defining files and the processing operation defining file from the service program repository 14 and distributes them to the reply collecting servers 2 - 1 to 2 -N and the reply processing server 3 .
  • the respective reply collecting servers 2 - 1 to 2 -N operate according to the collection server programs and the operation defining file received from the server program distribution management service section 15 , and is composed of a questionnaire collection service section 21 , a reply processing middleware section 22 , a reply collection middleware section 23 , a data transmission middleware section 24 , and a WEB server 25 .
  • the questionnaire collection service section 21 , the reply processing middleware section 22 , the reply collection middleware section 23 , and the data transmitting middleware section 24 are realized by the collection server program and the collection operation defining file received from the server program distribution management service section 15 . Accordingly, the configuration of each of the reply collecting servers 2 - 1 to 2 -N may become different from that shown in FIG. 1 depending on the contents of the collection operation defining file.
  • FIG. 2 shows the configuration such that the reply collection middleware section 23 is removed from the configuration shown in FIG. 1
  • FIG. 3 shows the configuration such that the reply processing middleware section 22 is removed from the configuration shown in FIG. 1.
  • the reply processing server 3 operates according to the processing server program and the processing operation defining file received from the server program distribution management service section 15 , and is composed of a data receiving middleware section 31 , a reply processing service section 32 , a collection service section 33 , a reply database (reply DB) 34 , a report service section 35 , and a Web server 36 .
  • the data receiving middleware section 31 , the reply processing service section 32 , the collection service section 33 , and the report service section 35 are realized by the processing server program and the processing operation defining file received from the server program distribution management service section 15 . Accordingly, the configuration of the reply processing server 3 may become different from that shown in FIG. 1 depending on the contents of the processing operation defining file.
  • FIG. 4 shows the configuration such that the collection service section 33 is removed from the configuration shown in FIG. 1
  • FIG. 5 shows the configuration such that the reply processing service section 32 is removed from the configuration shown in FIG. 1.
  • step S 61 first, the input processing through the questionnaire editor 11 is performed. Processing of this step S 61 starts by a program producer activating the questionnaire editor 11 .
  • the questionnaire editor 11 displays a questionnaire editor screen 71 as shown in FIG. 7 when activated.
  • This questionnaire editor screen 71 includes a question-input field 72 , a reply form selection field 73 , an enter button 74 , and an end button 75 .
  • the program producer uses a keyboard to enter a question in the question-input field 72 to be posed on audiences during the interactive program.
  • a question “annual income?” is inputted as one example.
  • the program producer uses a pointing device such is a mouse to choose one of the reply forms displayed on the reply form selection field 73 .
  • “selection” is chosen as a reply form for the question “annual income?”
  • the program producer clicks the enter button 74 .
  • “selection” is chosen in the reply form selection field 73 , the questionnaire editor 11 displays another questionnaire editor screen so that the program producer may make a choice.
  • the questionnaire editor 11 generates a questionnaire item file including the contents inputted into the question input field 72 , and the contents chosen in the reply form selection field 73 (further including a menu of choices when “selection” is chosen as a reply form). A file ID is uniquely assigned to the generated questionnaire item file. Thereafter, the questionnaire editor 11 changes the question input field 72 back to an initial state (blank state) and the reply form selection field 73 back to an initial state (no-selection state). When other questions are left in the interactive program, the program producer repeats the same operation as described above, and otherwise clicks the end button 75 .
  • the questionnaire editor 11 When the end button 75 is clicked, the questionnaire editor 11 outputs all the generated questionnaire item files.
  • the above operations are performed in the step S 61 .
  • the program producer may use predetermined templates to create a question and select a desired reply form, instead of using the keyboard and mouse to input the question and select the reply form. Since a template previously has a fixed sentence included in the question and a predetermined reply form to the question, the input operation of question and reply form is made easier.
  • a step S 62 of input processing through the service definition editor 12 is performed.
  • the service definition editor 12 reads first all the questionnaire item files from the questionnaire editor 11 , and then, displays a service definition editor screen 81 as shown in FIG. 8.
  • the service definition editor screen 81 includes the questionnaire item selection field 82 , a processing method selection field 83 , an enter button 84 , and an end button 85 .
  • the question included in each questionnaire item file from the questionnaire editor 11 is displayed on the questionnaire item selection field 82 .
  • a plurality of processing methods of replies to a question are displayed on the processing method selection field 83 .
  • “simple total summation”, “cross-summation”, “sum total”, “lot”, “top-ranked audiences extraction”, “low-ranked audiences extraction”, “first-arrival audiences extraction”, and “collection only” are displayed as the processing methods.
  • the processing method is not construed as being limited thereto, but can adopt a statistical processing such as sampling, frequency distribution, averaging, standard deviation, and a correlation coefficient, or a processing other than the statistical processing such as partial data extraction, encryption, decryption, authentication, comparison, document alteration, information offer, and a menu display.
  • a statistical processing such as sampling, frequency distribution, averaging, standard deviation, and a correlation coefficient
  • a processing other than the statistical processing such as partial data extraction, encryption, decryption, authentication, comparison, document alteration, information offer, and a menu display.
  • Each processing method displayed on the processing method selection field 83 means as followed:
  • Cross-summation Processing which performs total summation of the number of replies each of which chooses a predetermined combination of choices among multiple questions (for example, the number of replies such that choice A is chosen in question 1 and choice B is chosen in question 2).
  • Lot Processing which chooses at random a predetermined number of replies out of the replies returned from respondents.
  • Top-ranked audiences extraction Processing which chooses only a predetermined number of replies top-ranked in terms of the answer value of a certain question.
  • Low-ranked audiences extraction Processing which chooses only a predetermined number of replies low-ranked in terms of the answer value of a certain question.
  • the program producer chooses one question to be used in an interactive program from a plurality of questions displayed on the questionnaire item selection field 82 , and further chooses one processing method of replies to the chosen question from a plurality of choices displayed in the processing method selection field 83 .
  • a question “Q2. Are you married?” and a processing method “Sum total” are chosen.
  • the program producer clicks the enter button 84 and thereby the service definition editor 12 memorizes the pair of the chosen question and processing method.
  • the program producer has other questions to be posed on audiences in the interactive program, the same operation as described above is repeated, and otherwise the end button 85 is clicked.
  • the service definition editor 12 displays a service definition editor screen 91 as shown in FIG. 9.
  • This service definition editor screen 91 includes an input field 92 for the presumed number of audiences (the presumed number of replies); a collection time input field 93 for the time required for collection of replies, a processing time input field 94 for the time required for processing, an input field 95 for the maximum number of servers, an input field 96 for the number of servers to be used, and an enter button 97 .
  • the program producer inputs the predetermined or presumed values of constraints into respective ones of corresponding input fields 92 to 96 , whereas an input field corresponding to a constraint to be obtained is kept blank.
  • the input field 96 for the number of servers to be used is kept blank.
  • the program producer clicks the enter button 97 , when the aforementioned operation is completed. This causes the service definition editor 12 to calculate the value of a constraint corresponding to a blank input field of the input fields 92 - 96 .
  • Case A The case where a processing method other than “only collection” is chosen as a processing method in the service definition editor screen 81 as shown in FIG. 8.
  • Case B The case where “only collection” is chosen as a processing method in the service definition editor screen 81 as shown in FIG. 8.
  • Case C The case where both of the “only collection” and another processing method are chosen as processing methods in the service definition editor screen 81 as shown in FIG. 8.
  • Case A the value of the constraint to a blank input field in the service definition editor screen 91 is calculated using predetermined mathematical expressions according to the steps as shown in FIG. 10 or FIG. 11.
  • the flow chart as shown in FIG. 10 is used.
  • the flow chart as shown in FIG. 11 is used.
  • Pt (x) is a time function required for collection per one reply in a reply collecting server
  • Uf is the number of audiences per one reply collecting server
  • Ps(x) is a time function required for processing per one reply collecting server
  • Rr is collection time permissible for collection
  • Lr is the number of processing items
  • Nc(x) is a network connection time function
  • M is the number of reply collecting servers to be used
  • Nt(x) is a network data transmission time function
  • Pb(x) is a time function required for processing by a reply processing server
  • Rs is permissible time required for processing from the completion of collection registration to the completion of processing.
  • the number of audiences Uf which should be processed by each of M reply collecting servers (1 ⁇ M ⁇ N) is obtained by equally dividing the whole number Ua of audiences (anticipated audiences) by M, resulting in the following expression (3).
  • Aa is the average amount of data per reply
  • Ta is a collection time required for collection per unit of collected data
  • Ca is a collection overhead time per reply.
  • the reply collecting servers are sequentially connected to the reply processing server 3 while waiting for data transmission for each network connection to be completed, the network connection time is ideally proportional to uniform connection overhead time. Therefore, the following expression (8) is obtained.
  • No is a connection overhead time per one connection between the reply collecting servers and the reply processing server 3 .
  • Np is a network transmission time per unit byte and Q is the amount of data for each processing item, and Cb is the amount of overhead data for each processing item.
  • B 1 is the processing time per reply collecting server in the reply processing server 3 .
  • FIG. 10 shows an operation when a single blank input field exists in the service definition editor screen 91 .
  • mathematical expressions are chosen out of the mathematical expressions existing for combinations of the processing methods and the kinds of unknown number, based on the processing method chosen on the service definition editor screen 81 and the kind of the blank input field on the service definition editor screen 91 (step S 101 ).
  • the values of the corresponding constraints shown on the service definition editor screen 81 and 91 are substituted into corresponding variables each expression chosen in the step S 101 , and the minimum value of the unknown value which satisfies each above-described expression is calculated (step S 102 ). This determines the values of the constraints currently showing blank.
  • the processing method “sum total” and an unknown value M “the number of servers to be used” are chosen on the service definition editor screens 81 and 91 .
  • the expression (7) and (12) are chosen in the Step S 101 .
  • the value of each constraint such as the number of presumed audiences, collection time, and the like given on the service definition editor screens 81 and 91 is substituted into a corresponding one of variables other than M “the number of servers to be used” of the expressions (7) and (12).
  • the minimum value of M satisfying both the expressions (7) and (12) is thus calculated as the value to be filled in the blank input field “the number of servers to be used”.
  • the service definition editor 12 displays a service definition editor screen 121 as shown in FIG. 12.
  • An input data check field 122 a computed data check field 123 , and a OK/REDO button 124 are displayed in this service definition editor screen 121 . If the computed data (the number of required servers: 36 sets) is acceptable, then the program producer clicks “OK” in the OK/REDO button 124 . Thereby, the service definition editor 12 creates a service definition file that defines the computed number of servers, collection time, processing time, processing method, and questionnaire items for collection and processing.
  • FIG. 13 An example of the service definition file is shown in FIG. 13. This example includes: item 131 which defines the time of day starting and ending collection; item 132 which defines the time of day starting and ending processing; items 133 and 134 which define the processing method; and item 135 which defines objects to be processed.
  • the time of day starting and ending collection and the time of day starting and ending processing are previously set into the service definition editor 12 by the program producer.
  • FIG. 11 shows an operation when a plurality of blank input fields exist in the service definition editor screen 91 .
  • required mathematical expressions are chosen from the expressions existing for every combination of the processing method and the kind of unknown number, based on the processing method chosen on the service definition editor screen 81 and the kind of the blank input field (the unknown number kind) on the service definition editor screen 91 (step S 111 ).
  • Step S 111 transformation is made in such a way that one of the variables which requires a value is set to the left side and the remaining variables are set to the right side (Step S 112 ). In this transformation of expression, the same variable is put on the left side in each expression. Then the values of variables given on the service definition editor screens 81 and 91 are substituted into each expression (Step S 113 ).
  • Step S 114 an appropriate numerical value which satisfies a previously given constraint is substituted into a selected one of the variables which remains in the right side of each expression, to calculate a value of the variable to be obtained.
  • the minimum value of all possible values of the variable to be obtained can be determined as a suitable value. It is then determined whether any other numerical value which satisfies the previously given constraint exists (step S 115 ). The step S 114 is repeatedly performed until no appropriate numerical value which satisfies the previously given constraint exists.
  • Step S 115 When no appropriate numerical value exists (NO in Step S 115 ), the numerical values given to the variables on tho right side and the corresponding minimum values of the variable to be obtained on the left side are combined to produce sets, all or a portion of which are outputted (Step S 116 ).
  • the service definition editor 12 displays all the combinations on a screen and presents them to the program producer (Step S 141 ).
  • the program producer who looked at this display chooses one combination from the combinations displayed (Step S 142 ). This causes the service definition editor 12 to generate and output a service definition file.
  • Step S 151 it may be adapted in such a way that the most suitable combination may be determined out of all the combinations according to predetermined priority decided (Step S 151 ) .
  • predetermined priority decided For example, when “higher priority is given to fewer number of servers” is predetermined as a priority, a combination providing the minimum number of servers will be chosen.
  • Case B the value of the constraint of a blank input field in the service definition editor screen 91 is calculated using predetermined mathematical expressions according to the steps as shown in FIG. 10 or FIG. 11.
  • Pm(x) is a time function required for storing per one reply in a reply collecting server
  • Nt(x,y) is a network data transmission time function
  • Pw(x,y) is a time function required for storing at a reply processing server
  • Rs 2 is permissible time required for processing from the completion of reception to the completion of storing.
  • the number of audiences Uf which should be processed by each of M reply collecting servers (1 ⁇ M ⁇ N) is obtained by equally dividing the whole number Ua of audiences (anticipated audiences) by M, resulting in the following expression (15).
  • the reply collecting servers are sequentially connected to the reply processing server 3 while waiting for data transmission for each network connection to be completed, the network connection time is ideally proportional to uniform connection overhead time. Therefore, the following expression (20) is obtained.
  • No is a connection overhead time per one connection between the reply collecting servers and the reply processing server 3 .
  • Tb is transfer time per unit data from a reply collecting server to the reply processing server
  • Cc is overhead processing time per one transfer from the reply collecting server to the reply processing server
  • Cd is transfer overhead processing time per one reply collecting server from the reply collecting server to the reply processing server.
  • Tc is storing time per unit of collection data at the reply processing server
  • Ce is overhead processing time per stored reply at the reply processing server
  • Cf is overhead processing time per reply collecting server when stored in the reply processing server.
  • a combination of the expressions (19) and (24) is the mathematical expression corresponding to the processing method “only collection” and an unknown number “number of servers for use”.
  • the service definition editor 12 also holds the mathematical expression for every combination of the processing method “only collection” and other unknown numbers. Using these expressions, the processing shown in FIG. 10 or FIG. 11 is performed to obtain the values corresponding to blank constraints on the service definition editor screen 91 .
  • the mathematical expressions are previously obtained using mathematical models of respective ones of the reply collecting server and the reply processing server. Accordingly, there are plural possible mathematical expressions depending on a combination to a processing method and a constraint.
  • the respective mathematical models of the following expressions (25) and (26) correspond to the reply collection server and the reply processing server 3 as shown in FIG. 1.
  • the program generator 13 generates an operation defining file for reply collecting servers and an operation defining file for reply processing server when the questionnaire editor 11 and the service definition editor 12 produces the questionnaire item file and the service definition file, respectively.
  • the reply collecting server operation defining file and the reply processing server operation defining file causes the collection server program and the reply processing server program to operate according to the contents of the questionnaire item file and the service definition file.
  • the program generator 13 generates the reply processing server operation defining file by performing the processing related to the questionnaire item file (step S 161 ) and thereafter performing the processing related to the service definition file (step S 162 ).
  • step S 161 details of the processing related to the questionnaire item file (step S 161 ) will be described.
  • step S 171 one question is read out from the questionnaire item file. For example, assuming that the questionnaire item file has such content as shown in FIG. 22, the question identified by QUESTION ID-“00000” is read from the questionnaire item file.
  • step S 172 question ID, the kind of a reply form and a question name are extracted from the question read at the step S 171 and are written onto the reply processing server operation defining file with related to each other.
  • QUESTION ID “00000”
  • step Sl 73 it is determined whether the reply form provides a menu of choices.
  • “SINGLE” in the reply form indicates that a user can make a choice among a plurality of alternatives. Accordingly, it is determined that the reply form provides a menu of choices (YES in step S 173 ) and therefore a step S 174 is performed. When it is determined that the reply form provides no choices (NO in step S 173 ), a step S 176 is performed.
  • step S 174 Question ID, choice ID and a choice name are made related to each other and written onto the reply processing server operation defining file.
  • the step S 174 is repeatedly performed until all answer choices have been processed.
  • the program generator 13 targets at the service definition file outputted from the service definition editor 12 to perform the processing as shown in FIG. 18.
  • Step S 181 one report is read from the service definition file.
  • Step S 182 Report ID, Type of processing method, Condition, and Comment are extracted from the report 133 read in Step S 181 , and written onto the reply processing server operation defining file.
  • the report 133 has no conditions.
  • Step S 183 it is determined whether the report 133 read in Step 3181 has a description about question therein.
  • the report 133 includes a description about a question and therefore the following step S 184 is performed (YES in step S 183 ). If the report 133 includes no description about question (NO in step S 183 ), the step S 186 is performed.
  • Step S 184 report ID, question ID and group are written onto the reply processing server operation defining file.
  • the report 133 has no group and only the report 135 has a group.
  • the step S 184 is repeatedly performed until all the questions have been processed.
  • step S 185 When the processing for all questions included in the report has been completed (YES in step S 185 ), it is determined whether all reports has been processed (step S 186 ). If at least one report is left (NO in step S 186 ), a subsequent report is read out from the service definition file (step S 181 ). In this manner, the steps S 181 -S 185 are repeatedly performed until all the reports have been processed. When the processing for all the reports have been completed (YES in step S 186 ), then this processing is terminated.
  • the program generator 13 generates a reply collecting server operation defining file by performing the processing related to the questionnaire item file (step S 191 ) and thereafter performing the processing related to the service definition file (step S 192 ).
  • step S 191 the processing related to the questionnaire item file (step S 191 ) is performed by steps S 201 -S 206 , which is the same as the processing of the steps S 171 -S 176 as shown in FIG. 17, provided that information such as question ID is written onto the reply collecting server operation defining file.
  • step S 192 the processing related to the service definition file (step S 192 ) is performed by steps S 211 -S 216 , in which the steps S 211 , S 213 -S 216 are the same with the steps S 181 , S 183 to S 186 of FIG. 18, respectively, provided that information such as report ID is written onto the reply collecting server operation defining file.
  • the step S 212 is different from the step S 182 .
  • comment is written onto the operation definition file, whereas no comment writing is performed in step S 212 .
  • the program generator 13 generates the reply collecting server operation defining file and the reply processing server operation defining file and stores them in the service program repository 14 .
  • the program generator 13 can generate a reply collecting server program and a reply processing server program without the need of operation definition files. More specifically, necessary modules are selected from a plurality of predetermined program modules based on the inputted questionnaire item file and the service definition file. Subsequently, a driving program is generated to communicate with these selected modules and is combined to each selected module to produce the reply collecting server program and the reply processing server program without the need of operation definition files.
  • the server distribution management service section 15 performs server program distribution to the reply processing server 3 and M reply collecting servers selected from the N reply collecting servers 2 - 1 to 2 -N.
  • the server distribution management service section 15 detects the timing of collecting and processing replies based on the contents of the operation defining file stored in the service program repository l 4 or an instruction of the operator. When the timing of collecting and processing is detected, the previously prepared reply processing server program and the reply processing server operation definition file are distributed to the reply processing server 3 .
  • the server distribution management service section 15 selects M available ones from the N reply collecting servers 2 - 1 to 2 -N to distribute the reply collecting server program and the reply collecting server operation definition file to the selected M reply collecting servers.
  • the reply collecting server program is distributed to the M reply collecting servers and the reply processing server program is distributed to the reply processing server 3 .
  • the reply collecting server implements the configuration as shown in FIG. 1, 2, or 3 thereon according to the reply collecting server program and the reply collecting server operation definition file which are received from the server distribution management service section 15 .
  • the reply processing server 3 implements the configuration as shown in FIG. 1, 4, or 5 thereon when having received the reply processing server program and the reply processing server operation definition file.
  • step S 65 the reply reception (step S 65 ) and reply processing (step S 66 ) are performed in the reply collecting servers and the reply processing server 3 which are configured as described above.
  • the Web server 25 is activated to receive replies from audiences at the questionnaire collection service section 21 through the Web interface.
  • the questionnaire collection service section 21 passes the questionnaire reply items instructed to be processed by the service definition editor 12 to the reply processing middleware section 22 , and passes the questionnaire reply items instructed to be collected by the service definition editor 12 to the reply collection middleware section 23 .
  • the reply processing middleware section 22 combines the replies passed by the questionnaire collection service section 21 with the replies already passed to perform the statistics processing such as total summation or the extraction processing.
  • the reply collection middleware section 23 saves the replies in a saving form. At every constant timing, after the expiration of collection time, or according to a request of the reply processing server 3 , processed or collected data is sent to the reply processing server 3 through the data transmission middleware section 24 .
  • the reply processing server 3 uses the data receiving middleware section 31 to receive data from all the M reply collecting servers which have collected the replies to a questionnaire in the same interactive program. If the received data is processed data, it is passed to the reply processing service section 32 , and if it is collected data, it is passed to the collection service section 33 . The reply processing service section 92 further processes the processed data received from each reply collecting server. The collection service section 33 stores all collected data onto the reply data base 34 .
  • the questionnaire collection service section 21 receives a reply from an audience terminal (step S 231 ), and the collection middleware section 23 stores the reply onto a memory (not shown) (step S 232 ). If the memory becomes full or insufficient, the stored data is written out to a separate file or the like in units of a predetermined size so as to save the memory.
  • step S 231 and S 232 are repeatedly performed until the preset reception time has been expired or a reception termination instruction has been received.
  • the data transmission middleware section 24 transmits collectively all the reply data stored in the memory to the reply processing server 3 (step S 234 ). If all reply data cannot be transmitted at once, data may be divided by a transmittable size to enable the transmission of data in units of divided data. Also, when the stored data is written out to a separate file or the like to same the memory, the written data may be transferred back to the memory before transmitted to the reply processing server 3 .
  • the reply may be stored in a file made of a non-volatility recording medium (not shown) in place of the memory of FIG. 23.
  • the other steps S 241 , S 243 , and S 244 correspond to the steps S 231 , 233 , and S 234 of FIG. 23, respectively.
  • the data receiving middleware section 31 sequentially receives collected data from the reply collecting servers 2 - 1 to 2 -N.
  • the collected data is temporarily stored in a memory or a file made of a relatively high-speed recording medium (not shown) or all collected data are stored as a series of binary data in the reply DB 34 (step S 251 ).
  • the data storing of the relatively high-speed recording medium and the relatively low-speed DB 34 may be performed in parallel. Alternatively, after the data storing of the relatively high-speed recording medium has been completed, the data storing of the DB 34 may be performed.
  • the collection service section 33 disassembles each collected data in units of one reply to store each reply of data into the DB 34 (step S 253 ).
  • the collection service section 33 repeatedly perform the step S 253 until all replies have been processed.
  • the data receiving operation of the data receiving middleware section 31 from the respective reply collecting servers 2 - 1 to 2 -N is in some cases performed in parallel with the collected data storing operation of the collection service section 33 into the reply DB 34 .
  • FIG. 41 shows an operation of the reply collecting server, which is different from that of FIG. 23 in that reply data is sent to the reply processing server 3 at a data transmission request of the reply processing server 3 (steps S 414 and S 415 ).
  • the other steps S 411 to S 413 correspond to the steps S 231 to S 233 of FIG. 23.
  • FIG. 42 shows the operation of the reply processing server 3 , which is different from that of FIG. 25 in that a data transmission request is sequentially sent to the reply collecting servers 2 - 1 to 2 -N (step S 421 ) .
  • the other steps S 422 to S 425 correspond to the steps S 251 to S 254 .
  • each of the reply collecting servers 2 - 1 to 2 -N transmits reply data collected from audience terminals to the reply processing server 3 in response to a transmission request received from the reply processing server 3 . This allows the consumption of system resources on the side of the reply processing server 3 to be suppressed when the number of reply collecting servers increases.
  • the reply collecting server determines whether it was started for the usual purpose, or it was started for the purpose of failure restoration at the time of starting (step S 261 ).
  • step S 261 When started for the usual purpose (NO of step S 261 ), the following processing is performed each time a reply is received from an audience terminal.
  • the questionnaire collection service section 21 receives a reply from an audience terminal (step S 262 ).
  • the reply collection middleware section 23 stores this received reply into a memory (not shown) and at the same time stores into a file made of a non-volatile memory (steps S 263 and S 264 ). If the memory becomes full or insufficient, the stored data is written out to a separate file or the like in units of a predetermined size so as to save the memory.
  • the steps S 262 -S 264 are repeatedly performed until the preset reception time has been expired or a reception termination instruction has been received. When the reception is completed (YES in step S 265 ), it is determined whether a failure occurs (step S 266 ).
  • step S 261 when started for the purpose of failure restoration (YES in step S 261 ), the above-mentioned collection processing (steps S 262 to S 265 ) is skipped, and the step S 266 is processed.
  • step S 266 it is determined whether a memory failure resulting in erasure of stored data occurs during reply collection. When it is determined that such a failure occurred (YES in step S 266 ), the reply data stored in the file at the step S 264 is re-stored in the memory (step S 267 ). In addition, when started for the purpose of failure restoration, the judgment result of Step S 266 shows YES.
  • the data transmission middleware section 24 transmits collectively the reply data stored in the memory to the reply processing server 3 (step S 268 ). Also, when no failure occurs in the step S 266 , the step S 268 is performed with skipping the step S 267 . If all reply data cannot be transmitted at once, data may be divided by a transmittable size to enable the transmission of data in units of divided data. Also, when the stored data is written out to a separate file or the like to same the memory, the written data may be transferred back to the memory before transmitted to the reply processing server 3 .
  • the questionnaire collection service section 21 receives a reply from an audience terminal (step S 271 ), and the processing middleware section 22 processes the received reply using a predetermined processing method and stores the processed reply onto a memory (not shown) (steps S 272 and S 273 ). If the memory becomes full or insufficient, the stored data is written out to a separate file or the like in units of a predetermined size so as to save the memory.
  • step S 274 the data transmission middleware section 24 transmits collectively all the processed data stored in the memory to the reply processing server 3 (step S 275 ). If all processed data cannot be transmitted at once, data may be divided by a transmittable size to enable the transmission of data in units of divided data. Also, when the stored data is written out to a separate file or the like to same the memory, the written data may be transferred back to the memory before transmitted to the reply processing server 3 .
  • the processed data may be stored in a file made of a non-volatility recording medium (not shown) in place of the memory of FIG. 23.
  • the other steps S 281 , S 282 , S 284 and S 285 correspond to the steps S 271 , S 272 , S 274 , S 275 of FIG. 27, respectively.
  • step S 291 initialization is performed depending on a predetermined processing method. Thereafter, each time the data receiving middleware section 31 receives processed data from the reply collecting servers 2 - 1 to 2 -N, the processing service section 32 further processes the processed data (steps S 292 and S 293 ).
  • step S 292 the data receiving middleware section 31 temporarily stores the processed data in a memory or a file made of a relatively high-speed recording medium (not shown) or all processed data are stored as a series of binary data in the reply DB 34 .
  • step S 293 the processing service section 32 can store, as necessary, the result data processed thereby into a memory, a file or the reply DB 34 . In this manner, when the processed data have been received from all the reply collecting servers 2 - 1 to 2 -N (YES in step S 294 ), the processing service section 32 further processes the processed data obtained at the step S 293 as necessary (step S 295 ).
  • the processed data collecting operation of the data receiving middleware section 31 is in some cases performed in parallel with the data processing operation of the processing service section 32 .
  • the reply collecting server determines whether it was started for the usual purpose, or it was started for the purpose of failure restoration at the time of starting (step S 3001 ).
  • step S 3001 When started for the usual purpose (NO of step S 3001 ), the following processing is performed each time a reply is received from an audience terminal.
  • the questionnaire collection service section 21 receives a reply from an audience terminal (step S 3001 ).
  • the reply processing middleware section 22 processes the reply according to a predetermined processing method and stores its result into a memory while storing the reply data into a file made of a non-volatile memory (steps S 3003 -S 3005 ).
  • the steps S 3002 S 3005 are repeatedly performed until the preset reception time has been expired or a reception termination instruction has been received.
  • it is determined whether a failure occurs (step S 3007 ).
  • step S 3001 when started for the purpose of failure restoration (YES in step S 3001 ), the above-mentioned collection processing (steps S 3002 to S 3006 ) is skipped, and the step S 3007 is processed.
  • step S 3007 it is determined whether a memory failure resulting in erasure of stored data occurs during reply collection and processing (steps S 3002 -S 3006 ).
  • the reply data already stored in the file at the step S 3005 is re-stored in the memory (step S 3008 ) and then is processed according to the predetermined processing method to be stored into the memory (steps S 3008 -S 3010 )
  • the re-storing of reply data and the processing thereof may be performed by one operation. Alternatively, each reply may he re-stored into the memory and re-processed.
  • the judgment result to Step S 3007 shows YES.
  • the data transmission middleware section 24 transmits collectively the processed data stored in the memory to the reply processing server 3 (step S 3011 ). Also, when no failure occurs in the step S 3007 , the step S 3011 is performed with skipping the steps S 3008 -S 3010 . If all processed data cannot be transmitted at once, data may be divided by a transmittable size to enable the transmission of data in units of divided data.
  • each respondent is prompted to make a choice between A and B and a server side performs total summation to produce the number of respondents for each choice. Details will be described hereafter.
  • variables A and B to be memorized in a memory are initialized to 0 on or before the receiving start time (step S 311 ).
  • the questionnaire collection service section 21 receives replies (step S 312 ).
  • the reply processing middleware section 22 analyzes the reply choice of a received reply. If A is chosen, the variable A is incremented by one, and if B is chosen, the variable B is incremented by one (steps S 313 to S 315 ). The steps S 312 to S 315 are repeated until the reception is terminated.
  • the data transmitting middleware section 24 transmits the contents of the variables A and B to the reply processing server (step S 317 ).
  • variables SA and SB are initialized to 0 on startup or before collecting the variables A and B from each reply collecting server (step S 321 ).
  • the variable A received from each of the reply collecting servers 2 - 1 to 2 -N is added to the variable SA, and the variable B is added to the variable SB (steps S 322 and S 323 ).
  • the steps S 322 and S 323 are repeated until the variables A and B have been received from all the reply collecting servers 2 - 1 to 2 -N.
  • the variable SA represents the number of respondents who gave the answer A from the answer choices
  • the variable SB represents the number of respondents who gave the answer B from the answer choices.
  • each respondent is prompted to enter the age thereof and a server side performs total summation to produce the number of respondents for each of the under-20 age bracket A 0 , the 20-60 age bracket A 20 , and the over-60 age bracket A 60 . Details will be described hereafter.
  • variables A 0 , A 20 and A 60 to be memorized in a memory are initialized to 0 on or before the receiving start time (step S 331 ).
  • the questionnaire collection service section 21 receives replies (step S 332 ).
  • the reply processing middleware section 22 analyzes the contents of a received reply. If the age of the respondent is under 20, then the variable A 0 is incremented by one, if over 20 but under 60, the variable A 20 is incremented by one, and if over 60, the variable A 60 is incremented by one (steps S 333 to S 336 ).
  • the steps S 332 to S 336 are repeated until the reception is terminated.
  • the data transmitting niddleware section 24 transmits the contents of the variables A 0 , A 20 and A 60 to the reply processing server (stop S 338 ).
  • variables SA 0 , SA 20 and SA 60 are initialized to 0 on startup or before collecting the variables A 0 , A 20 and A 60 from each reply collecting server (step S 341 ).
  • the data receiving middleware section 31 collects the variables A 0 , A 20 and A 60 from each of the reply collecting servers 2 - 1 to 2 -N (step S 342 ) and, in parallel with the collection operation, the processing service section 32 adds the variable to the variable SA 0 , the variable A 20 to the variable SA 20 , and the variable A 60 to the variable SA 60 (step S 343 ).
  • the steps S 342 and S 343 are repeated until the variables A 0 , A 20 and A 60 have been received from all the reply collecting servers 2 - 1 to 2 -N.
  • the variable SA 0 represents the number of respondents who are under 20 years old
  • the variable SA 20 represents the number of respondents who are not under 20 but under 60 years old
  • the variable SA 60 represents the number of respondents who are over 60 years old.
  • a reply includes a user identifying field such as a user's name, address and the like.
  • variable N is initialized to 0 on or before the receiving start time (step S 351 ).
  • the questionnaire collection service section 21 receives replies (step S 352 ).
  • the reply processing middleware section 22 analyzes received replies and determines whether N is smaller than 10 (step S 353 ). If N is smaller than 10 (YES in step S 353 ), the received reply is stored in an array variable K[N] and the reception time thereof is stored in an array variable T[N] (step S 354 ) and then the variable N is incremented (step S 355 ).
  • the steps S 352 -S 355 are repeatedly performed until the reception is terminated.
  • the data transmitting middleware section 24 transmits the array variables K[0] ⁇ K[N ⁇ 1], T[0] ⁇ T[N ⁇ 1] and the variable N to the reply processing server 3 (step S 357 ).
  • the data receiving middleware section 31 collects the variables K, T and N from each of the replay collecting servers 2 - 1 to 2 -N (step S 361 ).
  • the array variables K and T are consecutively stored as a record onto a sufficiently large array (step S 362 ).
  • the steps S 361 and 5362 are repeated until the variables have been received from all the reply collecting servers 2 - 1 to 2 -N.
  • the reply processing service section 32 sorts the stored array according to the value of T (reception time) to produce a sorted list of the array variable K (step S 364 ) Then, the top-ten arrays K of the sorted list, that is, ten replies received earlier, are outputted through the report service section 35 (step S 365 ). In this manner, a winner announcement is made.
  • an auction system is implemented, where a reply including the highest nominal price is determined out of received replies each including a price input field.
  • the first reply received at the questionnaire collection service section 21 after the reception starts, and the price of the first reply is stored as an initial value in variable BEST (steps S 371 and S 372 ).
  • the variable BEST is stored in a memory.
  • the questionnaire collection service section 21 receives a reply (step S 373 ) and the processing middleware section 22 compares the received reply to the variable BEST (step S 374 ). If the BEST is lower than the receive reply (YES in step S 374 ), then the received reply is overwritten onto the variable BEST (step S 375 ). If the BEST is not lower than the receive reply (NO in step S 374 ), then the BEST is not changed.
  • the steps S 373 to S 375 are repeatedly performed until the reception has been terminated.
  • the data transmission middleware section 24 transmits the contents of the variable BEST to the reply processing server 3 (step S 377 ).
  • the price of the variable BEST first collected by the data receiving middleware section 31 is stored into a variable SBEST (steps S 381 and S 382 ).
  • BEST is stored in a memory.
  • the data receiving middleware section 31 receives the variable BEST from each of the reply collecting servers 2 - 1 to 2 -N (step S 383 ).
  • the processing service section 32 compares the BEST with the SBEST (step S 384 ) . If SBEST is lower than BEST (YES in step S 384 ), then the BEST is set to the SBEST (step S 385 ). If SBEST is not lower than BEST (NO in step S 384 ), the SBEST is not changed.
  • the steps S 383 -S 385 are repeatedly performed until the collection from all reply collecting servers has been completed.
  • variable SBEST at the time of collection being completed indicates the highest nominal price in this auction.
  • variables N and S are initialized to 0 on or before the receiving start time (step S 3901 ).
  • the questionnaire collection service section 21 receives replies (stop S 3902 ) and the variable S is incremented by one (step S 3903 )
  • the reply processing middleware section 22 analyzes received replies and determines whether N is smaller than 10 (step S 3904 ). If N is smaller than 10 (YES in step S 3904 ), the received reply is additionally stored in an array variable K[N] (step S 3905 ) and the variable N is incremented by one (step S 3906 ).
  • step S 3909 If N is not smaller than 10 (NO in step S 3904 ), then rely replacement is performed with the probability of 10/s (step S 3909 ). More specifically, when it won, one of the replies stored in the array variable K is randomly determined to be replaced using a random number (step S 3910 ) and the determined reply in the array variable K is replaced with the received reply (step S 3911 ).
  • step S 3911 The steps S 3902 -S 3911 are repeatedly performed until the reception is terminated.
  • the data transmitting middleware section 24 transmits the array variable K and the variable S to the reply processing server 3 (step S 3908 ).
  • the data receiving middleware section 31 receives the array variable K and the variable S from each of the reply collecting servers 2 - 1 to 2 -N and then stores them onto the memory (step S 401 ).
  • the reply processing service section 32 determines the number of winners for each replay collecting server, which is calculated by dividing (10 ⁇ S received from each replay collecting server) by the sum of variables S from all the reply collecting servers 2 - 1 to 2 -N. Then, the reply processing service section 32 randomly determines winner replies by the determined number of winners from all received replies of the reply collecting servers 2 - 1 to 2 -N. Ten respondents determined in above way become the final winners (or finally winning replies). If the number of winners for each replay collecting server is not an integer, it should be adjusted into integer number by dropping the fractional portion thereof or rounding off it to the nearest integer.
  • the report service section 35 is operating on the WEB server 36 , for example, to receive a report output request of a user using the communication function of a WEB browser or an external computer.
  • the report service section 35 receives data from the reply processing service section 32 , and converts its format into HTML as shown in FIG. 23 or XML as shown in FIG. 24 to output it in the converted form.
  • the questionnaire items of the replies which are just stored in the collection database 34 .
  • format conversion of all or some of data into HTML or XML is carried out, and outputted.
  • the replies stored in the reply database 34 are processed according to a processing method instructed by a person in charge using the reply processing service section 32 and then are outputted in the HTML or XML format.
  • the simultaneous multiple-access processing server for interactive program is constructed is described.
  • the first embodiment can be applied to the case where a simultaneous multiple-access processing server for WEB shopping, and the like, is constructed.
  • a server construction support system 1 supports construction of a plurality of reply collecting servers 2 - 1 a to 2 -N a and a reply processing server 3 a .
  • Each of the reply collecting servers 2 - 1 a to 2 -N a is further provided with a users-number change detecting program 26 and an operation change program 27 which are stored in a memory (not shown).
  • the other blocks 21 - 25 are the same as those of the first embodiment as shown in FIG. 1.
  • the reply processing server 3 a is further provided with an operation change program 38 .
  • the other blocks 31 - 36 are the same as those of the first embodiment as shown in FIG. 1.
  • the service definition editor 12 calculates the values of constraints for each of presumed cases of numbers of audiences.
  • the program generator 13 generates an operation defining file for each presumed case to distribute them to the reply collecting servers 2 - 1 a to 2 -N a and the reply processing server 3 a.
  • the users-number change detecting program 26 is operating to perform total summation of the number of user replies in processing at intervals of a unit time (e.g. 1 minutes).
  • the operation change programs 27 and 38 are operating to receive a change in the number of users obtained by the users-number change detecting program 26 to compare it with a predetermined number of users, and thereby change an operation status of the server itself to an operation status suitable for the detected number of users.
  • the service definition editor 12 previously calculates the values of constraints in the following cases:
  • the number of user replies per unit time (e.g. 1 minute) is less than 10,000;
  • the number of user replies per unit time is not less than 10,000 and less than 50,000.
  • the program generator 13 generates operation defining files for each of the above cases and distributes them to the reply collecting servers 2 - 1 a to 2 -N a and the reply processing server 3 a.
  • the respective reply collecting servers 2 - 1 a to 2 -N a and reply processing (summation) server 3 can know the number of user replies in the whole system through the users-number change detecting program 26 .
  • Each of the operation change programs 27 and 38 compares the current number of users per unit time detected by the users-number change detecting program 26 with the number of users to be defined by each of the above-mentioned three cases (1), (2) and (3).
  • the operation change program controls the operation of a server program according to an operation defining file determined depending on a current case. More specifically, if the number of user replies is less than 10,000, an operation defining file corresponding to the operation status defined by the case (1) is used. If the number of user replies is not less than 10,000 and less than 50,000, an operation defining file corresponding to the operation state defined by the case (2) is used. If the number of user replies is not less than 50,000, an operation defining file corresponding to the operation state defined by the case (3) is used.
  • an operation defining file for every case is generated.
  • a server program may be generated for every case.
  • the users-number change detecting program 26 is provided in the reply collecting servers 2 - 1 a to 2 -N a .
  • a load balancer (not shown) may be provided separately, which distributes replies and information received from users among the reply collecting servers 2 - 1 a - 2 -N a .
  • the users-number change detecting program 26 can be implemented on the load balancer.
  • the operation change programs 27 and 38 may be implemented outside the reply collecting servers 2 - 1 a to 2 -N a , for example, on the server program distribution management service section 15 .
  • the second embodiment not only an operation change in a sever but also a change of a service menu presented to accessing users can be made.
  • the following example may be implemented in a WEB site to provide an accessing user with two patterns of site menu, which is selected depending on the number of accessing users.
  • the site menu displaying mode is defined depending on the number of accessing users as follows:
  • the Web server 25 can switch between the above operations (1) and (2) depending on the detected number of users.
  • a server construction support system 1 b supports construction of a plurality of reply collecting servers 2 - 1 b , 2 - 2 to 2 -N and a reply processing server 3 b .
  • the server construction support system 1 b is further provided with a service definition editor 12 b and a constant-value communication section 16 .
  • the other blocks 11 , 13 - 15 are the same as those of the first embodiment as shown in FIG. 1.
  • the reply processing server 3 b is further provided with a constant-value determination section 39 and a constant-value communication section 40 .
  • each reply collecting server 2 - 1 b is further provided with a constant-value determination section 28 and a constant-value communication section 29 .
  • the other blocks 21 - 25 of the reply collecting servers 2 - 1 b and the other reply collecting servers 2 - 2 to 2 -N are the same as those of the first embodiment as shown in FIG. 1. In this embodiment, it is assumed that all the reply collecting servers 2 - 1 b , 2 - 2 to 2 -N have the same performance. In the case where each reply collecting server has a difference performance, each of the reply collecting servers 2 - 1 b , 2 - 2 to 2 -N may be provided with the constant-value determination section 28 and the constant-value communication section 29 .
  • the constant-value determination section 28 has a function of determining a predetermined constant value directly by measurement, or indirectly by calculation based on measured values.
  • a constant value to be determined is a value which depends on the reply collecting server 2 - 1 b among the constant values used in the expressions held by the service definition editor 12 b to determine the values of the constraints.
  • Such expressions are, as described before, predetermined for every combination of a processing method and a constraint with unknown value, these expressions including the expressions (7), (12), (19), (24), (28), (30) and the like.
  • Ta and Ca of the expression (7) are constant values to be determined by the constant-values determination section 28 .
  • the constant-value communications section 29 has a function of transmitting the constant values determined by the constant-value determination section 28 to the server construction support system 1 b.
  • the constant-value determination section 39 has a function of determining a predetermined constant value directly by measurement, or indirectly by calculation based on measured values.
  • a constant value to be determined is a value which depends on the reply processing server 3 b among the constant values used in the expressions held by the service definition editor 12 b to determine the values of the constraints.
  • Such expressions are, as described before, predetermined for every combination of a processing method and a constraint with unknown value, these expressions including the expressions (7), (12), (19), (24), (28), (30) and the like.
  • No, Np, R 1 and so on of the expression (12) are constant values to be determined by the constant-value determination section 39 .
  • the constant-value communications section 40 has a function of transmitting the constant values determined by the constant-value determination section 39 to the server construction support system 1 b.
  • the constant-value communications section 16 has functions of receiving the constant values from the constant-value communications section 29 and/or the constant-value communications section 40 and transferring them to the service definition editor 12 b.
  • the service definition editor 12 b has a function of calculating the value of a constraint given no value in the service definition editor screen 91 (see FIG. 9) based on a corresponding expression of the expressions currently held therein and the constant values transferred from the constant-value communications section 16 .
  • the other functions is the same as those of the service definition editor 12 as shown in FIG. 1.
  • the constant-value determination section 28 of the reply collecting server 2 - 1 b determines a predetermined constant value according to predetermined timing directly by measurement or indirectly by calculation based on measured values (step S 471 ).
  • the predetermined timing is when setting the reply collecting server 2 - 1 b or when an instruction is received from an administrator due to a change in operation circumstance.
  • a constant value to be determined is a value which depends on the reply collecting server 2 - 1 b among the constant values used in the expressions held by the service definition editor 12 b to determine the values of the constraints.
  • the file writing rate on the reply collecting server 2 - 1 b may be used as a constant value to be determined.
  • an actual file writing operation is repeatedly performed a predetermined number of times and an average time thereof may be used as the constant value of file writing rate.
  • a storing time required for storing a predetermined length of characters into a memory on the reply collecting server 2 - 1 b may be used as the constant value.
  • an actual character storing operation is repeatedly performed a predetermined number of times and an average time thereof may be used as the constant value of character storing time.
  • a record reading rate or writing rate on the database or a processing rate of an algorithm may be also used as a constant value by measurement or calculation.
  • the constant-value communications section 29 transmits each constant value determined by the constant-value determination section 28 to the server construction support system 1 b (step S 472 ).
  • the constant-value determination section 39 of the reply processing server 3 determines a predetermined constant value according to predetermined timing directly by measurement or indirectly by calculation based on measured values (step S 471 ).
  • the predetermined timing is when setting the reply collecting server 2 - 1 b or when an instruction is received from an administrator due to a change in operation circumstance.
  • a constant value to be determined is a value which depends on the reply processing server 3 among the constant values used in the expressions held by the service definition editor 12 b to determine the values of the constraints.
  • the file writing rate on the reply processing server 3 may be used as a constant value to be determined.
  • an actual file writing operation is repeatedly performed a predetermined number of times and an average time thereof may be used as the constant value of file writing rate.
  • a storing time required for storing a predetermined length of characters into a memory on the reply processing server 3 may be used as the constant value.
  • an actual character storing operation is repeatedly performed a predetermined number of times and an average time thereof may be used as the constant value of character storing time.
  • a record reading rate or writing rate on the database or a processing rate of an algorithm may be also used as a constant value by measurement or calculation.
  • the constant-value communications section 40 transmits each constant value determined by the constant-value determination section 39 to the server construction support system 1 b (step S 472 ).
  • the constant-value communication section 16 in the server construction support system 1 b receives constant values from the constant-value communication section 29 and the constant-value communication section 40 and transfers them to the service definition editor 12 b (step S 481 ).
  • the service definition editor 12 b saves the received constant value transferred from the communications section 16 (step S 482 ).
  • the service definition editor 12 b determines the value of the constraint which is blank using a corresponding expression of the expressions existing for every combination of the processing method and an unknown value type.
  • the expressions (7) and (12) are used with substituting the constant values held in the step S 482 into respective ones of the constants Ta, Ca, No, Np, and B 1 contained in the expression (7) and (12).
  • the values of constraints which are blank are determined using constant values determined directly or indirectly based on actual measured values. Accordingly, the value of each constraint can be set to an appropriate value.
  • a server construction support system 1 c supports construction of a plurality of reply collecting servers 2 - 1 c , 2 - 2 to 2 -N and a reply processing server 3 c .
  • the server construction support system 1 c is further provided with a constant-value reading section 17 .
  • the other blocks 11 , 12 b , 13 - 15 are the same as those of the third embodiment as shown in FIG. 46.
  • the reply processing server 3 c is further provided with a constant-value saving section 41 .
  • the other blocks 31 - 36 , 39 are the same as those of the third embodiment as shown in FIG. 46.
  • the reply collecting servers 2 - 1 c is further provided with a constant-value saving section 30 .
  • the other blocks 21 - 25 , 28 of the reply collecting servers 2 - 1 b and the other reply collecting servers 2 - 2 to 2 -N are the same as those of the third embodiment as shown in FIG. 46.
  • the respective constant-value saving sections 30 and 41 store the constant values each determined by the constant-value determination sections 28 and 39 onto a file such as a non-volatile memory or a flexible disk.
  • the constant-value reading section 17 of the server construction support system 1 c is capable of reading the constant values stored in the file to transfer them to the service definition editor 12 b.
  • the constant-value determination section 28 of the reply collecting server 2 - 1 c determines a predetermined constant value according to predetermined timing directly by measurement or indirectly by calculation based on measured values (step S 501 ).
  • the constant-value saving section 30 stores the constant values each determined by the constant-value determination section 28 onto the file (step S 502 ).
  • an administrator goes to the location of the server construction support system 1 c with the file such as a flexible disk storing the constant values depending on the reply collecting server 2 - 1 c , and then inserts the file into the constant-value reading section 17 .
  • the constant-value reading section 17 in the server construction support system 1 c reads out the constant values from the file and transfers them to the service definition editor 12 b (step S 511 ).
  • the service definition editor 12 b saves the received constant values transferred from the constant-value reading section 17 (step S 512 ).
  • the constant-value determination section 39 of the reply processing server 3 c determines a predetermined constant value according to predetermined timing directly by measurement or indirectly by calculation based on measured values (step S 501 ).
  • the constant-value saving section 41 stores the constant values each determined by the constant-value determination section 39 onto the file (step S 502 ).
  • an administrator goes to the location of the server construction support system 1 c with the file such as a flexible disk storing the constant values depending on the reply processing server 3 c , and then inserts the file into the constant-value reading section 17 .
  • the constant-value reading section 17 in the server construction support system 1 c reads out the constant values depending on the reply processing server 3 c from the file and transfers them to the service definition editor 12 b (step S 511 ).
  • the service definition editor 12 b saves the received constant values transferred from the constant-value reading section 17 (step S 512 ).
  • the server construction support system 1 c , the reply collecting server 2 - 1 c , and the reply processing server 3 c as shown in FIG. 49 can be implemented in one computer 521 .
  • a constant-value determination section 522 corresponds to the constant-value determination section 28 of the reply collecting server 2 - 1 c and the constant-value determination section 39 of the reply processing server 3 .
  • a constant-value saving section 523 corresponds to the constant-value saving section 30 of the reply collecting server 2 - 1 c and the constant-value saving section 41 of the reply processing server 3 .
  • a constant-value reading section 524 corresponds to the constant-value reading section 17 of the server construction support system 1 c.
  • the constant-value determination section 522 determines constant values depending on respective ones of the reply collecting server 2 - 1 c and the reply processing server 3 c directly by measurement or indirectly by calculation based on measured values.
  • the constant-value saving section 523 stores the constant values onto a recording medium 525 such as a flexible disk. Thereafter, an administrator instructs the constant-value reading section 524 to read out the constant values from the recording medium 525 .
  • the constant-value reading section 524 transfers the read constant values depending on the reply collecting server 2 1 c and the reply processing server 3 c to the service definition editor 12 b .
  • the service definition editor 12 b saves the received constant values transferred from the constant-value reading section 524 .
  • an administrator or the like instructs the service definition editor 12 b to obtain the value of a constraint corresponding to a blank input field on the service definition editor screen 91 (see FIG. 9). This causes the service definition editor 12 b to calculate the value of the constraint corresponding to the blank input field as described before.
  • the server construction support system 1 c , the reply collecting server 2 - 1 c , and the reply processing server 3 c as shown in FIG. 49 can be implemented in one computer 531 .
  • this system as shown in FIG. 54, another method of transferring constant values can be implemented.
  • the constant-value determination section 532 determines constant values depending on respective ones of the reply collecting server 2 - 1 c and the reply processing server 3 c directly by measurement or indirectly by calculation based on measured values (step S 541 ).
  • the determined constant values are transferred to the service definition editor 12 b , which saves the constant values transferred from the constant-value reading section 532 (step S 542 ).

Abstract

A system for supporting construction of a server having a plurality of constraints determined depending on an application area of the server is disclosed. A service method definition section defines a value of each of the plurality of constraints by defining a value of each of a group of constraints to thereby determine a value of each of the other group of constraints which are related to at least one constraint of the group of constraints. A program generator generates a server construction program using the defined constraints. The server operates according to the server construction program received from the system. A simultaneous multiple-access processing server used by the interactive program, WEB shopping, and the like can be easily constructed.

Description

    BACKGROUND OF THE INVENTION
  • 1. Field of the Invention [0001]
  • The present invention relates to a technique of supporting the construction of a server which collects and processes replies or information sent back from users through a network, and particularly relates to a server construction support technique which supports the construction of a simultaneous multiple-access processing server which is capable of collecting and processing a large number of replies sent back within a predetermined time period. [0002]
  • 2. Description of the Related Art [0003]
  • A simultaneous multiple-access processing server is a server which collects and processes a large number of replies and information sent back from users within a predetermined time period. Such a server has been widely used for interactive television programs, Web shopping, and the like. [0004]
  • In constructing a simultaneous multiple-access processing server, various constraints are developed depending on its application area, or the knowledge of its application. For example, the simultaneous multiple-access processing server may be used for collecting and processing replies in the interactive program which poses a question such as a questionnaire, quiz, a request reception or the like to audiences (here, TV viewers) and requests answers from them to progress the program. In such a case, the constraints include reply collection time, reply summation time, the number of servers used for collecting replies, the number of respondents (the number of replies), the form of a reply, the number of questions, and an analysis and summation method. These constraints are related in such a way that the value of one constraint is determined depending on the values of some other constraints. [0005]
  • In order to allow an interactive program or the Web shopping to run smoothly, it is important to appropriately determine the values of various constraints described above. The values of various constraints are conventionally determined by manual working power. For example, when the reply collection time, the reply summation time, the number of audiences, and the like are determined in advance, the remaining constraints (for example, the number to servers used for collecting and processing) are manually determined depending on the predetermined values of constraints. [0006]
  • There have been known conventional techniques such that a server sends a questionnaire to many questionnaire respondents and, when receiving replies thereto, stores, analyzes and summarizes them. For example, see Japanese Patent Application Unexamined Publication Nos. 8-272773 and 2001-184273. However, these references do not refer to the constraints peculiar to a simultaneous multiple-access processing server used for an interactive program, WEB shopping and the like. [0007]
  • As described above, since the values of constraints peculiar to a simultaneous multiple-access processing server are manually set, it takes disadvantageously much time required for determining appropriate values thereof and, in some cases, appropriate values may not be determined. Also, when appropriate values are not determined, there also arises a problem that various adverse influences on management of interactive program, Web shopping and the like are involved therein. [0008]
  • For example, when the number of servers determined manually is smaller than the appropriate number of servers determined by the reply collection time, reply summation time, the number of audiences and the like, only some replies are collected. Contrarily, when the number of servers determined manually is greater than the appropriate number of servers, the use efficiency of servers is reduced. [0009]
  • SUMMARY OF THE INVENTION
  • An object of the present invention is to provide a server construction support system and method allowing appropriate values of constraints to be determined in a short time. [0010]
  • According to the present invention, a system for supporting construction of a server having a plurality of constraints determined depending on an application area of the server, or the knowledge of its application, includes: a service method definition section for defining a value of each of the plurality of constraints by defining a value of each of a group of constraints to thereby determine a value of each or the other group of constraints which are related to at least one constraint of tho group of constraints; a program generator for generating a server construction program using the values of the constraints defined by the service method definition section; and a server program distributor for distributing the server construction program to the server. [0011]
  • The system may further include a constant detector for detecting at least one constant value dependent on the server, wherein the service method definition section uses said at least one constant value to determine the value of each of the other group of constraints. [0012]
  • The service method definition section may present the plurality of constraints so as to enter the value of each of the group of constraints. [0013]
  • The service method definition section may present at least one possible value of each of the other group of constraints so as to select an appropriate value thereof. [0014]
  • According to an aspect of the present invention, a system for supporting construction of a server, includes a service method definition section for defining a value of each of a plurality of types of constraints when the server collects replies received from respondents through a network, by defining a value of each of a portion of the constraints to obtain a value of each of the other portion of the constraints other than the defined constraints. A system for supporting construction of a server, includes service method definition section for defining a value of each of a plurality of types of constraints when the server collects and processes replies received from respondents through a network, by defining a value of each of a portion of the constraints to obtain a value of each of the other portion of the constraints other than the defined constraints. [0015]
  • A server construction supporting system according to the present invention includes an automatic program generating device which generates a server program which allows a server to collect the replies from the respondents and process collected replies based on values of a portion of a plurality of types of constraints and values of the other portion of the constraints other than the defined constraints when the server collects and processes replies received from respondents through a network, wherein a value of each of the portion of the constraints is defined to obtain a value of each of the other portion of the constraints. [0016]
  • Alternatively, the automatic program generating device generates operation definition information based on values of a portion of a plurality of types of constraints and values of the other portion of the constraints other than the defined constraints when the server collects and processes replies received from respondents through a network, to combine the operation definition information with a prepared server program to produce a server program, wherein the operation definition information allows a server to collect replies from the respondents and process collected replies. [0017]
  • As described above, according to the present invention, when the values of some constraints of multiple kinds of constraints have been defined, the values of the remaining constraints can be obtained. Accordingly, an appropriate set of values of the constraints can be obtained for a short time when constructing a simultaneous multiple-access processing server for use in interactive programs, WEB shopping, or the like. [0018]
  • In addition, the values of the remaining constraints are obtained using constant values which depends on an actually measuring server. Therefore, the appropriate values of constraints can be obtained. [0019]
  • Based on the values of the constraints determined as described above, server programs for reply collecting and processing and operation definition information are automatically generated by a program generator. Accordingly, reply collection and processing can be performed under appropriate conditions meeting expected reply situations.[0020]
  • BREIF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram showing a server system employing a server construction support system according to a first embodiment of the present invention; [0021]
  • FIG. 2 is block diagram showing an example of a reply collecting server of the first embodiment; [0022]
  • FIG. 3 is a block diagram showing another example of a reply collecting server of the first embodiment [0023]
  • FIG. 4 is a block diagram showing an example of a reply processing server of the first embodiment; [0024]
  • FIG. 5 is a block diagram showing another example of the reply processing server of the first embodiment; [0025]
  • FIG. 6 is a flow chart schematically showing a processing operation of the first embodiment; [0026]
  • FIG. 7 is a diagram showing an example of a questionnaire editor screen; [0027]
  • FIG. 8 is a diagram showing an example of a service definition editor screen; [0028]
  • FIG. 9 is a diagram showing an example of another service definition editor screen; [0029]
  • FIG. 10 is a flow chart schematically showing an example of the processing operation of a service definition editor; [0030]
  • FIG. 11 is a flow chart schematically showing another example of the processing operation of the service definition editor; [0031]
  • FIG. 12 is a diagram showing an example of a service definition editor screen; [0032]
  • FIG. 13 is a diagram showing a content of a service definition file; [0033]
  • FIG. 14 is a flow chart showing an example of the processing operation of the service definition editor; [0034]
  • FIG. 15 is a flow chart showing another example of the processing operation of the service definition editor; [0035]
  • FIG. 16 is a flow chart showing an operation of generating an operation defining file for a summation server by a program generator; [0036]
  • FIG. 17 is a flow chart showing an operation of processing an questionnaire item file in the step S[0037] 161 of the FIG. 16;
  • FIG. 18 is a flow chart showing an operation of processing a service definition file in the step S[0038] 162 of the FIG. 16;
  • FIG. 19 is a flow chart showing an operation of generating an operation defining film for a reply collection server by the program generator; [0039]
  • FIG. 20 is a flow chart showing an operation of processing an questionnaire item file in the step S[0040] 191 of the FIG. 19;
  • FIG. 21 is a flow chart showing an operation of processing a service definition file in the step S[0041] 192 of the FIG. 19;
  • FIG. 22 is a diagram showing a content of the questionnaire item file; [0042]
  • FIG. 23 is a flow chart showing an example of a processing operation of the reply collection server as shown in FIG. 3; [0043]
  • FIG. 24 is a flow chart showing another example of the processing operation of the reply collection server as shown in FIG. 3; [0044]
  • FIG. 25 is a flow chart showing an example of a processing operation of the reply processing server as shown in FIG. 5; [0045]
  • FIG. 26 is a flow chart showing an example of a processing operation of the reply collection server which is designed to cope with a memory failure; [0046]
  • FIG. 27 is a flow chart showing an example of a processing operation of the reply processing server as shown in FIG. 2; [0047]
  • FIG. 28 is a flow chart showing another example of the processing operation of the reply processing server as shown in FIG. 2; [0048]
  • FIG. 29 is a flow chart showing an example of a processing operation of the reply processing server as shown in FIG. 4; [0049]
  • FIG. 30 is a flow chart showing another example of a processing operation of the reply collection server which is designed to cope with a memory failure; [0050]
  • FIG. 31 is a flow chart showing an example of a processing operation of the reply collection server when the number of selections is summed for every choice; [0051]
  • FIG. 32 is a flow chart showing an example of a processing operation of the reply processing server when the number of replies is summed for every choice; [0052]
  • FIG. 33 is a flow chart showing an example of a processing operation of the reply collection server when the number of respondents is calculated for each of age groups which the respondents are divided into; [0053]
  • FIG. 34 is a flow chart showing an example of a processing operation of the reply processing server when the number of respondents is calculated for each of age groups which the respondents are divided into; [0054]
  • FIG. 35 is a flow chart showing an example of a processing operation of the reply collection server when ten first arrivals are chosen from respondents; [0055]
  • FIG. 36 is a flow chart showing an example of a processing operation of the reply processing server when ten first arrivals are chosen from the respondents; [0056]
  • FIG. 37 is a flow chart showing an example of a processing operation of the reply collection server when an auction is performed; [0057]
  • FIG. 38 is a flow chart showing an example of a processing operation of the reply processing server when an auction is performed; [0058]
  • FIG. 39 is a flow chart showing an example of a processing operation of the reply collecting server when drawing lots; [0059]
  • FIG. 40 is a flow chart showing an example of a processing operation of the reply processing server when drawing lots; [0060]
  • FIG. 41 is a flow chart showing still another example of a processing operation of the reply collection server as shown in FIG. 3; [0061]
  • FIG. 42 is a flow chart showing still another example of a processing operation of the reply processing server as shown in FIG. 5; [0062]
  • FIG. 43 is a diagram showing an example of a report service screen displayed according to a HTML document outputted by a report service section; [0063]
  • FIG. 44 is a diagram showing an example of XML document outputted by the report service section; [0064]
  • FIG. 45 is a block diagram showing a server system employing a server construction support system according to a second embodiment of the present invention; [0065]
  • FIG. 46 is a block diagram showing a server system employing a server construction support system according to a third embodiment of the present invention; [0066]
  • FIG. 47 is a flow chart showing a schematic operation of a constant-value determination section and a constant-value communication section in a reply collection server or a reply processing server in the third embodiment; [0067]
  • FIG. 48 is a flow chart showing a schematic operation of a service definition editor and a constant-value communication section in the server construction support system according to the third embodiment; [0068]
  • FIG. 49 is a block diagram showing a server system employing a server construction support system according to a fourth embodiment of the present invention; [0069]
  • FIG. 50 is a flow chart showing a schematic operation of a constant-value determination section and a constant-value storing section in a reply collection server or a reply processing server in the fourth embodiment; [0070]
  • FIG. 51 is a flow chart showing a schematic operation of a service definition editor and a constant-value reading section in the server construction support system according to the fourth embodiment; [0071]
  • FIG. 52 is a block diagram showing a computer system implementing the server system as shown in FIG. 49; [0072]
  • FIG. 53 is a block diagram showing a computer system implementing the server system as shown in FIG. 49 for explanation of another constant-value transferring method; and [0073]
  • FIG. 54 is a flow chart showing an example of a processing operation of a service definition editor and a constant-value determination section in the computer system as shown in FIG. 53.[0074]
  • DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • Referring to FIG. 1, a server [0075] construction support system 1 according to a first embodiment of the present invention supports construction of a plurality of reply collecting servers 2-1 to 2-N and a reply processing server 3. The server construction support system 1 can support construction of various kinds of simultaneous multiple-access processing servers for interactive program, Web shopping, or the like. Taking a supporting system of a simultaneous multiple-access processing server for interactive program as an example, details will be described hereinafter.
  • The server [0076] construction support system 1 is a system which supports the construction of a simultaneous multiple-access processing server used for an interactive program which poses questions such as a questionnaire or quiz to audiences therein to progress the program while using replies thereto from audiences. This server construction support system 1 includes questionnaire editor 11, service definition editor 12, program generator 13, service program repository 14, and a server program distribution management service section 15.
  • The interactive program is a program provided by at least one of channels such as broadcast, communication, or package distribution. And replies to a question are collected from audiences through a network such as the Internet. [0077]
  • A server [0078] construction support system 1 may be implemented in a computer. The computer reads programs a recording media such as a disk or a semiconductor memory, and runs them to realize the questionnaire editor 11, the service definition editor 12, the program generator 13, and the server program distribution management service section 15 on the computer.
  • The [0079] questionnaire editor 11 functions as a reply field definition section, which defines a question and a reply form to the question in a questionnaire, quiz, a purchase application and the like.
  • The [0080] service definition editor 12 functions as a service method definition section. More specifically, when values of some of plural kinds of constraints related to each other are inputted, the service definition editor 12 calculates the values of the remaining constraints. For example, the constraints include: reply collection time which is, a permissible time period in the replay collection; processing time which is a permissible time period in reply processing such as statistics and extraction processing; the expected number of replies; reply processing method; reply form over questions; and the number of servers used for reply collection.
  • The [0081] program generator 13 automatically generates operation defining files for the reply collecting servers 2-1 to 2-N (hereinafter, collection operation defining file) and operation defining file for a reply processing server 3 (hereinafter, processing operation defining file) based on a reply form defined in the questionnaire editor 11, values of some constraints inputted in service definition editor 12, and values of the remaining constraints obtained by the service definition editor 12. The respective collection operation defining file and processing operation defining file define the operations of previously prepared server programs for reply collection and processing.
  • The [0082] service program repository 14 stores correspondingly the previously prepared collection and processing server programs, and the collection operation defining files and the processing operation defining file which are generated in the program generator 13.
  • The server program distribution [0083] management service section 15 manages the schedule information indicating when to distribute the collection and processing server programs, and the collection operation defining files and the processing operation defining file which are stored in the service program repository 14. And when the aforementioned distribution timing comes, the server program distribution management service section 15 reads out the collection and processing server programs, and the collection operation defining files and the processing operation defining file from the service program repository 14 and distributes them to the reply collecting servers 2-1 to 2-N and the reply processing server 3.
  • The respective reply collecting servers [0084] 2-1 to 2-N operate according to the collection server programs and the operation defining file received from the server program distribution management service section 15, and is composed of a questionnaire collection service section 21, a reply processing middleware section 22, a reply collection middleware section 23, a data transmission middleware section 24, and a WEB server 25.
  • The questionnaire [0085] collection service section 21, the reply processing middleware section 22, the reply collection middleware section 23, and the data transmitting middleware section 24 are realized by the collection server program and the collection operation defining file received from the server program distribution management service section 15. Accordingly, the configuration of each of the reply collecting servers 2-1 to 2-N may become different from that shown in FIG. 1 depending on the contents of the collection operation defining file.
  • In this embodiment, the configuration shown in FIG. 2 or FIG. 3 may be adopted as needed. FIG. 2 shows the configuration such that the reply [0086] collection middleware section 23 is removed from the configuration shown in FIG. 1, and FIG. 3 shows the configuration such that the reply processing middleware section 22 is removed from the configuration shown in FIG. 1.
  • The [0087] reply processing server 3 operates according to the processing server program and the processing operation defining file received from the server program distribution management service section 15, and is composed of a data receiving middleware section 31, a reply processing service section 32, a collection service section 33, a reply database (reply DB) 34, a report service section 35, and a Web server 36. Here, the data receiving middleware section 31, the reply processing service section 32, the collection service section 33, and the report service section 35 are realized by the processing server program and the processing operation defining file received from the server program distribution management service section 15. Accordingly, the configuration of the reply processing server 3 may become different from that shown in FIG. 1 depending on the contents of the processing operation defining file. In this embodiment, the configuration as shown in FIG. 4 or FIG. 5 may be adopted as needed. FIG. 4 shows the configuration such that the collection service section 33 is removed from the configuration shown in FIG. 1, and FIG. 5 shows the configuration such that the reply processing service section 32 is removed from the configuration shown in FIG. 1.
  • Referring to FIG. 6, the outline of an operation of the present embodiment will be described hereinafter. [0088]
  • STEP S[0089] 61: Questionnaire Edition
  • In step S[0090] 61, first, the input processing through the questionnaire editor 11 is performed. Processing of this step S61 starts by a program producer activating the questionnaire editor 11. The questionnaire editor 11 displays a questionnaire editor screen 71 as shown in FIG. 7 when activated. This questionnaire editor screen 71 includes a question-input field 72, a reply form selection field 73, an enter button 74, and an end button 75.
  • When the [0091] questionnaire editor screen 71 is displayed, the program producer uses a keyboard to enter a question in the question-input field 72 to be posed on audiences during the interactive program. In FIG. 7, a question “annual income?” is inputted as one example. Then, the program producer uses a pointing device such is a mouse to choose one of the reply forms displayed on the reply form selection field 73. In the example shown in FIG. 7, “selection” is chosen as a reply form for the question “annual income?” When the information is completed, the program producer clicks the enter button 74. When “selection” is chosen in the reply form selection field 73, the questionnaire editor 11 displays another questionnaire editor screen so that the program producer may make a choice.
  • In this manner, the [0092] questionnaire editor 11 generates a questionnaire item file including the contents inputted into the question input field 72, and the contents chosen in the reply form selection field 73 (further including a menu of choices when “selection” is chosen as a reply form). A file ID is uniquely assigned to the generated questionnaire item file. Thereafter, the questionnaire editor 11 changes the question input field 72 back to an initial state (blank state) and the reply form selection field 73 back to an initial state (no-selection state). When other questions are left in the interactive program, the program producer repeats the same operation as described above, and otherwise clicks the end button 75.
  • When the [0093] end button 75 is clicked, the questionnaire editor 11 outputs all the generated questionnaire item files. The above operations are performed in the step S61. The program producer may use predetermined templates to create a question and select a desired reply form, instead of using the keyboard and mouse to input the question and select the reply form. Since a template previously has a fixed sentence included in the question and a predetermined reply form to the question, the input operation of question and reply form is made easier.
  • STEP S[0094] 62: Service Definition
  • After the stop S[0095] 61 in FIG. 6, a step S62 of input processing through the service definition editor 12 is performed. In the step S62, the service definition editor 12 reads first all the questionnaire item files from the questionnaire editor 11, and then, displays a service definition editor screen 81 as shown in FIG. 8.
  • The service [0096] definition editor screen 81 includes the questionnaire item selection field 82, a processing method selection field 83, an enter button 84, and an end button 85. The question included in each questionnaire item file from the questionnaire editor 11 is displayed on the questionnaire item selection field 82. Also, a plurality of processing methods of replies to a question are displayed on the processing method selection field 83. In this embodiment, “simple total summation”, “cross-summation”, “sum total”, “lot”, “top-ranked audiences extraction”, “low-ranked audiences extraction”, “first-arrival audiences extraction”, and “collection only” are displayed as the processing methods. However, the processing method is not construed as being limited thereto, but can adopt a statistical processing such as sampling, frequency distribution, averaging, standard deviation, and a correlation coefficient, or a processing other than the statistical processing such as partial data extraction, encryption, decryption, authentication, comparison, document alteration, information offer, and a menu display.
  • Each processing method displayed on the processing [0097] method selection field 83 means as followed:
  • Simple total summation: Processing which performs total summation of the number of replies for every choice concerning one question. [0098]
  • Cross-summation: Processing which performs total summation of the number of replies each of which chooses a predetermined combination of choices among multiple questions (for example, the number of replies such that choice A is chosen in [0099] question 1 and choice B is chosen in question 2).
  • Sum total: Processing which totals the number of replies to a certain question, which meet a predetermined condition. [0100]
  • Lot: Processing which chooses at random a predetermined number of replies out of the replies returned from respondents. [0101]
  • Top-ranked audiences extraction: Processing which chooses only a predetermined number of replies top-ranked in terms of the answer value of a certain question. [0102]
  • Low-ranked audiences extraction: Processing which chooses only a predetermined number of replies low-ranked in terms of the answer value of a certain question. [0103]
  • Only collection: Processing which saves the replies received from respondents. [0104]
  • When the service [0105] definition editor screen 81 as shown in FIG. 8 is displayed, the program producer chooses one question to be used in an interactive program from a plurality of questions displayed on the questionnaire item selection field 82, and further chooses one processing method of replies to the chosen question from a plurality of choices displayed in the processing method selection field 83. In the example of FIG. 8, a question “Q2. Are you married?” and a processing method “Sum total” are chosen. Then, the program producer clicks the enter button 84 and thereby the service definition editor 12 memorizes the pair of the chosen question and processing method. When the program producer has other questions to be posed on audiences in the interactive program, the same operation as described above is repeated, and otherwise the end button 85 is clicked.
  • When the [0106] end button 85 is clicked, the service definition editor 12 displays a service definition editor screen 91 as shown in FIG. 9. This service definition editor screen 91 includes an input field 92 for the presumed number of audiences (the presumed number of replies); a collection time input field 93 for the time required for collection of replies, a processing time input field 94 for the time required for processing, an input field 95 for the maximum number of servers, an input field 96 for the number of servers to be used, and an enter button 97.
  • When the service [0107] definition editor screen 91 is displayed as shown in FIG. 9, the program producer inputs the predetermined or presumed values of constraints into respective ones of corresponding input fields 92 to 96, whereas an input field corresponding to a constraint to be obtained is kept blank. In the example shown in FIG. 9, since the number of servers to be used is obtained, the input field 96 for the number of servers to be used is kept blank. The program producer clicks the enter button 97, when the aforementioned operation is completed. This causes the service definition editor 12 to calculate the value of a constraint corresponding to a blank input field of the input fields 92-96.
  • The calculation of values of constraints corresponding to blank input fields will be described hereafter under three cases A, B and C: [0108]
  • Case A: The case where a processing method other than “only collection” is chosen as a processing method in the service [0109] definition editor screen 81 as shown in FIG. 8.
  • Case B: The case where “only collection” is chosen as a processing method in the service [0110] definition editor screen 81 as shown in FIG. 8.
  • Case C: The case where both of the “only collection” and another processing method are chosen as processing methods in the service [0111] definition editor screen 81 as shown in FIG. 8.
  • I. Case A [0112]
  • In Case A, the value of the constraint to a blank input field in the service [0113] definition editor screen 91 is calculated using predetermined mathematical expressions according to the steps as shown in FIG. 10 or FIG. 11. In the case of a single blank input field to be obtained, the flow chart as shown in FIG. 10 is used. When a plurality of blank input fields should be obtained, the flow chart as shown in FIG. 11 is used.
  • The mathematical expressions are previously obtained using mathematical models of respective ones of the reply collecting server and the reply processing server. Accordingly, there are plural possible mathematical expressions depending on a combination of a processing method and a constraint. The respective mathematical models of the following expressions (1) and (2) are shown in FIG. 2 and FIG. 4. [0114] Pt ( Uf ) + k = 1 Lr Ps k ( Uf ) Rr ( 1 ) Nc ( M ) + k = 1 Lr Nt k ( M ) + k = 1 Lr Pb k ( M ) Rs ( 2 )
    Figure US20030131091A1-20030710-M00001
  • In these expressions (1) and (2), Pt (x) is a time function required for collection per one reply in a reply collecting server, Uf is the number of audiences per one reply collecting server, Ps(x) is a time function required for processing per one reply collecting server, Rr is collection time permissible for collection, Lr is the number of processing items, Nc(x) is a network connection time function, M is the number of reply collecting servers to be used; Nt(x) is a network data transmission time function; Pb(x) is a time function required for processing by a reply processing server; and Rs is permissible time required for processing from the completion of collection registration to the completion of processing. [0115]
  • As described above, a mathematical expression such as the expressions (1) and (2) would exist for each combination of a processing method and the kind of a constraint (the kind of unknown value). Hereafter, for simplicity, the expression corresponding to a combination of the processing method “sum total” and the kind of unknown value “the number of servers to be used” will be described. [0116]
  • The number of audiences Uf which should be processed by each of M reply collecting servers (1≦M≦N) is obtained by equally dividing the whole number Ua of audiences (anticipated audiences) by M, resulting in the following expression (3). [0117]
  • Uf—Ua/M  (3)
  • If the collection time is proportional only to the amount of reply data, then the time function Pt(x) is expressed by the following expression (4). [0118]
  • Pt(x)=(AaTa+Ca)x  (4)
  • where, Aa is the average amount of data per reply, Ta is a collection time required for collection per unit of collected data, and Ca is a collection overhead time per reply. [0119]
  • In the processing method “sum total”, if the calculation time required for addition of each item is F[0120] 1 which is uniform regardless of an item, the following expression (5) is obtained.
  • Ps(x)−F 1 x  (5)
  • When the above expressions (3) to (5) are substituted into the expression (1), the following expression (6) is obtained. [0121]
  • (AaTa+Ca+F 1 Lr)Ua/M≦Rr  (6)
  • Further, the expression (6) can be changed as follows: [0122]
  • M≧(AaTa+Ca+F 1 Lr)Ua/Rr  (7).
  • If the reply collecting servers are sequentially connected to the [0123] reply processing server 3 while waiting for data transmission for each network connection to be completed, the network connection time is ideally proportional to uniform connection overhead time. Therefore, the following expression (8) is obtained.
  • Nc(x)=Nox  (8),
  • where No is a connection overhead time per one connection between the reply collecting servers and the [0124] reply processing server 3.
  • Also, since the transmission time in ideal network transfer is proportional to the amount of data and the amount of overhead, the following expression (9) is obtained. [0125]
  • Nt(x)=Npx(Q+Cb)  (9),
  • where Np is a network transmission time per unit byte and Q is the amount of data for each processing item, and Cb is the amount of overhead data for each processing item. [0126]
  • Since the processing time in the [0127] reply processing server 3 is proportional to the number M of servers, the following expression (10) is obtained.
  • Pb(x)−B 1 X  (10),
  • where B[0128] 1 is the processing time per reply collecting server in the reply processing server 3.
  • Here, if Q is identical in all processing items and Cb is uniform in all processing items, then the following expression (11) can be obtained by substituting the expressions (8) to (10) into the expression (2). [0129]
  • NoM+NpMLr(Q+Cb)+B 1 MLr≦Rs  (11)
  • When this expression (11) is further transformed to be put based on M, the following expression (12) is obtained. [0130]
  • M≦Rs/{No+NpLr(Q+Cb)+B 1 Lr}  (12)
  • The above-described expressions (7) and (12) are prepared corresponding to the combination of the processing method “sum total” and an unknown number “the number of servers to be used”, and the [0131] service definition editor 12 holds the above-described expressions (7) and (12) and other expressions corresponding to other combinations of processing method and unknown number therein.
  • FIG. 10 shows an operation when a single blank input field exists in the service [0132] definition editor screen 91. In FIG. 10, mathematical expressions are chosen out of the mathematical expressions existing for combinations of the processing methods and the kinds of unknown number, based on the processing method chosen on the service definition editor screen 81 and the kind of the blank input field on the service definition editor screen 91 (step S101). Subsequently, the values of the corresponding constraints shown on the service definition editor screen 81 and 91 are substituted into corresponding variables each expression chosen in the step S101, and the minimum value of the unknown value which satisfies each above-described expression is calculated (step S102). This determines the values of the constraints currently showing blank.
  • For example, when the processing method “sum total” and an unknown value M “the number of servers to be used” are chosen on the service definition editor screens [0133] 81 and 91, the expression (7) and (12) are chosen in the Step S101. The value of each constraint such as the number of presumed audiences, collection time, and the like given on the service definition editor screens 81 and 91 is substituted into a corresponding one of variables other than M “the number of servers to be used” of the expressions (7) and (12). The minimum value of M satisfying both the expressions (7) and (12) is thus calculated as the value to be filled in the blank input field “the number of servers to be used”.
  • When the minimum value of the unknown constraint has been obtained as described above, the [0134] service definition editor 12 displays a service definition editor screen 121 as shown in FIG. 12. An input data check field 122, a computed data check field 123, and a OK/REDO button 124 are displayed in this service definition editor screen 121. If the computed data (the number of required servers: 36 sets) is acceptable, then the program producer clicks “OK” in the OK/REDO button 124. Thereby, the service definition editor 12 creates a service definition file that defines the computed number of servers, collection time, processing time, processing method, and questionnaire items for collection and processing.
  • An example of the service definition file is shown in FIG. 13. This example includes: [0135] item 131 which defines the time of day starting and ending collection; item 132 which defines the time of day starting and ending processing; items 133 and 134 which define the processing method; and item 135 which defines objects to be processed. The time of day starting and ending collection and the time of day starting and ending processing are previously set into the service definition editor 12 by the program producer.
  • FIG. 11 shows an operation when a plurality of blank input fields exist in the service [0136] definition editor screen 91. In FIG. 11, required mathematical expressions are chosen from the expressions existing for every combination of the processing method and the kind of unknown number, based on the processing method chosen on the service definition editor screen 81 and the kind of the blank input field (the unknown number kind) on the service definition editor screen 91 (step S111).
  • Subsequently, as for each mathematical expression chosen in Step S[0137] 111, transformation is made in such a way that one of the variables which requires a value is set to the left side and the remaining variables are set to the right side (Step S112). In this transformation of expression, the same variable is put on the left side in each expression. Then the values of variables given on the service definition editor screens 81 and 91 are substituted into each expression (Step S113).
  • Thereafter, an appropriate numerical value which satisfies a previously given constraint is substituted into a selected one of the variables which remains in the right side of each expression, to calculate a value of the variable to be obtained (Step S[0138] 114). For example, the minimum value of all possible values of the variable to be obtained can be determined as a suitable value. It is then determined whether any other numerical value which satisfies the previously given constraint exists (step S115). The step S114 is repeatedly performed until no appropriate numerical value which satisfies the previously given constraint exists. When no appropriate numerical value exists (NO in Step S115), the numerical values given to the variables on tho right side and the corresponding minimum values of the variable to be obtained on the left side are combined to produce sets, all or a portion of which are outputted (Step S116).
  • More specifically, consider the case where the [0139] input field 93 for collection time and the input field 96 for the number of required servers are blank on the service definition editor screen 91. In this case, transformation of each expression is made in such a way that a variable for the number of servers is in the left side and other variables are in the right-hand side. Next, data inputted in the service definition editor screens 81 and 91 (the number of presumed audiences, processing time, and the like) are substituted into each mathematical expression which was transformed in above-described way. In this example, since collection time remains in the right-hand side as a variable, there are used a predetermined restriction on collection time in the right side such that collection time is larger than 0 and a predetermined restriction on the number of servers in the left side such that the number of prepared servers is zero or more but not greater than 1000. In these restrictions, a relationship between collection time and the number of servers is obtained as a set of substituted values. Since the number of servers increases by one every time the collection time increases by a certain amount, the final combination is outputted in consideration of easy judgment of a program producer, for example, as shown in the following Table T.
    TABLE I
    Collection time (seconds) The number of servers
     0-100 1
    100-200 2
    200-300 3
    . .
    . .
    . .
     9900-10000 100 
  • As shown in FIG. 14, after combinations of possible values of unknown constraints (here, the number of servers for use and the collection time) have been obtained as described before, the [0140] service definition editor 12 displays all the combinations on a screen and presents them to the program producer (Step S141). The program producer who looked at this display chooses one combination from the combinations displayed (Step S142). This causes the service definition editor 12 to generate and output a service definition file.
  • It should be noted that how to generate a service definition file is not limited to the above-mentioned method. [0141]
  • As shown in FIG. 15, it may be adapted in such a way that the most suitable combination may be determined out of all the combinations according to predetermined priority decided (Step S[0142] 151) . For example, when “higher priority is given to fewer number of servers” is predetermined as a priority, a combination providing the minimum number of servers will be chosen.
  • II Case B [0143]
  • In Case B, the value of the constraint of a blank input field in the service [0144] definition editor screen 91 is calculated using predetermined mathematical expressions according to the steps as shown in FIG. 10 or FIG. 11.
  • The mathematical expressions are previously obtained using mathematical models of respective ones of the reply collecting server and the reply processing server. Accordingly, there are plural possible mathematical expressions depending on a combination of a processing method (here, “only collection”) and a constraint. The respective mathematical models of the following expressions (13) and (14) are shown in FIG. 3 and FIG. 5. [0145] Pt ( Uf ) + k = 1 Lr Pm k ( Uf ) Rr ( 13 )
    Figure US20030131091A1-20030710-M00002
  • Nc(M)+Nt(Uf,M)+Pw(Uf,M)≦Rs 2  (14)
  • In these expressions (13) and (14), Pm(x) is a time function required for storing per one reply in a reply collecting server, Nt(x,y) is a network data transmission time function, Pw(x,y) is a time function required for storing at a reply processing server, and Rs[0146] 2 is permissible time required for processing from the completion of reception to the completion of storing.
  • As described above, a mathematical expression such as the expressions (13) and (14) would exist for each combination of a processing method and the kind of a constraint (the kind of unknown value). Hereafter, for simplicity, the expression corresponding to a combination of the processing method “only collection” and the kind of unknown value “the number of servers to be used” will be described. [0147]
  • The number of audiences Uf which should be processed by each of M reply collecting servers (1≦M≦N) is obtained by equally dividing the whole number Ua of audiences (anticipated audiences) by M, resulting in the following expression (15). [0148]
  • Uf=Ua/M  (15)
  • If the collection time is proportional only to the amount of reply data, then the time function Pt(x) is expressed by the following expression (16). [0149]
  • Pt(x)−(AaTa+Ca)x  (16)
  • Moreover, if it is assumed that storing time is proportional to the average amount of data Pv per stored item, the storing time is proportional to the average amount of data and processing time Td per unit of byte and therefore Pm(x) is obtained by the following expression (17). [0150]
  • Pm(x)−PvTdx  (17)
  • Substituting the expressions (15) to (17) into the expression (13), the following expression (18) is obtained. [0151]
  • (AaTa+Ca+PvTdLr)Ua/M≦Rr  (18)
  • When this is transformed according to M (the number of servers for use), the following expression (19) is obtained. [0152]
  • M≧(AaTa+Ca+PvTdLr)Ua/Rr  (19)
  • If the reply collecting servers are sequentially connected to the [0153] reply processing server 3 while waiting for data transmission for each network connection to be completed, the network connection time is ideally proportional to uniform connection overhead time. Therefore, the following expression (20) is obtained.
  • Nc(x)=Nox  (20)
  • where No is a connection overhead time per one connection between the reply collecting servers and the [0154] reply processing server 3.
  • Also, since the transmission time in ideal network transfer is proportional to the amount of data and the amount of overhead, the following expression (21) is obtained where Ab is the average amount of transfer data per reply. [0155]
  • Nt(x,y)=y{x(AbTb+Cc)+Cd}  (21)
  • where Tb is transfer time per unit data from a reply collecting server to the reply processing server; Cc is overhead processing time per one transfer from the reply collecting server to the reply processing server; and Cd is transfer overhead processing time per one reply collecting server from the reply collecting server to the reply processing server. [0156]
  • Assuming that the average amount of stored data per one reply to be stored by the reply processing server is set as Ac, the following expression (22) is obtained. [0157]
  • Pw(x,y)=y{x(AcTc+Ce)+Cf}  (22)
  • Here, Tc is storing time per unit of collection data at the reply processing server, Ce is overhead processing time per stored reply at the reply processing server, and Cf is overhead processing time per reply collecting server when stored in the reply processing server. The following expression (23) is obtained by substituting the expressions (20) to (22) into the expression (14). [0158]
  • NoM+M{Ua(AbTb+Cc)/M+Cd}+M{Ua(AcTc+Ce)M+Cf}≦Rs 2  (23)
  • When this is transformed according to M (the number of servers for use), the following expression (24) is obtained. [0159]
  • M≦{Rs 2 −Ua(AbTb+Cc+AcTc+Ce)}/(No+Cd+Cf)  (24)
  • A combination of the expressions (19) and (24) is the mathematical expression corresponding to the processing method “only collection” and an unknown number “number of servers for use”. In addition to the expressions (19) and (24), the [0160] service definition editor 12 also holds the mathematical expression for every combination of the processing method “only collection” and other unknown numbers. Using these expressions, the processing shown in FIG. 10 or FIG. 11 is performed to obtain the values corresponding to blank constraints on the service definition editor screen 91.
  • III. Case C [0161]
  • In Case C, the value of the constraint of a blank input field in the service [0162] definition editor screen 91 is calculated using predetermined mathematical expressions according to the steps as shown in FIG. 10 or FIG. 11.
  • The mathematical expressions are previously obtained using mathematical models of respective ones of the reply collecting server and the reply processing server. Accordingly, there are plural possible mathematical expressions depending on a combination to a processing method and a constraint. The respective mathematical models of the following expressions (25) and (26) correspond to the reply collection server and the [0163] reply processing server 3 as shown in FIG. 1. Pt ( Uf ) + k = 1 Lr Ps k ( Uf ) + Rr k = 1 Lr Pm k ( Uf ) Rr ( 25 ) 2 Nc ( M ) + k = 1 Lr Nt k ( M ) + k = 1 Lr Pb k ( M ) + Nt ( Uf , M ) + Pw ( Uf , M ) Rs 2 ( 26 )
    Figure US20030131091A1-20030710-M00003
  • In these expressions (25) and (26), for simplicity, the expression corresponding to a combination of the processing method “total summation” and the kind of unknown value “the number of servers to be used” will be described. In the Case C, the collection (storing) and processing (total summation and the like) are simultaneously performed provided that the processing (summation) previously completes calculation and thereafter the collection (storing) is performed. [0164]
  • Substituting the expressions (3) to (5) and (17) into the expression (25), the following expression (27) is obtained. [0165]
  • (AaTa+Ca+F 1 Lr+PvTdLr)Ua/M≦Rr  (27)
  • Also, when this expression is transformed in terms of M (the number of servers for use), the following expression (28) can be obtained. [0166]
  • M≧(AaTa+Ca+F 1 Lr+PvTdLr)Ua/Rr  (28)
  • Further substituting the expressions (8) to (10), (21), and (22) into the expression (26), then the following expression (29) can be obtained. [0167]
  • 2N 0 M|NpLrM(Q|Cb)|B 1 LrM+{Ua(AbTb|Cc)M|Cd}+M{Ua(AcTc+Ce)/M+Cf}≦Rs 2  (29)
  • When this expression is transformed in terms of M (the number of servers for use), the following expression (30) can be obtained. [0168]
  • M≦{Rs 2 −Ua(AbTb+Cc+AcTc+Ce)}/(2N 0 +N p LrQ +N p LrCb+B 1 Lr+Cd+Cf)  (30)
  • STEP S[0169] 63: Program Generation
  • Returning to FIG. 6, at step S[0170] 63, the program generator 13 generates an operation defining file for reply collecting servers and an operation defining file for reply processing server when the questionnaire editor 11 and the service definition editor 12 produces the questionnaire item file and the service definition file, respectively. The reply collecting server operation defining file and the reply processing server operation defining file causes the collection server program and the reply processing server program to operate according to the contents of the questionnaire item file and the service definition file.
  • Referring to FIGS. [0171] 16-18, generation processing of the reply processing server operation defining file will be described.
  • As shown in FIG. 16, the [0172] program generator 13 generates the reply processing server operation defining file by performing the processing related to the questionnaire item file (step S161) and thereafter performing the processing related to the service definition file (step S162).
  • Referring to FIG. 17, details of the processing related to the questionnaire item file (step S[0173] 161) will be described.
  • In step S[0174] 171, one question is read out from the questionnaire item file. For example, assuming that the questionnaire item file has such content as shown in FIG. 22, the question identified by QUESTION ID-“00000” is read from the questionnaire item file.
  • In step S[0175] 172, question ID, the kind of a reply form and a question name are extracted from the question read at the step S171 and are written onto the reply processing server operation defining file with related to each other. As shown in FIG. 22, QUESTION ID=“00000”, the type of reply form: TYPE=“SINGLE” and a question name “Q1. terminal type” are written onto the reply processing server operation defining file.
  • It step Sl[0176] 73, it is determined whether the reply form provides a menu of choices. In the example as shown in FIG. 22, “SINGLE” in the reply form indicates that a user can make a choice among a plurality of alternatives. Accordingly, it is determined that the reply form provides a menu of choices (YES in step S173) and therefore a step S174 is performed. When it is determined that the reply form provides no choices (NO in step S173), a step S176 is performed.
  • In the step S[0177] 174, Question ID, choice ID and a choice name are made related to each other and written onto the reply processing server operation defining file. In the example of FIG. 22, QUESTION ID=“00000”, ANSWER ID=“000”, and Choice name “A1. TV” are written thereon. The step S174 is repeatedly performed until all answer choices have been processed.
  • When the step [0178] 3174 has been completed for all answer choices (YES in step S175), the steps S171-S175 as described above are performed carried out for the next question (QUESTION ID=“00001” in the case of the example of FIG. 22). In this manner, the steps S171-S175 are repeatedly performed until all questions have been processed. When there is not left any question that is not processed yet (YES in step S176), the processing related to the questionnaire item file is terminated.
  • Then, the [0179] program generator 13 targets at the service definition file outputted from the service definition editor 12 to perform the processing as shown in FIG. 18.
  • Referring to FIG. 18, in Step S[0180] 181, one report is read from the service definition file. In the case where the service definition file is as shown in FIG. 13, for example, the report 133 of a report number (REPORT NO=“1”) is read.
  • In the following step S[0181] 182, Report ID, Type of processing method, Condition, and Comment are extracted from the report 133 read in Step S181, and written onto the reply processing server operation defining file. FIG. 13 shows an example such that Report ID: REPORT NO.=“1”, Type of processing method: RTYPE=“SUM-SINGLE”, Comment: NOTE=“simple totalizing (e.g. how many persons for a, and how many persons for b)” are written onto the reply processing server operation defining file. In the case as shown in FIG. 13, the report 133 has no conditions.
  • In Step S[0182] 183, it is determined whether the report 133 read in Step 3181 has a description about question therein. In the example of FIG. 13, the report 133 includes a description about a question and therefore the following step S184 is performed (YES in step S183). If the report 133 includes no description about question (NO in step S183), the step S186 is performed.
  • In Step S[0183] 184, report ID, question ID and group are written onto the reply processing server operation defining file. In the example of FIG. 13, REPORT NO=“1” and QUESTION ID=“1” are written onto the reply processing server operation defining file. In the example of FIG. 13, the report 133 has no group and only the report 135 has a group. The step S184 is repeatedly performed until all the questions have been processed.
  • When the processing for all questions included in the report has been completed (YES in step S[0184] 185), it is determined whether all reports has been processed (step S186). If at least one report is left (NO in step S186), a subsequent report is read out from the service definition file (step S181). In this manner, the steps S181-S185 are repeatedly performed until all the reports have been processed. When the processing for all the reports have been completed (YES in step S186), then this processing is terminated.
  • Referring to FIGS. [0185] 19-21, generation processing of the reply collecting server operation defining file will be described.
  • As shown in FIG. 19, the [0186] program generator 13 generates a reply collecting server operation defining file by performing the processing related to the questionnaire item file (step S191) and thereafter performing the processing related to the service definition file (step S192).
  • Referring to FIG. 20, the processing related to the questionnaire item file (step S[0187] 191) is performed by steps S201-S206, which is the same as the processing of the steps S171-S176 as shown in FIG. 17, provided that information such as question ID is written onto the reply collecting server operation defining file.
  • Referring to FIG. 21, the processing related to the service definition file (step S[0188] 192) is performed by steps S211-S216, in which the steps S211, S213-S216 are the same with the steps S181, S183 to S186 of FIG. 18, respectively, provided that information such as report ID is written onto the reply collecting server operation defining file. The step S212 is different from the step S182. In the step S182, comment is written onto the operation definition file, whereas no comment writing is performed in step S212.
  • The [0189] program generator 13 generates the reply collecting server operation defining file and the reply processing server operation defining file and stores them in the service program repository 14.
  • Alternatively, the [0190] program generator 13 can generate a reply collecting server program and a reply processing server program without the need of operation definition files. More specifically, necessary modules are selected from a plurality of predetermined program modules based on the inputted questionnaire item file and the service definition file. Subsequently, a driving program is generated to communicate with these selected modules and is combined to each selected module to produce the reply collecting server program and the reply processing server program without the need of operation definition files.
  • STEP S[0191] 64: Program Distribution
  • Returning to FIG. 6, at step S[0192] 64, the server distribution management service section 15 performs server program distribution to the reply processing server 3 and M reply collecting servers selected from the N reply collecting servers 2-1 to 2-N. The server distribution management service section 15 detects the timing of collecting and processing replies based on the contents of the operation defining file stored in the service program repository l4 or an instruction of the operator. When the timing of collecting and processing is detected, the previously prepared reply processing server program and the reply processing server operation definition file are distributed to the reply processing server 3. At the same time, the server distribution management service section 15 selects M available ones from the N reply collecting servers 2-1 to 2-N to distribute the reply collecting server program and the reply collecting server operation definition file to the selected M reply collecting servers.
  • As described before, in the case where the [0193] program generator 13 generates the reply collecting server program and the reply processing server program which requires no operation defining files, the reply collecting server program is distributed to the M reply collecting servers and the reply processing server program is distributed to the reply processing server 3.
  • The reply collecting server implements the configuration as shown in FIG. 1, 2, or [0194] 3 thereon according to the reply collecting server program and the reply collecting server operation definition file which are received from the server distribution management service section 15. Similarly, the reply processing server 3 implements the configuration as shown in FIG. 1, 4, or 5 thereon when having received the reply processing server program and the reply processing server operation definition file.
  • STEPS S[0195] 65 and S66: Reply Reception and Processing
  • Returning to FIG. 6, the reply reception (step S[0196] 65) and reply processing (step S66) are performed in the reply collecting servers and the reply processing server 3 which are configured as described above.
  • Hereinafter, it is assumed that the reply collecting servers and the [0197] reply processing server 3 are configured as shown in FIG. 1.
  • As shown in FIG. 1, in the reply collecting server (e.g. [0198] 2-1), the Web server 25 is activated to receive replies from audiences at the questionnaire collection service section 21 through the Web interface. The questionnaire collection service section 21 passes the questionnaire reply items instructed to be processed by the service definition editor 12 to the reply processing middleware section 22, and passes the questionnaire reply items instructed to be collected by the service definition editor 12 to the reply collection middleware section 23.
  • The reply [0199] processing middleware section 22 combines the replies passed by the questionnaire collection service section 21 with the replies already passed to perform the statistics processing such as total summation or the extraction processing. On the other hand, the reply collection middleware section 23 saves the replies in a saving form. At every constant timing, after the expiration of collection time, or according to a request of the reply processing server 3, processed or collected data is sent to the reply processing server 3 through the data transmission middleware section 24.
  • The [0200] reply processing server 3 uses the data receiving middleware section 31 to receive data from all the M reply collecting servers which have collected the replies to a questionnaire in the same interactive program. If the received data is processed data, it is passed to the reply processing service section 32, and if it is collected data, it is passed to the collection service section 33. The reply processing service section 92 further processes the processed data received from each reply collecting server. The collection service section 33 stores all collected data onto the reply data base 34.
  • Hereinafter, assuming that the reply collecting servers and the [0201] reply processing server 3 are configured as shown in FIG. 3 and FIG. 5, respectively, operations thereof will be described.
  • Referring to FIG. 23, in the reply collecting server, the questionnaire [0202] collection service section 21 receives a reply from an audience terminal (step S231), and the collection middleware section 23 stores the reply onto a memory (not shown) (step S232). If the memory becomes full or insufficient, the stored data is written out to a separate file or the like in units of a predetermined size so as to save the memory.
  • The steps S[0203] 231 and S232 are repeatedly performed until the preset reception time has been expired or a reception termination instruction has been received. When the reception is completed (YES in step S233), the data transmission middleware section 24 transmits collectively all the reply data stored in the memory to the reply processing server 3 (step S234). If all reply data cannot be transmitted at once, data may be divided by a transmittable size to enable the transmission of data in units of divided data. Also, when the stored data is written out to a separate file or the like to same the memory, the written data may be transferred back to the memory before transmitted to the reply processing server 3.
  • As shown in FIG. 24, the reply may be stored in a file made of a non-volatility recording medium (not shown) in place of the memory of FIG. 23. In FIG. 24, the other steps S[0204] 241, S243, and S244 correspond to the steps S231, 233, and S234 of FIG. 23, respectively.
  • Referring to FIG. 25, in the [0205] reply processing server 3, the data receiving middleware section 31 sequentially receives collected data from the reply collecting servers 2-1 to 2-N. The collected data is temporarily stored in a memory or a file made of a relatively high-speed recording medium (not shown) or all collected data are stored as a series of binary data in the reply DB 34 (step S251). The data storing of the relatively high-speed recording medium and the relatively low-speed DB 34 may be performed in parallel. Alternatively, after the data storing of the relatively high-speed recording medium has been completed, the data storing of the DB 34 may be performed. In this manner, when the collected data have been received from all the reply collecting servers 2-1 to 2-N (YES in step S252), the collection service section 33 disassembles each collected data in units of one reply to store each reply of data into the DB 34 (step S253). The collection service section 33 repeatedly perform the step S253 until all replies have been processed.
  • In the case where the data receiving [0206] middleware section 31 and the collection service section 33 are allowed to operate in parallel, the data receiving operation of the data receiving middleware section 31 from the respective reply collecting servers 2-1 to 2-N is in some cases performed in parallel with the collected data storing operation of the collection service section 33 into the reply DB 34.
  • Next, assuming that the reply collecting servers and the [0207] reply processing server 3 are configured as shown in FIG. 3 and FIG. 5, respectively, another operation thereof will be described by referring to FIG. 41 and FIG. 42.
  • FIG. 41 shows an operation of the reply collecting server, which is different from that of FIG. 23 in that reply data is sent to the [0208] reply processing server 3 at a data transmission request of the reply processing server 3 (steps S414 and S415). The other steps S411 to S413 correspond to the steps S231 to S233 of FIG. 23.
  • FIG. 42 shows the operation of the [0209] reply processing server 3, which is different from that of FIG. 25 in that a data transmission request is sequentially sent to the reply collecting servers 2-1 to 2-N (step S421) . The other steps S422 to S425 correspond to the steps S251 to S254. In the operations shown in FIG. 41 and FIG. 42, each of the reply collecting servers 2-1 to 2-N transmits reply data collected from audience terminals to the reply processing server 3 in response to a transmission request received from the reply processing server 3. This allows the consumption of system resources on the side of the reply processing server 3 to be suppressed when the number of reply collecting servers increases.
  • Next, further still another example of the operation performed by a reply collecting server that is configured as shown in FIG. 3 will be described referring to FIG. 26. This example can effectively deal with occurrence of a memory failure in the reply collecting server. [0210]
  • Referring to FIG. 26, the reply collecting server determines whether it was started for the usual purpose, or it was started for the purpose of failure restoration at the time of starting (step S[0211] 261).
  • When started for the usual purpose (NO of step S[0212] 261), the following processing is performed each time a reply is received from an audience terminal. The questionnaire collection service section 21 receives a reply from an audience terminal (step S262). The reply collection middleware section 23 stores this received reply into a memory (not shown) and at the same time stores into a file made of a non-volatile memory (steps S263 and S264). If the memory becomes full or insufficient, the stored data is written out to a separate file or the like in units of a predetermined size so as to save the memory. The steps S262-S264 are repeatedly performed until the preset reception time has been expired or a reception termination instruction has been received. When the reception is completed (YES in step S265), it is determined whether a failure occurs (step S266).
  • On the other hand, when started for the purpose of failure restoration (YES in step S[0213] 261), the above-mentioned collection processing (steps S262 to S265) is skipped, and the step S266 is processed.
  • In the step S[0214] 266, it is determined whether a memory failure resulting in erasure of stored data occurs during reply collection. When it is determined that such a failure occurred (YES in step S266), the reply data stored in the file at the step S264 is re-stored in the memory (step S267). In addition, when started for the purpose of failure restoration, the judgment result of Step S266 shows YES.
  • After the step S[0215] 267, the data transmission middleware section 24 transmits collectively the reply data stored in the memory to the reply processing server 3 (step S268). Also, when no failure occurs in the step S266, the step S268 is performed with skipping the step S267. If all reply data cannot be transmitted at once, data may be divided by a transmittable size to enable the transmission of data in units of divided data. Also, when the stored data is written out to a separate file or the like to same the memory, the written data may be transferred back to the memory before transmitted to the reply processing server 3.
  • Hereinafter, assuming that the reply collecting servers and the [0216] reply processing server 3 are configured as shown in FIG. 2 and FIG. 4, respectively, operations thereof will be described.
  • Referring to FIG. 27, in the reply collecting server, the questionnaire [0217] collection service section 21 receives a reply from an audience terminal (step S271), and the processing middleware section 22 processes the received reply using a predetermined processing method and stores the processed reply onto a memory (not shown) (steps S272 and S273). If the memory becomes full or insufficient, the stored data is written out to a separate file or the like in units of a predetermined size so as to save the memory.
  • The steps S[0218] 271 to S273 are repeatedly performed until the preset reception time has been expired or a reception termination instruction has been received. When the reception is completed (YES in step S274), the data transmission middleware section 24 transmits collectively all the processed data stored in the memory to the reply processing server 3 (step S275). If all processed data cannot be transmitted at once, data may be divided by a transmittable size to enable the transmission of data in units of divided data. Also, when the stored data is written out to a separate file or the like to same the memory, the written data may be transferred back to the memory before transmitted to the reply processing server 3.
  • As shown in FIG. 28, the processed data may be stored in a file made of a non-volatility recording medium (not shown) in place of the memory of FIG. 23. In FIG. 28, the other steps S[0219] 281, S282, S284 and S285 correspond to the steps S271, S272, S274, S275 of FIG. 27, respectively.
  • Referring to FIG. 29, initialization is performed depending on a predetermined processing method (step S[0220] 291). Thereafter, each time the data receiving middleware section 31 receives processed data from the reply collecting servers 2-1 to 2-N, the processing service section 32 further processes the processed data (steps S292 and S293). In the step S292, the data receiving middleware section 31 temporarily stores the processed data in a memory or a file made of a relatively high-speed recording medium (not shown) or all processed data are stored as a series of binary data in the reply DB 34. In the step S293, the processing service section 32 can store, as necessary, the result data processed thereby into a memory, a file or the reply DB 34. In this manner, when the processed data have been received from all the reply collecting servers 2-1 to 2-N (YES in step S294), the processing service section 32 further processes the processed data obtained at the step S293 as necessary (step S295).
  • In the case where the data receiving [0221] middleware section 31 and the processing service section 32 are allowed to operate in parallel, the processed data collecting operation of the data receiving middleware section 31 is in some cases performed in parallel with the data processing operation of the processing service section 32.
  • Next, an example of the operation performed by a reply collecting server that is configured as shown in FIG. 2 will be described referring to FIG. 30. This example can effectively deal with occurrence of a memory failure in the reply collecting server. [0222]
  • Referring to FIG. 30, the reply collecting server determines whether it was started for the usual purpose, or it was started for the purpose of failure restoration at the time of starting (step S[0223] 3001).
  • When started for the usual purpose (NO of step S[0224] 3001), the following processing is performed each time a reply is received from an audience terminal. The questionnaire collection service section 21 receives a reply from an audience terminal (step S3001). The reply processing middleware section 22 processes the reply according to a predetermined processing method and stores its result into a memory while storing the reply data into a file made of a non-volatile memory (steps S3003-S3005). The steps S3002 S3005 are repeatedly performed until the preset reception time has been expired or a reception termination instruction has been received. When the reception is completed (YES in step S3006), it is determined whether a failure occurs (step S3007).
  • On the other hand, when started for the purpose of failure restoration (YES in step S[0225] 3001), the above-mentioned collection processing (steps S3002 to S3006) is skipped, and the step S3007 is processed.
  • In the step S[0226] 3007, it is determined whether a memory failure resulting in erasure of stored data occurs during reply collection and processing (steps S3002-S3006). When it is determined that such a failure occurred (YES in step S3007), the reply data already stored in the file at the step S3005 is re-stored in the memory (step S3008) and then is processed according to the predetermined processing method to be stored into the memory (steps S3008-S3010) The re-storing of reply data and the processing thereof may be performed by one operation. Alternatively, each reply may he re-stored into the memory and re-processed. When started for the purpose of failure restoration, the judgment result to Step S3007 shows YES.
  • After the step S[0227] 3010, the data transmission middleware section 24 transmits collectively the processed data stored in the memory to the reply processing server 3 (step S3011). Also, when no failure occurs in the step S3007, the step S3011 is performed with skipping the steps S3008-S3010. If all processed data cannot be transmitted at once, data may be divided by a transmittable size to enable the transmission of data in units of divided data.
  • The operations of a reply collecting server and the [0228] reply processing server 3 will be described using more detailed examples.
  • Example (1) [0229]
  • In a first example, each respondent is prompted to make a choice between A and B and a server side performs total summation to produce the number of respondents for each choice. Details will be described hereafter. [0230]
  • Referring to FIG. 31, in a reply collecting server, variables A and B to be memorized in a memory are initialized to 0 on or before the receiving start time (step S[0231] 311). When the reception starts, the questionnaire collection service section 21 receives replies (step S312). The reply processing middleware section 22 analyzes the reply choice of a received reply. If A is chosen, the variable A is incremented by one, and if B is chosen, the variable B is incremented by one (steps S313 to S315). The steps S312 to S315 are repeated until the reception is terminated. After the reception is terminated, the data transmitting middleware section 24 transmits the contents of the variables A and B to the reply processing server (step S317).
  • Referring to FIG. 32, in the [0232] reply processing server 3, variables SA and SB are initialized to 0 on startup or before collecting the variables A and B from each reply collecting server (step S321). When collection is started, the variable A received from each of the reply collecting servers 2-1 to 2-N is added to the variable SA, and the variable B is added to the variable SB (steps S322 and S323). The steps S322 and S323 are repeated until the variables A and B have been received from all the reply collecting servers 2-1 to 2-N. The variable SA represents the number of respondents who gave the answer A from the answer choices, and the variable SB represents the number of respondents who gave the answer B from the answer choices.
  • Example (2) [0233]
  • In a second example, each respondent is prompted to enter the age thereof and a server side performs total summation to produce the number of respondents for each of the under-20 age bracket A[0234] 0, the 20-60 age bracket A20, and the over-60 age bracket A60. Details will be described hereafter.
  • Referring to FIG. 33, in a reply collecting server, variables A[0235] 0, A20 and A60 to be memorized in a memory are initialized to 0 on or before the receiving start time (step S331). When the reception starts, the questionnaire collection service section 21 receives replies (step S332). The reply processing middleware section 22 analyzes the contents of a received reply. If the age of the respondent is under 20, then the variable A0 is incremented by one, if over 20 but under 60, the variable A20 is incremented by one, and if over 60, the variable A60 is incremented by one (steps S333 to S336). The steps S332 to S336 are repeated until the reception is terminated. After the reception is terminated, the data transmitting niddleware section 24 transmits the contents of the variables A0, A20 and A60 to the reply processing server (stop S338).
  • Referring to FIG. 34, in the [0236] reply processing server 3, variables SA0, SA20 and SA60 are initialized to 0 on startup or before collecting the variables A0, A20 and A60 from each reply collecting server (step S341). When collection is started, the data receiving middleware section 31 collects the variables A0, A20 and A60 from each of the reply collecting servers 2-1 to 2-N (step S342) and, in parallel with the collection operation, the processing service section 32 adds the variable to the variable SA0, the variable A20 to the variable SA20, and the variable A60 to the variable SA60 (step S343). The steps S342 and S343 are repeated until the variables A0, A20 and A60 have been received from all the reply collecting servers 2-1 to 2-N. The variable SA0 represents the number of respondents who are under 20 years old, and the variable SA20 represents the number of respondents who are not under 20 but under 60 years old, and the variable SA60 represents the number of respondents who are over 60 years old. These resultant values are output through the report service section 35.
  • Example (3) [0237]
  • In a third example, among respondents, the top-ten arrivals who earlier sent replies to the server side are extracted as winners. Here, it is assumed that a reply includes a user identifying field such as a user's name, address and the like. [0238]
  • Referring to FIG. 35, in the reply collecting server, variable N is initialized to 0 on or before the receiving start time (step S[0239] 351). When the reception starts, the questionnaire collection service section 21 receives replies (step S352). The reply processing middleware section 22 analyzes received replies and determines whether N is smaller than 10 (step S353). If N is smaller than 10 (YES in step S353), the received reply is stored in an array variable K[N] and the reception time thereof is stored in an array variable T[N] (step S354) and then the variable N is incremented (step S355). The steps S352-S355 are repeatedly performed until the reception is terminated. When the reception has been terminated (YES in step S356), the data transmitting middleware section 24 transmits the array variables K[0]−K[N−1], T[0]−T[N−1] and the variable N to the reply processing server 3 (step S357).
  • Referring to FIG. 36, the data receiving [0240] middleware section 31 collects the variables K, T and N from each of the replay collecting servers 2-1 to 2-N (step S361). The array variables K and T are consecutively stored as a record onto a sufficiently large array (step S362). The steps S361 and 5362 are repeated until the variables have been received from all the reply collecting servers 2-1 to 2-N.
  • The reply [0241] processing service section 32 sorts the stored array according to the value of T (reception time) to produce a sorted list of the array variable K (step S364) Then, the top-ten arrays K of the sorted list, that is, ten replies received earlier, are outputted through the report service section 35 (step S365). In this manner, a winner announcement is made.
  • Example (4) [0242]
  • In a fourth example, an auction system is implemented, where a reply including the highest nominal price is determined out of received replies each including a price input field. [0243]
  • Referring to FIG. 37, in the reply collecting server, the first reply received at the questionnaire [0244] collection service section 21 after the reception starts, and the price of the first reply is stored as an initial value in variable BEST (steps S371 and S372). Here, the variable BEST is stored in a memory. Thereafter, the questionnaire collection service section 21 receives a reply (step S373) and the processing middleware section 22 compares the received reply to the variable BEST (step S374). If the BEST is lower than the receive reply (YES in step S374), then the received reply is overwritten onto the variable BEST (step S375). If the BEST is not lower than the receive reply (NO in step S374), then the BEST is not changed. The steps S373 to S375 are repeatedly performed until the reception has been terminated. When the reception has been terminated (YES in step S376), the data transmission middleware section 24 transmits the contents of the variable BEST to the reply processing server 3 (step S377).
  • Referring to FIG. 38, in a reply processing server, the price of the variable BEST first collected by the data receiving [0245] middleware section 31 is stored into a variable SBEST (steps S381 and S382). Here, BEST is stored in a memory. The data receiving middleware section 31 receives the variable BEST from each of the reply collecting servers 2-1 to 2-N (step S383). The processing service section 32 compares the BEST with the SBEST (step S384) . If SBEST is lower than BEST (YES in step S384), then the BEST is set to the SBEST (step S385). If SBEST is not lower than BEST (NO in step S384), the SBEST is not changed. The steps S383-S385 are repeatedly performed until the collection from all reply collecting servers has been completed.
  • Accordingly, the variable SBEST at the time of collection being completed indicates the highest nominal price in this auction. [0246]
  • Example (5) [0247]
  • In a fifth example, ten replies are chosen from all respondents by lot. Lots shall be cast regardless of the contents of reply data. [0248]
  • Referring to FIG. 39, in the reply collecting server, variables N and S are initialized to 0 on or before the receiving start time (step S[0249] 3901). When the reception starts, the questionnaire collection service section 21 receives replies (stop S3902) and the variable S is incremented by one (step S3903) The reply processing middleware section 22 analyzes received replies and determines whether N is smaller than 10 (step S3904). If N is smaller than 10 (YES in step S3904), the received reply is additionally stored in an array variable K[N] (step S3905) and the variable N is incremented by one (step S3906).
  • If N is not smaller than 10 (NO in step S[0250] 3904), then rely replacement is performed with the probability of 10/s (step S3909). More specifically, when it won, one of the replies stored in the array variable K is randomly determined to be replaced using a random number (step S3910) and the determined reply in the array variable K is replaced with the received reply (step S3911).
  • The steps S[0251] 3902-S3911 are repeatedly performed until the reception is terminated. When the reception has been terminated (YES in step S3907), the data transmitting middleware section 24 transmits the array variable K and the variable S to the reply processing server 3 (step S3908).
  • Referring to FIG. 40, the data receiving [0252] middleware section 31 receives the array variable K and the variable S from each of the reply collecting servers 2-1 to 2-N and then stores them onto the memory (step S401). When having received them from all the reply collecting servers 2-1 to 2-N (YES in step S402), the reply processing service section 32 determines the number of winners for each replay collecting server, which is calculated by dividing (10×S received from each replay collecting server) by the sum of variables S from all the reply collecting servers 2-1 to 2-N. Then, the reply processing service section 32 randomly determines winner replies by the determined number of winners from all received replies of the reply collecting servers 2-1 to 2-N. Ten respondents determined in above way become the final winners (or finally winning replies). If the number of winners for each replay collecting server is not an integer, it should be adjusted into integer number by dropping the fractional portion thereof or rounding off it to the nearest integer.
  • STEP S[0253] 67: Report Service
  • Returning to FIG. 6, in step S[0254] 67, the report service section 35 is operating on the WEB server 36, for example, to receive a report output request of a user using the communication function of a WEB browser or an external computer. As for the questionnaire items already processed by the reply processing service section 32, the report service section 35 receives data from the reply processing service section 32, and converts its format into HTML as shown in FIG. 23 or XML as shown in FIG. 24 to output it in the converted form. On the other hand, as for the questionnaire items of the replies which are just stored in the collection database 34, format conversion of all or some of data into HTML or XML is carried out, and outputted. Alternatively, the replies stored in the reply database 34 are processed according to a processing method instructed by a person in charge using the reply processing service section 32 and then are outputted in the HTML or XML format.
  • In the first embodiment and examples as described above, the case where the simultaneous multiple-access processing server for interactive program is constructed is described. However, the first embodiment can be applied to the case where a simultaneous multiple-access processing server for WEB shopping, and the like, is constructed. [0255]
  • Second Embodiment [0256]
  • Referring to FIG. 45, a server [0257] construction support system 1 according to a second embodiment of the present invention supports construction of a plurality of reply collecting servers 2-1 a to 2-Na and a reply processing server 3 a. Each of the reply collecting servers 2-1 a to 2-Na is further provided with a users-number change detecting program 26 and an operation change program 27 which are stored in a memory (not shown). The other blocks 21-25 are the same as those of the first embodiment as shown in FIG. 1. The reply processing server 3 a is further provided with an operation change program 38. The other blocks 31-36 are the same as those of the first embodiment as shown in FIG. 1.
  • The [0258] service definition editor 12 calculates the values of constraints for each of presumed cases of numbers of audiences. The program generator 13 generates an operation defining file for each presumed case to distribute them to the reply collecting servers 2-1 a to 2-Na and the reply processing server 3 a.
  • In each of the reply collecting servers [0259] 2-1 a to 2-Na, the users-number change detecting program 26 is operating to perform total summation of the number of user replies in processing at intervals of a unit time (e.g. 1 minutes). The operation change programs 27 and 38 are operating to receive a change in the number of users obtained by the users-number change detecting program 26 to compare it with a predetermined number of users, and thereby change an operation status of the server itself to an operation status suitable for the detected number of users.
  • For example, the [0260] service definition editor 12 previously calculates the values of constraints in the following cases:
  • (1) the number of user replies per unit time (e.g. 1 minute) is less than 10,000; [0261]
  • (2) the number of user replies per unit time is not less than 10,000 and less than 50,000; and [0262]
  • (3) the number of user replies per unit time is not less than 50,000. [0263]
  • The [0264] program generator 13 generates operation defining files for each of the above cases and distributes them to the reply collecting servers 2-1 a to 2-Na and the reply processing server 3 a.
  • The respective reply collecting servers [0265] 2-1 a to 2-Na and reply processing (summation) server 3 can know the number of user replies in the whole system through the users-number change detecting program 26.
  • Each of the [0266] operation change programs 27 and 38 compares the current number of users per unit time detected by the users-number change detecting program 26 with the number of users to be defined by each of the above-mentioned three cases (1), (2) and (3). The operation change program controls the operation of a server program according to an operation defining file determined depending on a current case. More specifically, if the number of user replies is less than 10,000, an operation defining file corresponding to the operation status defined by the case (1) is used. If the number of user replies is not less than 10,000 and less than 50,000, an operation defining file corresponding to the operation state defined by the case (2) is used. If the number of user replies is not less than 50,000, an operation defining file corresponding to the operation state defined by the case (3) is used.
  • In the second embodiment, an operation defining file for every case is generated. A server program may be generated for every case. Also, in this embodiment, the users-number [0267] change detecting program 26 is provided in the reply collecting servers 2-1 a to 2-Na. Alternatively, in addition to the reply collecting servers 2-1 a to 2-Na, a load balancer (not shown) may be provided separately, which distributes replies and information received from users among the reply collecting servers 2-1 a-2-Na. The users-number change detecting program 26 can be implemented on the load balancer. Further, the operation change programs 27 and 38 may be implemented outside the reply collecting servers 2-1 a to 2-Na, for example, on the server program distribution management service section 15.
  • According to the second embodiment, not only an operation change in a sever but also a change of a service menu presented to accessing users can be made. The following example may be implemented in a WEB site to provide an accessing user with two patterns of site menu, which is selected depending on the number of accessing users. [0268]
  • The site menu displaying mode is defined depending on the number of accessing users as follows: [0269]
  • (1) when there are many accesses per unit time, only easy-to-process services are displayed in the site menu; and [0270]
  • (2) when there are few accesses per unit time, all services are displayed in the site menu. [0271]
  • Since an increase or decrease in the number of users can be detected by the users-number [0272] change detecting program 26, the Web server 25 can switch between the above operations (1) and (2) depending on the detected number of users.
  • Third Embodiment [0273]
  • Referring to FIG. 46, a server [0274] construction support system 1 b according to a third embodiment of the present invention supports construction of a plurality of reply collecting servers 2-1 b, 2-2 to 2-N and a reply processing server 3 b. The server construction support system 1 b is further provided with a service definition editor 12 b and a constant-value communication section 16. The other blocks 11, 13-15 are the same as those of the first embodiment as shown in FIG. 1. The reply processing server 3 b is further provided with a constant-value determination section 39 and a constant-value communication section 40.
  • Only the reply collecting servers [0275] 2-1 b is further provided with a constant-value determination section 28 and a constant-value communication section 29. The other blocks 21-25 of the reply collecting servers 2-1 b and the other reply collecting servers 2-2 to 2-N are the same as those of the first embodiment as shown in FIG. 1. In this embodiment, it is assumed that all the reply collecting servers 2-1 b, 2-2 to 2-N have the same performance. In the case where each reply collecting server has a difference performance, each of the reply collecting servers 2-1 b, 2-2 to 2-N may be provided with the constant-value determination section 28 and the constant-value communication section 29.
  • The constant-[0276] value determination section 28 has a function of determining a predetermined constant value directly by measurement, or indirectly by calculation based on measured values. Here, a constant value to be determined is a value which depends on the reply collecting server 2-1 b among the constant values used in the expressions held by the service definition editor 12 b to determine the values of the constraints. Such expressions are, as described before, predetermined for every combination of a processing method and a constraint with unknown value, these expressions including the expressions (7), (12), (19), (24), (28), (30) and the like. For example, Ta and Ca of the expression (7) are constant values to be determined by the constant-values determination section 28.
  • The constant-[0277] value communications section 29 has a function of transmitting the constant values determined by the constant-value determination section 28 to the server construction support system 1 b.
  • The constant-[0278] value determination section 39 has a function of determining a predetermined constant value directly by measurement, or indirectly by calculation based on measured values. Here, a constant value to be determined is a value which depends on the reply processing server 3 b among the constant values used in the expressions held by the service definition editor 12 b to determine the values of the constraints. Such expressions are, as described before, predetermined for every combination of a processing method and a constraint with unknown value, these expressions including the expressions (7), (12), (19), (24), (28), (30) and the like. For example, No, Np, R1 and so on of the expression (12) are constant values to be determined by the constant-value determination section 39.
  • The constant-[0279] value communications section 40 has a function of transmitting the constant values determined by the constant-value determination section 39 to the server construction support system 1 b.
  • The constant-[0280] value communications section 16 has functions of receiving the constant values from the constant-value communications section 29 and/or the constant-value communications section 40 and transferring them to the service definition editor 12 b.
  • The [0281] service definition editor 12 b has a function of calculating the value of a constraint given no value in the service definition editor screen 91 (see FIG. 9) based on a corresponding expression of the expressions currently held therein and the constant values transferred from the constant-value communications section 16. The other functions is the same as those of the service definition editor 12 as shown in FIG. 1.
  • An operation of the third embodiment will be described hereafter. Here, only portions of the operation different from the first embodiment will be provided. [0282]
  • Referring to FIG. 47, the constant-[0283] value determination section 28 of the reply collecting server 2-1 b determines a predetermined constant value according to predetermined timing directly by measurement or indirectly by calculation based on measured values (step S471). The predetermined timing is when setting the reply collecting server 2-1 b or when an instruction is received from an administrator due to a change in operation circumstance. Here, a constant value to be determined is a value which depends on the reply collecting server 2-1 b among the constant values used in the expressions held by the service definition editor 12 b to determine the values of the constraints. For example, the file writing rate on the reply collecting server 2-1 b may be used as a constant value to be determined. When a file writing rate is needed to determine another constant value, an actual file writing operation is repeatedly performed a predetermined number of times and an average time thereof may be used as the constant value of file writing rate. Alternatively, a storing time required for storing a predetermined length of characters into a memory on the reply collecting server 2-1 b may be used as the constant value. When a character storing time is needed to determine another constant value, an actual character storing operation is repeatedly performed a predetermined number of times and an average time thereof may be used as the constant value of character storing time. If necessary, a record reading rate or writing rate on the database or a processing rate of an algorithm may be also used as a constant value by measurement or calculation.
  • After the above-described step S[0284] 471 is completed, the constant-value communications section 29 transmits each constant value determined by the constant-value determination section 28 to the server construction support system 1 b (step S472).
  • Similarly, referring to FIG. 47, the constant-[0285] value determination section 39 of the reply processing server 3 determines a predetermined constant value according to predetermined timing directly by measurement or indirectly by calculation based on measured values (step S471). The predetermined timing is when setting the reply collecting server 2-1 b or when an instruction is received from an administrator due to a change in operation circumstance. Here, a constant value to be determined is a value which depends on the reply processing server 3 among the constant values used in the expressions held by the service definition editor 12 b to determine the values of the constraints. For example, the file writing rate on the reply processing server 3 may be used as a constant value to be determined. When a file writing rate is needed to determine another constant value, an actual file writing operation is repeatedly performed a predetermined number of times and an average time thereof may be used as the constant value of file writing rate. Alternatively, a storing time required for storing a predetermined length of characters into a memory on the reply processing server 3 may be used as the constant value. When a character storing time is needed to determine another constant value, an actual character storing operation is repeatedly performed a predetermined number of times and an average time thereof may be used as the constant value of character storing time. If necessary, a record reading rate or writing rate on the database or a processing rate of an algorithm may be also used as a constant value by measurement or calculation.
  • After the above-described step S[0286] 471 is completed, the constant-value communications section 40 transmits each constant value determined by the constant-value determination section 39 to the server construction support system 1 b (step S472).
  • Referring to FIG. 48, the constant-[0287] value communication section 16 in the server construction support system 1 b receives constant values from the constant-value communication section 29 and the constant-value communication section 40 and transfers them to the service definition editor 12 b (step S481). The service definition editor 12 b saves the received constant value transferred from the communications section 16 (step S482).
  • Thereafter, when a user instructs the [0288] service definition editor 12 b to calculate the value of a constraint which is currently blank on the service definition editor screen 9. (see FIG. 9), the service definition editor 12 b determines the value of the constraint which is blank using a corresponding expression of the expressions existing for every combination of the processing method and an unknown value type. For example, when the input fields of the service definition editor screen 91 are filled as shown in FIG. 9, the expressions (7) and (12) are used with substituting the constant values held in the step S482 into respective ones of the constants Ta, Ca, No, Np, and B1 contained in the expression (7) and (12). In this way, the values of constraints which are blank are determined using constant values determined directly or indirectly based on actual measured values. Accordingly, the value of each constraint can be set to an appropriate value.
  • Fourth Embodiment [0289]
  • Referring to FIG. 49, a server construction support system [0290] 1 c according to a fourth embodiment of the present invention supports construction of a plurality of reply collecting servers 2-1 c, 2-2 to 2-N and a reply processing server 3 c. The server construction support system 1 c is further provided with a constant-value reading section 17. The other blocks 11, 12 b, 13-15 are the same as those of the third embodiment as shown in FIG. 46. The reply processing server 3 c is further provided with a constant-value saving section 41. The other blocks 31-36, 39 are the same as those of the third embodiment as shown in FIG. 46.
  • Only the reply collecting servers [0291] 2-1 c is further provided with a constant-value saving section 30. The other blocks 21-25, 28 of the reply collecting servers 2-1 b and the other reply collecting servers 2-2 to 2-N are the same as those of the third embodiment as shown in FIG. 46.
  • The respective constant-[0292] value saving sections 30 and 41 store the constant values each determined by the constant- value determination sections 28 and 39 onto a file such as a non-volatile memory or a flexible disk. The constant-value reading section 17 of the server construction support system 1 c is capable of reading the constant values stored in the file to transfer them to the service definition editor 12 b.
  • An operation of the fourth embodiment will be described hereafter. [0293]
  • Referring to FIG. 50, the constant-[0294] value determination section 28 of the reply collecting server 2-1 c determines a predetermined constant value according to predetermined timing directly by measurement or indirectly by calculation based on measured values (step S501). After the above-described step S501 is completed, the constant-value saving section 30 stores the constant values each determined by the constant-value determination section 28 onto the file (step S502). Thereafter, an administrator goes to the location of the server construction support system 1 c with the file such as a flexible disk storing the constant values depending on the reply collecting server 2-1 c, and then inserts the file into the constant-value reading section 17.
  • Referring to FIG. 51, the constant-[0295] value reading section 17 in the server construction support system 1 c reads out the constant values from the file and transfers them to the service definition editor 12 b (step S511). The service definition editor 12 b saves the received constant values transferred from the constant-value reading section 17 (step S512).
  • Similarly, referring to FIG. 50, the constant-[0296] value determination section 39 of the reply processing server 3 c determines a predetermined constant value according to predetermined timing directly by measurement or indirectly by calculation based on measured values (step S501). After the above-described step S501 is completed, the constant-value saving section 41 stores the constant values each determined by the constant-value determination section 39 onto the file (step S502). Thereafter, an administrator goes to the location of the server construction support system 1 c with the file such as a flexible disk storing the constant values depending on the reply processing server 3 c, and then inserts the file into the constant-value reading section 17.
  • The constant-[0297] value reading section 17 in the server construction support system 1 c, as shown in FIG. 51, reads out the constant values depending on the reply processing server 3 c from the file and transfers them to the service definition editor 12 b (step S511). The service definition editor 12 b saves the received constant values transferred from the constant-value reading section 17 (step S512).
  • After the constant values which are dependent on the reply collecting server [0298] 2-1 c and the reply processing server 3 c have been saved in the service definition editor 12 b, an administrator or the like instructs the service definition editor 12 b to obtain the value of a constraint corresponding to a blank input field on the service definition editor screen 91 (see FIG. 9). This causes the service definition editor 12 b to calculate the value of the constraint corresponding to the blank input field in a similar manner to the third embodiment of FIG. 46.
  • As shown in FIG. 52, the server construction support system [0299] 1 c, the reply collecting server 2-1 c, and the reply processing server 3 c as shown in FIG. 49 can be implemented in one computer 521. In FIG. 52, a constant-value determination section 522 corresponds to the constant-value determination section 28 of the reply collecting server 2-1 c and the constant-value determination section 39 of the reply processing server 3. A constant-value saving section 523 corresponds to the constant-value saving section 30 of the reply collecting server 2-1 c and the constant-value saving section 41 of the reply processing server 3. A constant-value reading section 524 corresponds to the constant-value reading section 17 of the server construction support system 1 c.
  • The constant-[0300] value determination section 522 determines constant values depending on respective ones of the reply collecting server 2-1 c and the reply processing server 3 c directly by measurement or indirectly by calculation based on measured values. The constant-value saving section 523 stores the constant values onto a recording medium 525 such as a flexible disk. Thereafter, an administrator instructs the constant-value reading section 524 to read out the constant values from the recording medium 525. The constant-value reading section 524 transfers the read constant values depending on the reply collecting server 2 1 c and the reply processing server 3 c to the service definition editor 12 b. The service definition editor 12 b saves the received constant values transferred from the constant-value reading section 524.
  • Thereafter, an administrator or the like instructs the [0301] service definition editor 12 b to obtain the value of a constraint corresponding to a blank input field on the service definition editor screen 91 (see FIG. 9). This causes the service definition editor 12 b to calculate the value of the constraint corresponding to the blank input field as described before.
  • As shown in FIG. 53, the server construction support system [0302] 1 c, the reply collecting server 2-1 c, and the reply processing server 3 c as shown in FIG. 49 can be implemented in one computer 531. In this system, as shown in FIG. 54, another method of transferring constant values can be implemented.
  • The constant-[0303] value determination section 532 determines constant values depending on respective ones of the reply collecting server 2-1 c and the reply processing server 3 c directly by measurement or indirectly by calculation based on measured values (step S541). The determined constant values are transferred to the service definition editor 12 b, which saves the constant values transferred from the constant-value reading section 532 (step S542).
  • Thereafter, an administrator or the like instructs the [0304] service definition editor 12 b to obtain the value of a constraint corresponding to a blank input field on the service definition editor screen 91 (see FIG. 9). This causes the service definition editor 12 b to calculate the value of the constraint corresponding to the blank input field as described before.

Claims (84)

1. A system for supporting construction of a server having a plurality of constraints determined depending on an application area of the server, comprising:
a service method definition section for defining a value of each of the plurality of constraints by defining a value of each of a group of constraints to thereby determine a value of each of the other group of constraints which are related to at least one constraint of the group of constraints;
a program generator for generating a server construction program using the values of the constraints defined by the service method definition section; and
a server program distributor for distributing the server construction program to the server.
2. The system according to claim 1, further comprising:
a constant detector for detecting at least one constant value dependent on the server,
wherein the service method definition section uses said at least one constant value to determine the value of each of the other group of constraints.
3. The system according to claim 1, wherein the service method definition section presents the plurality of constraints so as to enter the value of each of the group of constraints.
4. The system according to claim 1, wherein the service method definition section presents at least one possible value of each of the other group of constraints so as to select an appropriate value thereof.
5. A system for supporting construction of a server, comprising:
a service method definition section for defining a value of each of a plurality of types of constraints when the server collects replies received from respondents through a network, by defining a value of each of a portion of the constraints to obtain a value of each of the other portion of the constraints other than the defined constraints.
6. A system for supporting construction of a server, comprising:
a service method definition section for defining a value of each of a plurality of types of constraints when the server collects and processes replies received from respondents through a network, by defining a value of each of a portion of the constraints to obtain a value of each of the other portion of the constraints other than the defined constraints.
7. The system according to claim 6, wherein the service method definition section performs processing of one of a statistics computation and another computation on the replies.
8. The system according to claim 6, wherein the other portion of the constraints includes at least one type of constraints.
9. The system according to claim 8, wherein, when the other portion of the constraints includes a plurality of types of constraints, the service method definition section obtains combinations of possible values of the plurality of types of constraints.
10. The system according to claim 6, wherein the service method definition section presents a value of each of the other portion of the constraints.
11. The system according to claim 9, wherein the service method definition section presents a value of each of the other portion of the constraints.
12. The system according to claim 11, wherein, when combinations of possible values of the plurality of types of constraints are presented, the service method definition section presents a choice of said combinations.
13. The system according to claim 11, wherein, when combinations of possible values of the plurality of types of constraints are presented, the service method definition section selects and presents one of said combinations according to a predetermined rule.
14. The system according to claim 6, wherein the plurality of types of constraints includes at least one of collection time permissible for reply collection, processing time permissible for reply processing, the number of replies collected, a processing method for replies, a reply form to a question, and the number of servers to be used for reply collection.
15. The system according to claim 7, wherein the statistics computation includes total summation, simple summation, cross summation, sampling, frequency distribution, averaging, standard deviation, and correlation, and the other computation includes lot casting, top-ranked respondents extraction, low-ranked respondents extraction, first-arrivals extraction, partial data extraction, encryption, decryption, authentication, comparison, document alteration, information dispensing, and menu displaying.
16. The system according to claim 14, further comprising:
a reply field definition section for defining the reply form,
wherein the service method definition section inputs the reply form defined by the reply field definition section.
17. The system according to claim 16, wherein the reply field definition section further defines a question and outputs the defined question and the reply form to the service method definition section.
18. The system according to claim 16, wherein the reply field definition section manually inputs the defined reply form on a monitor screen.
19. The system according to claim 16, wherein the reply field definition section defines the reply form based on a reply form template manually selected from a plurality of prepared reply form templates.
20. The system according to claim 6, further comprising:
a program generator for automatically generating a server program which allows the server to collect the replies from the respondents and process collected replies based on the values of the portion of the constraints and the values of the other portion of the constraints.
21. The system according to claim 20, wherein, when the service method definition section presents combinations of possible values of the plurality of types of constraints, the program generator automatically generates a server program which allows the server to collect the replies from the respondents and process collected replies based on the values of the portion of the constraints and one selected from the combinations.
22. The system according to claim 20, wherein the program generator automatically generates a server program which allows the server to present collection and processing results.
23. The system according to claim 20, wherein the server comprises a plurality of data collection sections and a data processing section,
wherein the program generator generates a server program allowing the plurality of data collection sections to operate in parallel.
24. The system according to claim 20, wherein the program generator automatically generates operation definition information based on the values of the portion of the constraints and the values of the other portion of the constraints to combine it with a prepared server program to produce the server program, wherein the operation definition information allows the server to collect the replies from the respondents and process collected replies.
25. The system according to claim 24, wherein, when the service method definition section presents combinations of possible values of the plurality of types of constraints, the program generator automatically generates operation definition information based on the values of the portion of the constraints and one selected from the combinations to combine it with a prepared server program to produce the server program, wherein the operation definition information allows the server to collect the replies from the respondents and process collected replies.
26. The system according to claim 24, wherein the program generator automatically generates operation definition information to combine it with a prepared server program to produce the server program, wherein the operation definition information allows the server to present collection and processing results.
27. The system according to claim 24, wherein the server comprises a plurality of data collection sections and a data processing section,
wherein the program generator generates the operation definition information allowing the plurality of data collection sections to operate in parallel.
28. The system according to claim 23, wherein the data collection sections collect the replies from the respondents.
29. The system according to claim 27, wherein the data collection sections collect the replies from the respondents.
30. The system according to claim 23, wherein the data collection sections collect the replies from the respondents and processes collected replies.
31. The system according to claim 27, wherein the data collection sections collect the replies from the respondents and processes collected replies.
32. The system according to claim 28, wherein the data processing section stores replies collected by at least one data collection section.
33. The system according to claim 29, wherein the data processing section stores replies collected by at least one data collection section.
34. The system according to claim 30, wherein the data processing section processes replies processed by at least one data collection section.
35. The system according to claim 31, wherein the data processing section processes replies processed by at least one data collection section.
36. The system according to claim 20, further comprising:
a server program distributor for distributing the server program generated by the program generator to the server.
37. The system according to claim 24, further comprising:
a server program distributor for distributing the prepared server program and the operation definition information generated by the program generator to the server.
38. The system according to claim 27, further comprising:
a server program distributor for distributing the prepared server program and the operation definition information generated by the program generator to the server.
39. The system according to claim 5, wherein the service method definition section uses at least one constant value dependent on the server to define the values of the other portion of the constraints, wherein said at least one constant value is obtained by actually measuring one of the server and another server having environment equivalent to the server.
40. The system according to claim 6, wherein the service method definition section uses at least one constant value dependent on the server to define the values of the other portion of the constraints, wherein said at least one constant value is obtained by actually measuring one of the server and another server having environment equivalent to the server.
41. The system according to claim 39, wherein the server includes a constant determination section for determining at least one constant value dependent on the server itself by actual measurement,
wherein the service method definition section uses said at least one constant value determined by the constant determination section to define the values of the other portion of the constraints.
42. The system according to claim 40, wherein the server includes a constant determination section for determining at least one constant value dependent on the server itself by actual measurement,
wherein the service method definition section uses said at least one constant value determined by the constant determination section to define the values of the other portion of the constraints.
43. The system according to claim 39, wherein the server comprises:
a constant determination section for determining at least one constant value dependent on the server itself by actual measurement; and
a first communication section for transmitting said at least one constant value to the system,
wherein the system further comprises:
a second communication section for receiving said at least one constant value from the first communication section.
44. The system according to claim 40, wherein the server comprises:
a constant determination section for determining at least one constant value dependent on the server itself by actual measurement; and
a first communication section for transmitting said at least one constant value to the system,
wherein the system further comprises:
a second communication section for receiving said at least one constant value from the first communication section.
45. The system according to claim 6, wherein the server comprises at least one collecting server and a processing server, wherein
the collecting server comprises:
a storage for storing replies received from the respondents from the network; and
a data transmitter for transmitting the replies stored in the storage to the processing server,
wherein the processing server stores the replies received from the collecting server.
46. The system according to claim 45, wherein the storage is a non-volatile recording medium.
47. The system according to claim 45, wherein the collecting server further comprises:
a second storage for storing the replies concurrently with the first storage,
wherein the replies are normally read from the storage to be transmitted and, when a failure occurs in the collecting server itself, are read form the second storage to be transmitted.
48. The system according to claim 45, wherein the processing server comprises:
a high-speed storage; and
a low-speed storage,
wherein both the high-speed storage and the low-speed storage store the replies received from the collecting server.
49. The system according to claim 48, wherein the low-speed storage stores the replies in parallel with the high-speed storage.
50. The system according to claim 48, wherein the low-speed storage stores the replies after the high-speed storage has stored the same.
51. The system according to claim 6, wherein the server comprises at least one collecting server and a processing server, wherein
each collecting server comprises:
a collecting section for collecting replies received from the respondents from the network;
a first processing section for processing the collected replies;
a storage for storing the processed relies; and
a data transmitter for transmitting the processed replies stored in the storage to the processing server, and
the processing server comprises:
a second processing section for processing the processed replies received from the collecting server.
52. The system according to claim 51, wherein the storage is a non-volatile recording medium.
53. The system according to claim 51, wherein the collecting server further comprises:
a second storage for storing ones of the processed replies and the collected replies concurrently with the storage,
wherein the processed replies are normally transmitted based on the contents of the storage and, when a failure occurs in the collecting server itself, are transmitted based on the contents of the second storage.
54. The system according to claim 51, wherein at least one of the first processing section and the second processing section sequentially receives data to produce a processing result from currently received data and a previous processing result.
55. The system according to claim 54, wherein
the first processing section of each collecting server calculates an addition result as the processing result by adding the number of previous replies to the number of current replies, and
the second processing section of the processing server adds the addition result received from the at least one to produce a sum total of replies received at the at least one collecting server.
56. The system according to claim 54, wherein
the collecting section receives replies, each of which belong to one of a plurality of predetermined reply groups,
the first processing section determines which reply group a reply belongs to, counts replies belonging to each of the reply groups by incrementing by one each time it is determined that a reply belongs to a corresponding reply group to produce the processing result, and
the second processing section adds the processing result received from the at least one to produce a sum total of received replies for each of the reply groups.
57. The system according to claim 54, wherein
the first processing section stores a predetermined number of sequentially received replies with their arrival times as the processing result in the storage, and
the second processing section sorts the replies received from the at least one based on the arrival times to produce a first-arrival result including a predetermined number of replies from a total of received replies sorted in the order of arrival.
58. The system according to claim 54, wherein
the collecting section receives replies each of which includes a predetermined item filled with a numerical value,
the first processing section determines whether the numerical value of a currently received reply falls within a predetermined rank by comparing the currently received numerical value with a processed result stored in the storage and, if it is ranked higher than the predetermined rank, then a lowest-ranked reply in the processed result stored is replaced with the currently received reply to update the processed result stored in the storage, and
the second processing section sorts the processed result received from the at least one collecting server based on the numerical value of the predetermined item to produce a ranking result including replies within the predetermined rank.
59. The system according to claim 54, wherein
the first processing section stores a predetermined number of received replies in the storage and, if a reply is received beyond the predetermined number, then replace a selected one of the stored replies with the reply with a probability varying in the order of arrival thereof to update the stored replies as the processing result, and
the second processing section randomly selects a predetermined number of replies from the processing result received from the at least one collecting server to produce a lot result.
60. The system according to claim 59, wherein the second processing section randomly selects a number of replies from the processing result received from each collecting server, with a probability varying in proportion to the number of received replies for each collecting server.
61. The system according to claim 45, wherein the processing server sends a data transmission request to a collecting server and thereby the collecting server starts sending the replies back to the processing server.
62. The system according to claim 51, wherein the processing server sends a data transmission request to a collecting server and thereby the collecting server starts sending the processed replies back to the processing server.
63. A service method definition device for use in a server construction supporting system, comprising:
a service definition editor for editing a value of each of a plurality of types of constraints when the server collects replies received from respondents through a network by inputting a value of each of a portion of the constraints to obtain a value of each of the other portion of the constraints other than the defined constraints.
64. A service method definition device for use in a server construction supporting system, comprising:
a service definition editor for editing a value of each of a plurality of types of constraints when the server collects and processes replies received from respondents through a network, by inputting a value of each of a portion of the constraints to obtain a value of each of the other portion of the constraints other than the defined constraints.
65. The service method definition device according to claim 64, wherein the service definition editor performs processing of one of a statistics computation and another computation on the replies.
66. The service method definition device according to claim 64, wherein the plurality of types of constraints includes at least one of collection time permissible for reply collection, processing time permissible for reply processing, the number of replies collected, a processing method for replies, a reply form to a question, and the number of servers to be used for reply collection.
67. The service method definition device according to claim 65, wherein the plurality of types of constraints includes at least one of collection time permissible for reply collection, processing time permissible for reply processing, the number or replies collected, a processing method for replies, a reply form to a question, and the number of servers to be used for reply collection.
68. The service method definition device according to claim 65, wherein the statistics computation includes total summation, simple summation, cross summation, sampling, frequency distribution, averaging, standard deviation, and correlation, and the other computation includes lot casting, top-ranked respondents extraction, low-ranked respondents extraction, first-arrivals extraction, partial data extraction, encryption, decryption, authentication, comparison, document alteration, information dispensing, and menu displaying.
69. An automatic program generating device for use in a server construction supporting system, comprising;
a program generator for generating a server program which allows a server to collect the replies from the respondents and process collected replies based on values of a portion of a plurality of types of constraints and values of the other portion of the constraints other than the defined constraints when the server collects and processes replies received from respondents through a network, wherein a value of each of the portion of the constraints is defined to obtain a value of each of the other portion of the constraints.
70. An automatic program generating device for use in a server construction supporting system, comprising:
a program generator for generating operation definition information based on values of a portion of a plurality of types of constraints and values of the other portion of the constraints other than the defined constraints when the server collects and processes replies received from respondents through a network, to combine the operation definition information with a prepared server program to produce a server program, wherein the operation definition information allows a server to collect replies from the respondents and process collected replies.
71. The automatic program generating device according to claim 69, wherein the plurality of types of constraints includes at least one of collection time permissible for reply collection, processing time permissible for reply processing, the number of replies collected, a processing method for replies, a reply form to a question, and the number of servers to be used for reply collection.
72. The automatic program generating device according to claim 70, wherein the plurality of types of constraints includes at least one of collection time permissible for reply collection, processing time permissible for reply processing the number of replies collected, a processing method for replies, a reply form to a question, and the number of servers to be used for reply collection.
73. A service program distribution manager for managing distribution of a server program to a server in a server construction supporting system, comprising:
a program generator for generating a server program which allows a server to collect the replies from the respondents and process collected replies based on values of a portion of a plurality of types of constraints and values of the other portion of the constraints other than the defined constraints when the server collects and processes replies received from respondents through a network, wherein a value of each of the portion of the constraints is defined to obtain a value of each of the other portion of the constraints; and
a distribution scheduler for scheduling distribution of the server program to the server.
74. A service program distribution manager for managing distribution of a server program to a server in a server construction supporting system, comprising:
a program generator for generating operation definition information based on values of a portion of a plurality of types of constraints and values of the other portion of the constraints other than the defined constraints when the server collects and processes replies received from respondents through a network, to combine the operation definition information with a prepared server program to produce a server program, wherein the operation definition information allows a server to collect replies from the respondents and process collected replies; and
a distribution scheduler for scheduling distribution of the server program to the server.
75. A program instructing a computer to implement a server construction supporting system, the program comprising the steps of:
a) defining a value of each of a portion of a plurality of types of constraints when a server collects and processes replies received from respondents through a network; and
b) defining a value of each of the other portion of the constraints based on the defined constraints to define the values of the constraints.
76. The program according to claim 75, further comprising the steps of:
c) generating a server program which allows the server to collect the replies from the respondents and process collected replies based on the values of the constraints.
77. The program according to claim 75, further comprising the steps of:
c) generating operation definition information based on the values of the constraints; and
d) combining the operation definition information with a prepared server program to produce a server program, wherein the operation definition information allows the server to collect replies from the respondents and process collected replies.
78. The program according to claim 75, wherein the step b) comprises the step of:
measuring one of the server and another server having environment equivalent to the server to obtain at least one constant value dependent on the server; and
define the values of the other portion of the constraints using said at least one constant value.
79. A server operating according to a server program distributed by a server construction supporting system, comprising:
a status detector for detecting a status of the server itself;
a storage for storing a server program for each of different sets of values defined in a plurality of constraints when the server collects and processes replies received from respondents through a network, wherein the server program allows the server to collect the replies from the respondents and process collected replies based on the defined constraints, wherein a value of each of a portion of the constraints is defined to obtain a value of each of the other portion of the constraints, and
an operation changing section for changing an operation of the server by executing a server program for a set of defined values of the constraints suitable for the detected status of the server.
80. A server operating according to a server program distributed by a server construction supporting system, comprising:
a status detector for detecting a status of the server itself;
a storage for storing a server program for each of different sets of values defined in a plurality of constraints when the server collects and processes replies received from respondents through a network, wherein the server program is obtained by combining a prepared server program with operation definition information which allows the server to collect the replies from the respondents and process collected replies based on the defined constraints, wherein a value of each of a portion of the constraints is defined to obtain a value of each of the other portion of the constraints; and
an operation changing section for changing an operation of the server by executing a server program for a set of defined values of the constraints suitable for the detected status of the server.
81. A server construction supporting method comprising the steps of:
a) defining a value of each of a portion of a plurality of types of constraints when a server collects and processes replies received from respondents through a network; and
b) defining a value of each of the other portion of the constraints based on the defined constraints to define the values of the constraints.
82. The method according to claim 81, further comprising the steps of:
c) generating a server program which allows the server to collect the replies from the respondents and process collected replies based on the values of the constraints.
83. The method according to claim 81, further comprising the steps of:
c) generating operation definition information based on the values of the constraints; and
d) combining the operation definition information with a prepared server program to produce a server program, wherein the operation definition information allows the server to collect replies from the respondents and process collected replies.
84. The method according to claim 81, wherein the step b) comprises the step of:
measuring one of the server and another server having environment equivalent to the server to obtain at least one constant value dependent on the server; and
define the values of the other portion of the constraints using said at least one constant value.
US10/327,955 2001-12-27 2002-12-26 Server construction support technique Abandoned US20030131091A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/892,342 US7584247B2 (en) 2001-12-27 2007-08-22 Server construction support technique

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2001-396909 2001-12-27
JP2001396909 2001-12-27
JP2002-274681 2002-09-20
JP2002274681A JP3918697B2 (en) 2001-12-27 2002-09-20 Server construction support system, server construction support method, and program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/892,342 Continuation US7584247B2 (en) 2001-12-27 2007-08-22 Server construction support technique

Publications (1)

Publication Number Publication Date
US20030131091A1 true US20030131091A1 (en) 2003-07-10

Family

ID=26625327

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/327,955 Abandoned US20030131091A1 (en) 2001-12-27 2002-12-26 Server construction support technique
US11/892,342 Expired - Fee Related US7584247B2 (en) 2001-12-27 2007-08-22 Server construction support technique

Family Applications After (1)

Application Number Title Priority Date Filing Date
US11/892,342 Expired - Fee Related US7584247B2 (en) 2001-12-27 2007-08-22 Server construction support technique

Country Status (2)

Country Link
US (2) US20030131091A1 (en)
JP (1) JP3918697B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040177335A1 (en) * 2003-03-04 2004-09-09 International Business Machines Corporation Enterprise services application program development model
US20160065602A1 (en) * 2009-08-26 2016-03-03 At&T Intellectual Property I, L.P. Using A Content Delivery Network For Security Monitoring

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8023882B2 (en) * 2004-01-14 2011-09-20 The Nielsen Company (Us), Llc. Portable audience measurement architectures and methods for portable audience measurement
MX2007015979A (en) 2006-03-31 2009-04-07 Nielsen Media Res Inc Methods, systems, and apparatus for multi-purpose metering.
KR101096793B1 (en) * 2010-04-19 2011-12-21 비앤에프테크놀로지 주식회사 data collecting method for detection and on-time warning system of industrial process
US10015268B2 (en) * 2015-05-12 2018-07-03 Equinix, Inc. Multi-cloud, multi-service data model

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845116A (en) * 1994-04-14 1998-12-01 Hitachi, Ltd. Distributed computing system
US5893098A (en) * 1994-09-14 1999-04-06 Dolphin Software Pty Ltd System and method for obtaining and collating survey information from a plurality of computer users
US6591248B1 (en) * 1998-11-27 2003-07-08 Nec Corporation Banner advertisement selecting method
US6880156B1 (en) * 2000-07-27 2005-04-12 Hewlett-Packard Development Company. L.P. Demand responsive method and apparatus to automatically activate spare servers
US6999987B1 (en) * 2000-10-25 2006-02-14 America Online, Inc. Screening and survey selection system and method of operating the same

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3236283B2 (en) * 1989-03-31 2001-12-10 富士ゼロックス株式会社 Questionnaire implementation device
JPH08272773A (en) 1995-04-03 1996-10-18 Nippon Telegr & Teleph Corp <Ntt> System and method for questionnaire collection and analysis
JP3190844B2 (en) * 1996-12-20 2001-07-23 日本電気株式会社 Computer arithmetic processing method
JPH10283002A (en) * 1997-04-01 1998-10-23 Mitsubishi Heavy Ind Ltd Optimum load distributor
JPH1166036A (en) * 1997-08-11 1999-03-09 Hitachi Inf Syst Ltd Electronic questionnaire system and storage medium to be used for the same
JPH1185727A (en) * 1997-09-08 1999-03-30 Nippon Telegr & Teleph Corp <Ntt> Inspecting method for electronic survey through communication network and device used for the same
US6477504B1 (en) * 1998-03-02 2002-11-05 Ix, Inc. Method and apparatus for automating the conduct of surveys over a network system
JPH11282828A (en) 1998-03-31 1999-10-15 Osaka Gas Co Ltd Automatic appropriate questionnaire production device and medium
JP2000231527A (en) * 1999-02-10 2000-08-22 Shakai Joho Service:Kk Questionnaire system
JP3752936B2 (en) 1999-12-22 2006-03-08 日本電気株式会社 Questionnaire system
JP2004538535A (en) * 1999-12-23 2004-12-24 インテリストラテジーズ,インク. Automatically generate survey questions based on analysis of answers to previous survey questions
GB0103615D0 (en) * 2001-02-14 2001-03-28 Weight Watchers Internat Inc Menu plan generation
US7593861B2 (en) * 2001-10-24 2009-09-22 Employee Motivation & Performance Assessment, Inc. Employee assessment tool
JP2003173385A (en) * 2001-12-05 2003-06-20 Fukui Computer Kk Investigation method

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845116A (en) * 1994-04-14 1998-12-01 Hitachi, Ltd. Distributed computing system
US6578064B1 (en) * 1994-04-14 2003-06-10 Hitachi, Ltd. Distributed computing system
US20050050544A1 (en) * 1994-04-14 2005-03-03 Masahiko Saito Distributed computing system
US6957434B2 (en) * 1994-04-14 2005-10-18 Hitachi, Ltd. Distributed computing system
US5893098A (en) * 1994-09-14 1999-04-06 Dolphin Software Pty Ltd System and method for obtaining and collating survey information from a plurality of computer users
US6591248B1 (en) * 1998-11-27 2003-07-08 Nec Corporation Banner advertisement selecting method
US6880156B1 (en) * 2000-07-27 2005-04-12 Hewlett-Packard Development Company. L.P. Demand responsive method and apparatus to automatically activate spare servers
US6999987B1 (en) * 2000-10-25 2006-02-14 America Online, Inc. Screening and survey selection system and method of operating the same

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040177335A1 (en) * 2003-03-04 2004-09-09 International Business Machines Corporation Enterprise services application program development model
US20160065602A1 (en) * 2009-08-26 2016-03-03 At&T Intellectual Property I, L.P. Using A Content Delivery Network For Security Monitoring
US9667638B2 (en) * 2009-08-26 2017-05-30 At&T Intellectual Property I, L.P. Using a content delivery network for security monitoring
US9825980B2 (en) 2009-08-26 2017-11-21 At&T Intellectual Property I, L.P. Using a content delivery network for security monitoring

Also Published As

Publication number Publication date
US20080005308A1 (en) 2008-01-03
JP3918697B2 (en) 2007-05-23
US7584247B2 (en) 2009-09-01
JP2003256328A (en) 2003-09-12

Similar Documents

Publication Publication Date Title
US20230325887A1 (en) Systems and methods for determining bids for placing advertisements
US8352324B2 (en) Method and system for managing invitations to bid
US7584247B2 (en) Server construction support technique
US7305348B1 (en) Aggregating and pooling health related information in a communication system with feedback
US8700462B2 (en) System and method for optimizing advertisement campaigns using a limited budget
US5732200A (en) Integration of groupware with quality function deployment methodology via facilitated work sessions
CN1818941B (en) Information processing system, information providing apparatus, information providing method, information processing apparatus, information processing method, and program
EP2270731A1 (en) Enhancing virally-marketed facilities
US20140297396A1 (en) Audience Commonality and Measurement
US20060200754A1 (en) Systems and methods for storing personal information, automatically filling out forms, and sharing information with a data recipient
WO2000019346A1 (en) Aggregating and pooling information in a communication system with feedback
US8355943B2 (en) Method and system for automatically generating forecasts
US20130054410A1 (en) System and Method for Providing Requested Information to Thin Clients
US7676749B2 (en) Login management technique
US20020178129A1 (en) Lease-business support apparatus, lease-business support method, recording medium containing program for operating the lease-business support apparatus, and recording medium containing program for executing the lease-business support method
US8805715B1 (en) Method for improving the performance of messages including internet splash pages
EP1573453A2 (en) System and method of collecting surveys remotely
WO2001048666A1 (en) System, method and business operating model optimizing the performance of advertisements or messages in interactive measurable mediums
US6216154B1 (en) Methods and apparatus for entering and evaluating time dependence hypotheses and for forecasting based on the time dependence hypotheses entered
CN112738536B (en) Data matching method based on social live E-commerce distribution
KR100817493B1 (en) A guestion preparation system and method
JP2001184273A (en) Questionnaire system, and method of automating questionnaire work
CN113850441A (en) Method and device for predicting delivery time efficiency
US7734496B1 (en) Service provider and client survey method
JP6879606B1 (en) Information management system, information management method and program

Legal Events

Date Code Title Description
AS Assignment

Owner name: NEC CORPORATION, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:OCHIAI, KATSUHIRO;KOIKE, YUICHI;TABUCHI, MASAHIRO;REEL/FRAME:013628/0406

Effective date: 20021224

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION