[MOBY-dev] [personal] Re: [moby] Re: Large amounts of requests from always the same IPaddress - 137.82.67.190

Mark Wilkinson markw at illuminae.com
Tue Jul 4 16:01:34 UTC 2006


On Tue, 2006-07-04 at 16:14 +0100, Martin Senger wrote:

>    1) The 'ping' feature (meaning that the service does not do anything
> except sending back an empty response) is considered when a request:
>    - has no mobyData elements ("jobs"), OR
>    - has a mobyData element, but without any simple or collection in it?
>    Which is the right answer?

My interpretation of the *current* API is that a message with no
mobyData element is considered an invalid message (or at least, we have
not yet defined a behaviour for this case) and that a "ping" is when a
request message has a mobyData element, with no Simple or Collection in
it.

***HOWEVER***, I am not sure that this is a good thing:  see further
thoughts below



>    2) [This may already be answered by the previous question.] How does
> the 'ping' differ from a service that does not expect any input data
> (such as a HelloWorld service)?
>    Mark already explained this case in his email - but I was not sure how
> to understand it.


I don't think there is a difference at the moment, and that's a problem.
Given the current API a mobyData element with no content is the simplest
form of a valid MOBY message.  As such, there is no way to distinguish
between a "ping" and an intentional service invocation of a service that
requires no input.  This is a dangerous situation if, for example, the
service is a "database dump" service -  registered as consuming no
input, and dumping an entire database as output!  This service would be
invoked by our "ping", and this is not a desirable behaviour!!

Perhaps it would be better to reserve an empty mobyData block for
intentional service invocations (i.e. no changes to the current API with
respect to balancing input/output mobyData elements) and define a "ping"
as a MOBY message that contains no mobyData block at all (i.e. an
extension to the current API)

What do you think?


>    3) When I am sending a 'ping' request, should I set an HTTP variable
> indicating the client (usually the HTTP_USER_AGENT) to some special
> value? If yes, which one?

Also a good idea.  I'd like to take some time to think about this before
making any suggestions...  does anyone else have suggestions?

M



-- 

--
Mark Wilkinson
Asst. Professor, Dept. of Medical Genetics
University of British Columbia
PI in Bioinformatics, iCAPTURE Centre
St. Paul's Hospital, Rm. 166, 1081 Burrard St.
Vancouver, BC, V6Z 1Y6
tel: 604 682 2344 x62129
fax: 604 806 9274

"For most of this century we have viewed communications as a conduit, 
       a pipe between physical locations on the planet. 
What's happened now is that the conduit has become so big and interesting 
      that communication has become more than a conduit, 
       it has become a destination in its own right..."

                Paul Saffo - Director, Institute for the Future




More information about the MOBY-dev mailing list