Re: [U2] Multi-threaded phantom processing

"David A. Green" <[email protected]> Thu, 6 Mar 2014 06:39:18 -0700
Newsgroups gmane.comp.db.u2.general
Message-ID <00f601cf3941$799e2ae0$6cda80a0$@com>
Yes of course there are many solutions:

rcp, ftp, nfa, http, mapped drives, etc.

But the one that has the most security is the socket to socket
communications with your own protocol.  You get to control who has access
and what commands they have access to.  And of course you get to add logging
as you need. Plus it runs native from U2 so that you can do command like
compile, or move just a single attribute or sub-value.

My customer needed a tool to keep the developers out of the live data
server.  By disabling the normal data transfer methods and installing a
socket-to-socket approach we made the auditors very happy.

David A. Green
(480) 201-7953
DAG Consulting


-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Rick Nuckolls
Sent: Wednesday, March 05, 2014 5:57 PM
To: U2 Users List
Cc: U2 Users List
Subject: Re: [U2] Multi-threaded phantom processing

As elegant as some of these ideas are, it might be possible, depending on
the number and nature of the transactions, to batch them up every n seconds
and use rcp to copy them to an "in" box on the remote machine. 

-Rick

> On Mar 5, 2014, at 4:19 PM, "Horacio Pellegrino" <[email protected]>
wrote:
> 
> Why don't you have one port listening for requests, and as soon as 
> they come in, you create a new phantom to answer that request ( 
> liberating the listener immediately for the next request ), then when 
> the phantom finishes it could log off.
> 
> Might be you want to keep a "pool" of phantoms alive for a while, on 
> the assumption they might be reused. That way you are sill using one 
> license per request, but you have the benefit of "pooling"... You can 
> always set min-max limit for those phantom-workers.
> 
> Horacio Pellegrino
> 
> 
> 
> 
> On Tue, Mar 4, 2014 at 11:30 PM, Peter Cheney
> <[email protected]>wrote:
> 
>> Thanks David. As they say "Bigger than Ben-Hur"!
>> 
>> That's a great idea. The server I have is listening on a 
>> predetermined port. I trolled through /etc/services and a netstat on 
>> the remote host to select something that looked unused.
>> 
>> So then if it the main phantom spawns 1-n children (presumably more 
>> phantoms?), it would also need to select 1-n ports which I suppose 
>> must also be predetermined? Or is there a call to the OS that can 
>> return an unused port? We're on AIX but the remote host is HPUX.
>> 
>> Cheers
>> Peter
>> 
>> 
>> 
>> Peter Cheney
>> Ultracs Developer
>> t 07 3017 8837 | f 07 3002 8400
>> e [email protected]
>> w firstmac.com.au
>> 
>> 
>> -----Original Message-----
>> From: [email protected] [mailto:
>> [email protected]] On Behalf Of David A. Green
>> Sent: Wednesday, 5 March 2014 13:01
>> To: 'U2 Users List'
>> Subject: Re: [U2] Multi-threaded phantom processing
>> 
>> Peter, first of all let me congratulate you on this achievement.  
>> Having just finished a similar feat using UniData I understand the 
>> complexities that went into it.
>> 
>> The system I'm current working with will be relatively low traffic.  
>> But I was pondering on the method of having a server socket that 
>> would just spawn a transfer server socket and send the socket address to
the calling client.
>> Then the client disconnects from the main server and just uses the 
>> transfer server to complete the task.
>> 
>> Having 10 open phantoms with sockets will use up 10 licenses.
>> 
>> David A. Green
>> (480) 201-7953
>> DAG Consulting
>> 
>> 
>> -----Original Message-----
>> From: [email protected] [mailto:
>> [email protected]] On Behalf Of Peter Cheney
>> Sent: Tuesday, March 04, 2014 6:18 PM
>> To: U2 Users List ([email protected])
>> Subject: [U2] Multi-threaded phantom processing
>> 
>> Hi Everyone,
>> 
>> A project that I'm currently working on requires transmission of 
>> transactional and ancillary data from one UV site to site to another.
>> I have the communications all set up and it is working very well via 
>> the UV socket functions with a client at one end and a server at the
other.
>> Both the client and the server both run as a UV phantom processes 
>> written in UV basic and the data being transferred (also encrypted) 
>> is more or less real time with various UV file triggers on the client 
>> end creating queue items for transmission based on the data content /
transaction type.
>> 
>> This set up is a single threaded affair and I am wondering how it 
>> will cope and what options I'll have as the volume of data increases.
>> 
>> Multi-threading my server process to dish out some of the load might 
>> be one possibility and I've seen examples in the past where the last 
>> digit of a numeric key (i.e. 0-9) is used to determine which one of 
>> 10 phantoms to call thus providing an effective distribution of the work.
>> 
>> But even then, reading/writing processing data to a file for each 
>> child process seems to me to be the only way to achieve parent <-> 
>> child phantom communications at either end. Is there another way 
>> perhaps? It may be that I will need 2 sets of phantoms, 1 for the 
>> transactions and one for the ancillary data. Although we run UV on 
>> AIX the only other requirement is that I must be able to do it within UV
Basic.
>> 
>> Does anyone out there on the list know of a better way or any 
>> alternatives/advice so I can get a better appreciation of what else 
>> might be possible please?
>> 
>> Many thanks in advance,
>> Peter
>> 
>> 
>> Peter Cheney
>> Ultracs Developer
>> t 07 3017 8837 | f 07 3002 8400
>> e [email protected]
>> w firstmac.com.au
>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> ----------
>> Note:
>> This email (inc all attachments) is for the use of the intended
>> recipient(s) only.
>> Privileged or confidential information may be contained in this 
>> communication. If you have received this email in error, please 
>> notify the sender immediately and then delete all copies of this 
>> message from your computer network. If you are not the intended 
>> recipient, you must not keep, use, disclose, copy or distribute this 
>> email without the author's prior permission. If you are the intended 
>> recipient and you do not wish to receive similar electronic messages 
>> from us in future, then please respond to the sender to this effect.
>> We have taken precautions to minimise the risk of transmitting 
>> software viruses, but advise you to carry out your own virus checks 
>> on this email and its attachments. We do not accept liability for any 
>> loss or damage caused by software viruses and do not represent that 
>> this transmission is free from viruses or other defects.
>> Firstmac Limited (ABN 59 094 145 963) (AFSL 290600)
>> 
>> ---------------------------------------------------------------------
>> ---------- _______________________________________________
>> U2-Users mailing list
>> [email protected]
>> http://listserver.u2ug.org/mailman/listinfo/u2-users
>> 
>> _______________________________________________
>> U2-Users mailing list
>> [email protected]
>> http://listserver.u2ug.org/mailman/listinfo/u2-users
>> 
>> 
>> ---------------------------------------------------------------------
>> ----------
>> Note:
>> This email (inc all attachments) is for the use of the intended
>> recipient(s) only.
>> Privileged or confidential information may be contained in this 
>> communication. If you have received this email in error, please 
>> notify the sender immediately and then delete all copies of this 
>> message from your computer network. If you are not the intended 
>> recipient, you must not keep, use, disclose, copy or distribute this 
>> email without the author's prior permission. If you are the intended 
>> recipient and you do not wish to receive similar electronic messages 
>> from us in future, then please respond to the sender to this effect.
>> We have taken precautions to minimise the risk of transmitting 
>> software viruses, but advise you to carry out your own virus checks 
>> on this email and its attachments. We do not accept liability for any 
>> loss or damage caused by software viruses and do not represent that 
>> this transmission is free from viruses or other defects.
>> Firstmac Limited (ABN 59 094 145 963) (AFSL 290600)
>> 
>> ---------------------------------------------------------------------
>> ---------- _______________________________________________
>> U2-Users mailing list
>> [email protected]
>> http://listserver.u2ug.org/mailman/listinfo/u2-users
> 
> 
> 
> --
> 
> *hp*
> _______________________________________________
> U2-Users mailing list
> [email protected]
> http://listserver.u2ug.org/mailman/listinfo/u2-users
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users

_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users