The Invoice object
The Hsp logout
method returns an Invoice
object. Our Traveling
Salesman Problem application
class gets & prints an Invoice. As
can be seen from the its Application.java
file, there are 2 lines of Java code that pertain to the Invoice
object:
- The Invoice is the return value of the Hsp logout method.
- The Invoice class's toString
method is used to display the Invoice
(the argument of the System.out.println
static method).
The output, including the invoice, that results from this JICOS
execution is contained in this file: output.txt.
Discussion
The Invoice has the following components:
- The date & time that the invoice was issued.
- The date & time that the client registered with the
Hosting
Service
Provider.
- The date & time that the client unregistered from the
Hosting
Service
Provider.
- The start time of requested computing.
- The amount of time (wall clock) that was consumed during
the computing
phase.
- Task statistics. The Hosting Service Provider (HSP) gives
the following:
- Task statistics for each Task
Class:
- Number of Task objects that were executed
- The sum of the execution times for each such Task.
- The average execution time per Task
- These Task Class statistics are given for each Host. Also
given for
each
Host (prior to the Task Class statistics ) are
- The total number of Task objects executed on the host
- The total execution time for executing these Task
objects
- These statistics (Task Class and Summary) are given for
each
TaskServer.
This includes one such entry for the TaskServer acting as a Host (to
execute
Compose Tasks). Each TaskServer summary also includes the number of
associated
Hosts (not including the TaskServer itself, acting as a Host).
- These TaskServer statistics are given for each TaskServer.
- Finally, summary statistics (including Task Class
statistics) are
provided
for the entire Hosting Service Provider.
- All service components (Hosts, TaskServers, and the HSP)
are identified
by their IP address and Domain name.
As can be seen from the invoice, there were 2 task servers, each of
which
had 4 hosts (for each TaskServer, 1 Host is internal).
Invoice object methods
The Invoice object allows JICOS
applications not just
to receive a String representation of its contents via toString,
but also to manipulate those contents directly. The Invoice has
accessor
methods for its entire contents. The contents of its subsidiary objects
also are accessible, so that the JICOS
application
can do anything it wants with the contents of an Invoice (e.g., store
parts
of it in a database, plug the invoice contents into a spreadsheet,
etc.),
right down to the primitive data types. Please see the API
to learn about all these accessor methods. This may be useful for
programmatic
analysis of JICOS
resource consumption, by Task Class,
for your particular application.
The actual data in the
Invoice class will change, as the JICOS
system evolves.
|