To get to Patolis nowadays using ssh (December, 2005), you have to start from an EDC web server (eg, dweb1 or dtestweb1). Ever since moving to Sunnyvale, we haven't been able to get to Patolis directly 'cause we've never asked Patois to add outgoing NAT IP address (199.221.85.9) to their incoming firewall. Yes, we could do that, but why bother? They're going away in April, 2006 anyway. Also, the ips01i IP name doesn't work in EDC, so you have to use the Patolis IP name, wd.p4.patolis.co.jp, which resolves to the same 210.197.102.194 IP address that ips01i did. So from say dtestweb1, it's ssh 210.197.102.194 ================================================================================== To get to Patolis nowadays using http (December, 2005), First get ips01i.ips4db2.com in your C:\WINNT\system32\drivers\etc/hosts file 210.197.102.194 ips01i.ips4db2.com To authenticate, use http://ips01i.ips4db2.com/cgi-bin/ncommerce3/AddUser?name=delphion194832&charge=0 After that, you can get to Sander's main test page by going to http://ips01i.ips4db2.com/ips/index.jsp ================================================================================== To login (ie via the web, not ssh) to the Patolis (Japio) web site, the easiest thing is to go to Sander's web page on giraffe (http://giraffe) and select the link on the lower right-hand side, "Login into Patolis (Japanese) site" (Ignore the footnote saying you need a line in your /etc/hosts file. You don't.) When you select this link, it will ask you for a userid/password. It is admin/neubauten (a German band). (or you can use your personal id, rick/-1). If successful, you'll get "return=1 code=0". If you get "return=0 code=7 msg=Failed to call RegisterNew command", the most likely reason is that you are already logged into the Patolis system, and you can proceed to access the Patolis site. After that, back up to the giraffe page again, and select the link right above the Login link, namely "Patolis (Japanese) site" which is http://ips06i.ips4db2.com/home.en.html ================================================================================== Here's how to test the Remote XML feature in Patolis. After following the above directions to "login" and get to the main page, - To test the remote searching, follow the "Remote Search" link from the main page and search for something. If you just take the default (robot library) TI in "US granted patents (front page)", you should get something akin to "10 of 2,978,244 patents matched your query ..." This "Remote Search" is done via the Tomcat servers in both Patolis & Southbury, which uses the Southbury Verity servers. - If you then click on a patent in that hitlist, the biblio-only view you see is coming all from Patolis's DB2. To see the full, detail view, click on the blue, rectangular icon with gold Japanese letters in it (a pop-up window saying "Show full-text data" will appear when you move your mouse over it). This full-text view extracts and displays data from Southbury's DB2. - Finally, to exercise the image viewing from Southbury, click that second, dark blue rectangle with Japanese characters (the pop-up will say "View image"). Images are retrieved from Southbury unless they are already in the local, /dfs/images cache, which may be likely because the local cache is never pruned. ================================================================================== Here's a quick snapshot of Patolis's DFS usage as of 4-8-2002. GB Used Out Of Biggest Filesets GB Used ======= ====== ================ ======= Node 1: 2 119 images.WO (100) 209.6 45 237 wo_area 53.2 29 237 convdata 14.2 59 237 cache (100) 10.7 ======= ====== images.US (100) 7.9 135 830 download 4.3 dlcache 2.0 Node 7: 2 119 gifcache 0.3 97 237 ================ ======= 26 237 302.2 49 237 ======= ====== 174 830 ======= ====== Grand Total 309 1660 ================================================================================== (These next 4 lines are kept only for historical purposes. I got the ips4db2.com domain for Delphion, and the ips06i I.P. address is in there now.) >>> To get access to the JAPIO system, insure you can resolve ips06i.ips4db2.com >>> to 210.145.31.109 by adding this line >>> 210.145.31.109 ips06i.ips4db2.com ips06i >>> to either your AIX /etc/hosts file, >>> or Windows 2000 C:\WINNT\System32\drivers\etc\hosts file >>> or Windows NT C:\Windows\System32\drivers\etc\hosts file. ================================================================================== If you want to know the details, what Sander's giraffe links are doing, are http://ips06i.ips4db2.com/cgi-bin/ncommerce3/AddUser?name=delphionXXX&charge=0 and http://ips06i.ips4db2.com/home.en.html where XXX is some random number. ================================================================================== The JAPIO SP/2 system uses SP/2's "collections" to keep certain files up to date. See the /var/sysman/sup/user.admin/list file on the Control Workstation, ipscws, for the complete list of files, including ./etc/passwd ./etc/group ./etc/security/group ./.profile ./etc/resolv.conf ./etc/security/user ./.kshrc ./etc/rc.local ./etc/security/passwd The actual updating of those files are done by an hourly cron job on each node, 10 * * * * /var/sysman/supper update sup.admin user.admin node.root ================================================================================== To add a DCE userid on the JAPIO system, - Logon to ips03i, which is the DCE Master Security Server. - dce_login cell_admin. The password is the same as root's password. Remember, a DCE User = a DCE Principal + a DCE Account export USER=edward dcecp user create $env(USER) -fullname {Edward Salatovka (Delphion)} -group patent -uid 16009 -home /dfs/u/$env(USER) -organization none -mypwd ips0 -password new4you -shell /bin/ksh quit fts create u.$USER ips07i dfs7d fts crmount /dfs/.rw/u/$USER u.$USER fts setquota /dfs/.rw/u/$USER 2000000 chown $USER:patent /dfs/.rw/u/$USER dcecp -c acl modify /dfs/.rw/u/$USER -add {group subsys/dce/dfs-admin rwxcid} dcecp -c acl modify /dfs/.rw/u/$USER -change {group_obj r-x---} dcecp -c acl modify /dfs/.rw/u/$USER -change {other_obj r-x---} dcecp -c acl modify /dfs/.rw/u/$USER -add {any_other r-x---} dcecp -c acl modify /dfs/.rw/u/$USER -ic -change {group_obj r-x---} dcecp -c acl modify /dfs/.rw/u/$USER -ic -change {mask_obj rwxcid} dcecp -c acl modify /dfs/.rw/u/$USER -ic -add {group subsys/dce/dfs-admin rwxcid} dcecp -c acl modify /dfs/.rw/u/$USER -ic -change {other_obj r-x---} dcecp -c acl modify /dfs/.rw/u/$USER -ic -add {any_other r-x---} dcecp -c acl modify /dfs/.rw/u/$USER -io -change {user_obj rwxcid} dcecp -c acl modify /dfs/.rw/u/$USER -io -change {group_obj r-x---} dcecp -c acl modify /dfs/.rw/u/$USER -io -change {other_obj r-x---} dcecp -c acl modify /dfs/.rw/u/$USER -io -add {group subsys/dce/dfs-admin rwxcid} dcecp -c acl modify /dfs/.rw/u/$USER -io -add {any_other r-x---} fts release root.dfs cm checkf cp -p /dfs/u/jasper/.profile /dfs/u/$USER cp -p /dfs/u/jasper/.kshrc /dfs/u/$USER chown $USER /dfs/u/$USER/.profile /dfs/u/$USER/.kshrc ================================================================================== To Query the JAPIO Daily Usage Logon to ips03i (the DB/2 machine) set -o vi su - inst1 set -o vi db2 connect to ncjapan db2 describe table inst1.shopper db2 describe table inst1.acc_trans To see how many distinct users there were yesterday, db2 "select count(distinct ACTR_LOGID) from acc_trans where actr_time > current timestamp - 1 day and actr_usrtyp = 'R'" This excludes the delphion* and patolis* userids. To see the number of different transaction types, For searches, db2 "select count(*) from acc_trans where actr_time > current timestamp - 1 day and actr_usrtyp = 'R' and ACTR_PRCODE like '0%'" For detail views, db2 "select count(*) from acc_trans where actr_time > current timestamp - 1 day and actr_usrtyp = 'R' and ACTR_PRCODE like 'BIB%'" For image views, db2 "select count(*) from acc_trans where actr_time > current timestamp - 1 day and actr_usrtyp = 'R' and ACTR_PRCODE = 'IMG'" For PDF Downloads, db2 "select count(*) from acc_trans where actr_time > current timestamp - 1 day and actr_usrtyp = 'R' and ACTR_PRCODE = 'PDF'" For printing, db2 "select count(*) from acc_trans where actr_time > current timestamp - 1 day and actr_usrtyp = 'R' and ACTR_PRCODE = 'PRN'" ================================================================================== The Japanase have 6 C++ programs that Edward wrote, residing in at /dfs/prod/nc/bin/libJAPcommands.a in Japan, and at /usr/lpp/CommerceSuite/bin/libJAPcommands.a on baboon. To test these, you can send http requests to either the main web server (which just tunnels the call to the NC front end), or directly to the Net Commerce Front End web server itself. If the call is succesful, you'll get return=1 and code=0. If it fails, you'll get return=0 and code=1-8. All functions share the same codes, but of course, some codes will never happen with some functions. The codes are 1 = Bad Command structure 2 = Access control violation (unauthorized command caller) 3 = Bad User 4 = Expired User 5 = Bad Product Code 6 = SQL failure (The SQL Error message provided in descritpion) 7 = General Internal failure 8 = Bad order. Order does not exist or is already marked. The functions are AddUser Internals: Creates a new user in the shopper table by calling the WCS "RegisterNew" command. Sample Call: .../cgi-bin/ncommerce3/AddUser?name=delphion1234321&charge=0 Options: charge=0 (defaults to 1, which means to charge). Note that there's an "&" in front of this option, not another "?". Also Returns: If successful, two session cookies are returned. The SESSION_ID cookie is used by Net Commerce for user authentication. An example is '44386,/gcLPZSPHltNHhYRm RI+xDj41WQyRD69/102gPLS2WL/GB9L4iNtqOoFcQsaMnVi' The USER_TYPE cookie distinguishes between internal ("F" -stands for fake?) users who are allowed to print, and real ("R") users who aren't. E.G. USER_TYPE=F DB/2 Tables: Adds a row to the shopper table, where SHRFNBR = A unique shopper number maintained by Net Commerce SHLOGID = The passed name SHSHTYP = "R" normally, else "F" if charge=0. To Test: Check for existance or not of user in shopper table via db2 connect to japionc db2 "select * from shopper where shlogid='delphion123'" http://.../cgi-bin/ncommerce3/AddUser?name=delphion123&charge=0 db2 "select * from shopper where shlogid='delphion123'" Warnings: Once you successfully authenticate with AddUser, your browser has a session cookie that will prevent you from doing additional AddUser's from this browser, causing this wonderful return=0 code=7 msg=Failed to call RegisterNew command error message. You may also get something like The Mall/Store is currently experiencing problems. Please try again later. User Initialization Failure Invalid user cookie. the user may be logged in from more than one browser. This also happens when you have a cookie that Net Commerce believes is bad, i.e. when you've done a DelUser on yourself (or probably when the cookie expires after 24 hours). DelUser: Internals: Sets the SHSHTYP column in the shopper table for a given user to "E". Sample Call: .../cgi-bin/ncommerce3/DelUser?name=delphion1234321 Options: none Returns: DB/2 Tables: db2 "update shopper set shshtyp='E' where shlogid='the given name'" SHSHTYP = "E" To Test: Check for existance or not of user in shopper table via db2 connect to japionc db2 "select shlogid,shshtyp from shopper where shlogid='delphion123'" http://.../cgi-bin/ncommerce3/DelUser?name=delphion123 db2 "select shlogid,shshtyp from shopper where shlogid='delphion123'" GetAccountData: Sample Call: .../cgi-bin/ncommerce3/GetAccountData?name=delphion123 DB/2 Tables: Options: none Internals: To Test: MarkAccountData: Sample Call: .../cgi-bin/ncommerce3/MarkAccountData ... DB/2 Tables: Options: none Internals: To Test: ResetUser: Sample Call: .../cgi-bin/ncommerce3/ResetUser ... DB/2 Tables: Options: none Internals: To Test: SetAccountData: Sample Call: .../cgi-bin/ncommerce3/SetAccountData ... DB/2 Tables: Options: none Internals: To Test: ================================================================================== On 2-1-2002, root on ips03i, the DB/2 and ADSM server, has this in its crontab. # TSM backup 59 23 * * 1-6 /usr/tivoli/tsm/sh/backup_ncjapan.sh 1>/dev/null 2>/dev/null 0 18 * * 6 /usr/tivoli/tsm/sh/backup_patent.sh 1>/dev/null 2>/dev/null 0 23 * * 1-6 /usr/bin/dsmc inc 1>/dev/null 2>/dev/null 0 21 * * 1-6 /usr/tivoli/tsm/sh/backup_dfs.sh 1>/dev/null 2>/dev/null 0 2 * * 0,2-6 /usr/tivoli/tsm/sh/backuptsm.ksh 1>/dev/null 2>/dev/null The two database backup jobs, su to inst1 and run either /home/inst1/sh/backup_ncjapan.sh (isn't that silly? Instead of running or /home/inst1/sh/backup_patent.sh from inst1 to begin with? Ah, well. ) Those scripts simply do db2 connect to ncjapan (or patent) db2 "backup db ncjapan online use adsm" (or patent) db2 terminate To check on the status of the database backups, e.g. patent on 1/19/2002, dsmadmc -id=admin -password=ips0 q ac begindate=01/19/2002 | grep DB2/6000 The lines like 01/19/02 23:59:02 ANR0406I Session 148 started for node IPS03I (DB2/6000) 01/19/02 23:59:33 ANR0403I Session 148 ended for node IPS03I (DB2/6000). indicate the nightly ncjapan database backup took about 30 seconds, and 01/19/02 18:00:01 ANR0406I Session 137 started for node IPS03I (DB2/6000) 01/19/02 20:52:43 ANR0403I Session 137 ended for node IPS03I (DB2/6000). indicate the weekly patent database backup took almost 3 hours. =================================================================================== As of April, 2003, the normal img_link is broken 'cause Sander took out the following ScriptAlias from the httpd.conf file. ScriptAlias /img_link /arc/ips/cgi-bin/db2www.cmd/current/img_link.d2w/report Normally, img_link links were http://ips06i.ips4db2.com/img_link?patent=EP00904950A1&patent_like=EP00904950 To get it working again, change it to http://ips06i.ips4db2.com/cgi-bin/db2www.cmd/current/img_link.d2w/report?patent=EP00904950A1&patent_like=EP00904950