|  
        
        
        
        
        
       
   
         
          | 1. | Short-term 
              or one-time customer  Question: Clients 
              may have a large number of short-term customers or one-time recipients 
              of certain data products. Explain how your system accommodates such 
              users. Response: We 
              believe it is inappropriate to provide one-off solutions for special 
              cases and instead products should be designed so that the normal 
              case handles the exceptions in an identical manner - to the software, 
              it's not an exceptional case. Given this viewpoint, our software 
              will treat such customers like any other - they will have a place 
              in the system, and may be described as completely, or incompletely 
              as clients may wish to accept. Clearly, 
              if the data involved in such transactions are public, there is no 
              concern and there would be no need to pose this question. We have 
              been considering the case of private transactions for some time 
              and we have increased our research and development efforts in the 
              area of encryption and communications with customers in the context 
              of scientific computing and results publishing/distribution. 
              We are presently in the later stages of development of some clever 
              methods which may be very useful for serving large numbers of short-term 
              relationships which we may be able to demonstrate to you on or about 
              July 19, 2001. |   
          | 2. | Customer 
              satisfaction  Question: Explain 
              how your solution addresses measurement of customer satisfaction 
              and development of new products and services to meet changing market 
              demands. Response: We 
              believe that the correct approach is to permit customers - or prospective 
              customers - to provide this data at the time they interact with 
              the system. The need for development of new products, for example, 
              can be expressed as a request for a product which the system cannot 
              presently deliver. What's critical here is that customers have processes 
              and procedures in place to regularly review such instances, though 
              the software can automatically provide notification. We also believe 
              that satisfaction feedback should not be something that is essentially 
              forgotten for long periods, as is so common. Rather, 
              feedback should be built into every customer interaction screen 
              so it's always context specific. Only with such a mechanism can 
              a true reflection of customers' perceptions be recorded. |   
          | 3. | Tracking 
              of data product requests Question: Fully 
              describe how your solution may allow tracking of data product requests 
              from placement to fulfillment. Response: In 
              our system, product generation steps are discrete elements and are 
              an integral part of the system itself. They are declared in the 
              process of teaching BigSur how to perform your science. This includes 
              the process flow, and necessary automation information. A product-generation 
              request is implemented merely as a placement of a request in a queue 
              for such processes to be started, with specific arguments provided 
              by the requestor. Therefore, tracking is merely providing appropriate 
              user-interfaces to report this information to appropriate parties 
              at appropriate times, and with appropriate context and presentation 
              format. For 
              example, while there may be fifteen steps in the generation of a 
              given data product, it may be inappropriate to tell the customer 
              about each discrete step. Instead, it may be more appropriate to 
              provide a summary. Further, it may or may not be desirable to evaluate 
              past process runs to calculate and provide an estimated time of 
              completion, depending on who the customer is and other situation 
              dependent criteria. This is the job of the user-interface. Devising 
              more sophisticated approaches with BigSur is easy. Keeping in mind 
              that customer data-product production has a large customer-directed 
              component, in contrast to creation of standardized data-products, 
              it may be very beneficial to create an object within BigSur for 
              each customer request, and populate it with the requisite meta-data 
              about each scientific processing step required to achieve the final 
              result. This would provide several benefits, such as easy isolation 
              of individual requests for reporting purposes - an application GUI 
              can track these steps and check them off against the reported run-status 
              of a live processing queue. Since processing steps can be and hopefully 
              are often done for the benefit of multiple-users, these individual 
              user's plans can be used by process-planning software to group together 
              and reorder requests to optimize resource utilization instead of 
              merely placing process requests in the work-queue. (Note that identical 
              process runs are automatically detected by the system and the default 
              action is to never re-run a process - merely return the result that 
              was obtained previously. Therefore, the latter case is not as bad 
              as it might at first appear.) With a strategy like this, the specific 
              security sensitivities of reporting status can then be attended 
              to, allowing a customer to receive very detailed or not at all detailed 
              status information, as appropriate. This is a straight-forward use 
              of our system, and it's easy to perceive how this 
              same feature can be put to other, further use to solve or address 
              other problems or desires such as after-the-fact analysis of process 
              flow to look for processing issues, opportunities to optimize, etc. |   
          | 4. | Workflow 
              management, job scheduling, and dynamic resource allocation Question: Describe 
              how your solution allows effective implementation of workflow management, 
              job scheduling, and dynamic computing resource allocation. Response: As 
              stated above, process descriptions are integral to the system. Our 
              system uses a work queue to provide for execution contexts - to 
              instantiate processes that have been requested. Our Distributed 
              Processing System provides for the dispatching of processes when 
              and where processing is needed. The daemon processes that observe 
              the work queue contain within them basic guidelines on what processes 
              may or may not be dispatched where, and when. They observe, for 
              example, whether the request for a process run is complete, what 
              processing group the process is in, whether the appropriate time 
              has come to run the process, and so on. The process itself, meanwhile, 
              also has some smarts. Once started, it must look for its input arguments 
              and confirm they exist, and then either re-queue itself if not, 
              or continue on, or, perhaps, error out. Each process has control 
              over its behavior and our system provides robust flexibility for 
              controlling process behavior at run-time, including directing the 
              process to attempt to restart after a previous failure. Potential 
              work-flow is actually declared directly into the meta-data the system 
              manages. The system knows, for example, what the inputs to a given 
              process are and what its outputs are. There are opportunities to 
              explicitly declare that the output of one process is a particular 
              input argument of another process, so processes can be "glued" 
              together reasonably easily, thereby aiding automation. Also, as 
              a process completes, it can check to see what processes might want 
              to be run using the output that is being generated, and where possible, 
              those down-stream processes are marked runable. In some cases, our 
              customers actually queue up new processing jobs, depending on what 
              the world looks like as the process is about to exit. The 
              system in and of itself just follows orders, and it's essentially 
              process driven - when there's data to process and a process to do 
              it, when the time has come to execute it and when there's a processing 
              daemon ready for another job, it gets run. There are several explicitly 
              noted locations within the system where it can be augmented for 
              optimization at many different levels. And, good controls 
              of existing components exist to permit easy extension to accommodate 
              most any additional control, whether it be a form of automation, 
              or manual intervention. Our comments in response to Concern 8 are 
              relevant here as well. |   
          | 5. | Monitoring 
              and quality control Question: Provide 
              information about methodologies and mechanisms used in your solution 
              to monitor and control the quality of customers' products and services. Response: The 
              question of quality control has two aspects in the context of this 
              white-paper, one of which is the quality of the system software, 
              and the other is the quality of the data products served to customers. 
              The quality of generated data products largely depends upon the 
              quality of customers processors and does not fall within the purview 
              of our software, however, where confirming algorithms exist, our 
              software may automate these. Such quality assurance algorithms may 
              be built into the processing steps, or may be run on a one-off basis, 
              perhaps determined when the data product is ordered, or as determined 
              on the fly by the processing steps themselves. Our 
              software tracks status at every opportunity to do so, and it reports 
              status into the database and records information into log files. 
              Some of these log files are at the control of developers, while 
              others are not optional and are recorded by the system upon every 
              occurrence. Further, when errors occur, the system can send email 
              messages to staff members, configurable at individual process and 
              error severity levels. These logs provide systems staff the opportunity 
              to discover problems when they occur so they can resolve problems 
              and ensure quality. Note 
              that processes - discrete functional steps - may be developed specifically 
              to monitor overall system behavior, and help assure quality at every 
              level. Such processes may be easily automated by our system, and 
              reports may be emailed to staff using our standard mechanisms for 
              doing this. |    
 Set 
        One | Set Two | Set Three | Set 
        Four | Set Five | Set 
        Six | All Topics   |