Chapter 2 HPSS Planning
90 September 2002 HPSS Installation Guide
Release 4.5, Revision 2
2.8.7 Gatekeeping
Every Gatekeeper Server has the ability to supply the Gatekeeping Service. The Gatekeeping
Service provides a mechanism for HPSS to communicate information through a well-defined
interface to a policy software module to be completely written by the site. The site policy code is
placed in a well-defined site shared library for the gatekeeping policy (/opt/hpss/lib/
libgksite.[a|so]) which is linked to the Gatekeeper Server. The default gatekeeping policy shared
librarydoes NO gatekeeping. Sites will need to enhance this library to implement local policy rules
if they wish to monitor and/or load balance requests.
Thegatekeeping site policy code will need to determine which types of requests it wants to monitor
(authorizedcaller, create, open, and stage). Upon initialization, each BFS will look for a Gatekeeper
Server configured into the same storage subsystem. If one is found, then the BFS will query the
Gatekeeper Server asking for the monitor types by calling a particular Gatekeeping Service API
(gk_GetMonitorTypes) which will in turn call the appropriate site implemented Site Interface
(gk_site_GetMonitorTypes) which will determine which types of requests it wishes to monitor.
Thisquery by the BFS will occur each time the BFS (re)connects to the Gatekeeper Server. The BFS
willneed to (re)connect to the Gatekeeper whenever the BFS or Gatekeeper Server is restarted. Thus
if a site wants to change the types of requests it is monitoring, then it will need to restart the
Gatekeeper Server and BFS.
Foreach type of request being monitored, the BFS will call the appropriate Gatekeeping Service API
(gk_Create,gk_Open,gk_Stage) passing along information pertaining to the request. This
information includes:
Each Gatekeeping Service API will then call the appropriate Site Interface passing along the
information pertaining to the request. If the request had AuthorizedCaller set to TRUE, then the

Table 2-2 Gatekeeping Call Parameters

Name Description create open stage

AuthorizedCaller Whether or not the request is from
an authorized caller. These
requests cannot be delayed or
denied by the site policy.
YYY
BitFileID The unique BFS identifier for the
file. N/A Y Y
ClientConnectId The end client’s connection uuid. Y Y Y
DCECellId The HPSS DCE cell identifier for
the user. YYY
GroupId The user’s group identifier Y Y Y
HostAddr Socket information for originating
host. YYY
OpenInfo Open file status flag (Oflag). N/A Y N/A
StageInfo Informationspecific to stage (flags,
length, offset, and storage level). N/A N/A Y
UserId The user’s identifier. Y Y Y