Abstract:
A security method and system. The method includes retrieving configuration data associated with a non interactive entity (NIE) software application. The configuration data comprises refresh counts, refresh periods, and session IDs. A master refresh period is calculated from the refresh periods. Credentials data associated with a requestor are retrieved. The credentials data are transmitted to a resource server. A session key generated by the resource server is received by the NIE software application. The NIE software application calculates a stale time associated with the session key. The NIE software application generates a first updated refresh count. The NIE software application stores the session key, the first updated refresh count, the first refresh period, and the first specified stale time.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates to a method and associated system for maintaining a secure connection to a non-interactive entity software application which is used to proxy requests for resources from several different requesters. 
       BACKGROUND OF THE INVENTION 
       [0002]    Maintaining secure connections between systems typically comprises an inefficient process with little flexibility. Accordingly, there exists a need in the art to overcome at least some of the deficiencies and limitations described herein above. 
       SUMMARY OF THE INVENTION 
       [0003]    The present invention provides a resource based security method comprising: 
         [0004]    initializing, by a computing system comprising a non interactive entity (NIE) software application, said NIE software application, wherein said NIE software application comprises an internal session cache; 
         [0005]    generating, by said NIE software application, a log report indicating said initializing; 
         [0006]    storing said log report; 
         [0007]    retrieving, by said NIE software application, configuration data associated with a plurality of requesters, wherein said configuration data comprises refresh counts associated with first session key requests, session refresh periods associated with said first session key requests, and session IDs associated with said plurality of requestors; 
         [0008]    calculating, by said NIE software application, a first master refresh period from said session refresh periods; 
         [0009]    retrieving, by said NIE software application, first credentials data associated with a first requester of said plurality of requesters; 
         [0010]    transmitting, by said NIE software application, said first credentials data to a resource server; 
         [0011]    receiving, by said NIE software application from said resource server, a first session key associated with said resource server and said first requestor; 
         [0012]    calculating, by said NIE software application, a first specified stale time associated with said first session key, wherein said calculating said first specified stale time comprises adding a first refresh period of said session refresh periods to a first current time; 
         [0013]    generating, by said NIE software application from a first refresh count of said refresh counts, a first updated refresh count; and 
         [0014]    storing within said internal session cache, by said NIE software application, a first session ID of said session IDs associated with said first requester, said first session key, said first refresh period, said first updated refresh count, and said first specified stale time. 
         [0015]    The present invention provides a computer program product, comprising a computer readable medium comprising a computer readable program code embodied therein, said computer readable program code adapted to implement a resource based security method within a computing system comprising a memory device, said memory device comprising a non interactive entity (NIE) software application, said method comprising: 
         [0016]    initializing, by said computing system, said NIE software application, wherein said NIE software application comprises an internal session cache; 
         [0017]    generating, by said NIE software application, a log report indicating said initializing; 
         [0018]    storing said log report; 
         [0019]    retrieving, by said NIE software application, configuration data associated with a plurality of requesters, wherein said configuration data comprises refresh counts associated with first session key requests, session refresh periods associated with said first session key requests, and session IDs associated with said plurality of requesters; 
         [0020]    calculating, by said NIE software application, a first master refresh period from said session refresh periods; 
         [0021]    retrieving, by said NIE software application, first credentials data associated with a first requester of said plurality of requesters; 
         [0022]    transmitting, by said NIE software application, said first credentials data to a resource server; 
         [0023]    receiving, by said NIE software application from said resource server, a first session key associated with said resource server and said first requester; 
         [0024]    calculating, by said NIE software application, a first specified stale time associated with said first session key, wherein said calculating said first specified stale time comprises adding a first refresh period of said session refresh periods to a first current time; 
         [0025]    generating, by said NIE software application from a first refresh count of said refresh counts, a first updated refresh count; and 
         [0026]    storing within said internal session cache, by said NIE software application, a first session ID of said session IDs associated with said first requester, said first session key, said first refresh period, said first updated refresh count, and said first specified stale time. 
         [0027]    The present invention provides a process for supporting computer infrastructure, said process comprising providing at least one support service for at least one of creating, integrating, hosting, maintaining, and deploying computer-readable code in a computing system comprising a computer-readable memory unit, wherein said computer-readable memory unit comprises a non interactive entity (NIE) software application, and wherein the code in combination with the computing system is capable of performing a resource based security method, said method comprising: 
         [0028]    initializing, by said computing system, said NIE software application, wherein said NIE software application comprises an internal session cache; 
         [0029]    generating, by said NIE software application, a log report indicating said initializing; 
         [0030]    storing said log report; 
         [0031]    retrieving, by said NIE software application, configuration data associated with a plurality of requesters, wherein said configuration data comprises refresh counts associated with first session key requests, session refresh periods associated with said first session key requests, and session IDs associated with said plurality of requesters; 
         [0032]    calculating, by said NIE software application, a first master refresh period from said session refresh periods; 
         [0033]    retrieving, by said NIE software application, first credentials data associated with a first requester of said plurality of requesters; 
         [0034]    transmitting, by said NIE software application, said first credentials data to a resource server; 
         [0035]    receiving, by said NIE software application from said resource server, a first session key associated with said resource server and said first requester; 
         [0036]    calculating, by said NIE software application, a first specified stale time associated with said first session key, wherein said calculating said first specified stale time comprises adding a first refresh period of said session refresh periods to a first current time; 
         [0037]    generating, by said NIE software application from a first refresh count of said refresh counts, a first updated refresh count; and 
         [0038]    storing within said internal session cache, by said NIE software application, a first session ID of said session IDs associated with said first requester, said first session key, said first refresh period, said first updated refresh count, and said first specified stale time. 
         [0039]    The present invention advantageously provides a simple method and associated system capable of maintaining secure connections between systems. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0040]      FIG. 1  illustrates a system for providing a secure means to initialize and maintain a secure connection to and from a non-interactive entity software application through which requests for resources may be serviced, in accordance with embodiments of the present invention. 
           [0041]      FIG. 2  illustrates a flowchart describing an algorithm used by the system of  FIG. 1  for generating and refreshing a session key for requesters, in accordance with embodiments of the present invention. 
           [0042]      FIG. 3  illustrates a flowchart describing an algorithm used by the system of  FIG. 1  for executing a resource request, in accordance with embodiments of the present invention. 
           [0043]      FIG. 4  which includes  FIGS. 4A and 4B  illustrates a component diagram describing a usage process for implementing the algorithm of  FIG. 2 , in accordance with embodiments of the present invention. 
           [0044]      FIG. 5  which includes  FIGS. 5A and 5B  illustrates a component diagram describing a usage process for implementing the algorithm of  FIG. 3 , in accordance with embodiments of the present invention. 
           [0045]      FIG. 6  illustrates a computer apparatus used for providing a secure means to initialize and maintain a secure connection to and from a non-interactive entity software application through which requests for resources may be serviced, in accordance with embodiments of the present invention. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0046]      FIG. 1  illustrates a system  5  for providing a secure means to initialize and maintain a secure connection to and from a non-interactive entity software application  18  through which requests for resources (i.e., from several requesters) may be serviced, in accordance with embodiments of the present invention. System  5  of  FIG. 1  comprises a computing apparatus  8 , a (secure) credential storage device  15 , a configuration data store  12 , a resource server  16  (e.g., a session-key-secured computing resource server), and an authentication system  17  connected to a computing system  10  through a network  7 . Network  7  may comprise any type of network including, inter alia, a local area network, (LAN), a wide area network (WAN), the Internet, etc. Computing system  10  may comprise any type of computing system(s) including, inter alia, a personal computer (PC), a server computer, a database computer, etc. Computing system  10  comprises a memory system  14  (e.g., an application server). Memory system  14  may comprise a single memory system (e.g., a single application server). Alternatively, memory system  14  may comprise a plurality of memory systems (e.g., multiple application servers). Memory system  14  comprises non-interactive entity software application  18 . Computing apparatus  8  may comprise, inter alia, a personal computer, a laptop computer, a computer terminal, etc. Computing apparatus  8  may comprise a single computing apparatus or a plurality of computing apparatuses. Computing apparatus  8  is used by requestors (i.e., entities that request resources) in order to request a resource(s) (e.g., an application menu item) from resource server  16 . Requestors may comprise a people, software applications, or portions of software applications. System  5  may comprise an optional access terminal  9  connected to computing system  10 . Optional access terminal  9  may be used to access non-interactive entity software application  18 . Non-interactive entity software application  18  comprises application software that acts as a proxy between requestors and resource server  16 . Non-interactive entity software application  18  manages an internal session cache (e.g., internal session cache  18   b  in  FIG. 4 ), forwards requests to resource server  16 , and returns results (i.e., resources) to the requester. 
         [0047]    System  5  retrieves credentials (e.g., a user ID and password) for requesters (i.e., looking to request resources) from credential storage device  15  and submits the credentials to resource server  16  which returns a session key as a result of a successful authentication attempt with authentication system  17 . A session key is defined herein as a string of characters that acts as a ticket to access resources in resource server  16 . Non-interactive entity software application  18  stores the session key along with a time stamp indicating a valid remaining lifetime for the issued session key. Additionally, non-interactive entity software application  18  stores the credentials and configuration data (i.e., retrieved from configuration data store  12 ) for the issued session key. Configuration data may comprise a refresh count, a refresh period, a session ID (i.e., for identifying non-interactive entity software application  18 ), and a stale time. A refresh count is defined herein as a sequential, numerical value that indicates a number of times that a session key may be refreshed by the computing resource server&#39;s authentication process (i.e., authentication system  17 ) before the credentials must be read again from the secure storage location. A refresh period is defined herein as a time period that non-interactive entity software application  18  uses to calculate how frequently data in a session cache (i.e., internal to non-interactive entity software application  18 ) should be checked to determine if a session refresh attempt should occur. A stale time is defined herein as a date/time at which a validity of a current session key will expire. 
         [0048]    The following process steps illustrate a session key transfer process performed by system  5 : 
         [0000]    1. Non-interactive entity software application  18  is initialized. An optional log report indicating that non-interactive entity software application  18  has been initialized may be generated. The log report may be stored in memory system  14 .
 
2. Non-interactive entity software application  18  retrieves credentials (i.e., for requesters) from (secure) credential storage device  15 .
 
3. Non-interactive entity software application  18  sends the credentials to resource server  16 , which has a pre-established trust relationship with authentication system  17 .
 
4. Resource server creates, stores, and manages a session key in response to a successful authentication by non-interactive entity software application  18 . The session key may comprise an associated life span, which may be returned by authentication system  17  or stored locally for non-interactive entity software application  18  by another administrative process.
 
5. An identifier, session key, and data representing the session key&#39;s life time are stored in an internal (i.e., to non-interactive entity software application  18 ) session cache (i.e., session cache  18   b  in  FIG. 4 ).
 
6. An iterative process will run repeatedly against the session cache in order to keep the stored session key currently valid with resource server  16  and authentication system  17 . A refresh count in the session cache will indicate how many times a session key may be obtained by making a light weight call (i.e., a simple request that may be quickly processed), which will return a fresh, new session key. The aforementioned session key refresh process does not require that the requesters credentials be transmitted. A fresh, new session key is obtained by passing a valid (almost expired) session key to resource server  16 . The iterative process of refreshing the session key will continue until a pre-configured refresh count has been reached.
 
7. When a requestor submits a resource request, non-interactive entity software application  18  queries the session cache for a matching requestor Id. If a matching requester Id is found, the requestor&#39;s valid session key is immediately returned. If a matching requestor Id is not found in the session cache, then non-interactive entity software application  18  must perform the authentication on behalf of the requester. Additionally, non-interactive entity software application  18  may request the resource on behalf of the requestor with the fresh session key. Since the resource request was made with a valid session key, resource server  16  performs a resource retrieval process and returns the requested resource to the non-interactive entity software application  18 , which returns the requested resource to the requester.
 
 FIG. 2  illustrates a flowchart describing an algorithm used by system  5  of  FIG. 1  for generating and refreshing session keys for requesters, in accordance with embodiments of the present invention. In step  202 , non-interactive entity software application  18  (i.e., from  FIG. 1 ) is initialized  1 . In step  203 , an optional log report indicating that non-interactive entity software application  18  has been initialized may be generated. The log report may be stored in memory system  14  of  FIG. 1 . In step  204 , non-interactive entity software application  18  retrieves configuration data from a storage location (e.g., data store  12  in  FIG. 1 ). The configuration data may include a refresh count and a refresh period associated with session key requests and a session ID for a requester. In step  208 , non-interactive entity software application  18  calculates a master refresh period from the refresh period retrieved from the configuration data. The master refresh period may be calculated by scanning all of the session refresh periods, selecting a session refresh period (i.e., from the scanned refresh periods) with a smallest value, and subtracting a very small time period (e.g., a millisecond) from the selected refresh period. In step  210 , non-interactive entity software application  18  retrieves credentials data (i.e., associated with a requester) from a secure credential storage device (e.g., credential storage  15  in  FIG. 1 ). Credentials data may comprise a user ID and password for the requester. In step  211 , non-interactive entity software application  18  transmits the credentials data to a resource server (e.g., resource server  16  in  FIG. 1 ). In step  212 , the credentials data is processed in order to authenticate the requester. The processing performed in step  212  may comprise the following steps:
 
1. The resource server transmits the credentials data (i.e., for the requester) to an authentication system (e.g., authentication system  17  in  FIG. 1 ) in order to generate an authentication attempt.
 
2. The authentication system returns a result associated with the authentication attempt. If authentication attempt is successful, a value indicating “success” is returned to the resource server.
 
         [0049]    In step  214  (i.e., upon a successful authentication), the resource server generates a session key, which has its lifetime encoded in the session key “ticket”. The resource server transmits the session key to non-interactive entity software application  18 . In step  218 , non-interactive entity software application  18  generates a stale time and updated refresh count associated with the session key. The stale time is calculated by adding the master refresh period (i.e., from step  208 ) to a current time. In step  220 , the session key, the updated refresh count, the stale time, and the session ID are stored within an internal session cache within non-interactive entity software application  18 . In step  224 , it is periodically determined if the session key should be refreshed. If in step  224 , it is determined that the session key should be refreshed then in step  225 , a refresh request and the current session key is transmitted to the resource server and step  214  is executed. If in step  224 , it is determined that the session key should not be refreshed then in step  228  it is determined if the refresh count has been reached. If in step  228  it is determined that the refresh count has been reached then step  210  is executed. If in step  228  it is determined that the refresh count has not been reached then in step  230  non-interactive entity software application  18  performs intended functions and periodically executes step  224 . The above described process steps illustrated in the algorithm of  FIG. 2  are repeated for different requesters that submit requests for resources. 
         [0050]      FIG. 3  illustrates a flowchart describing an algorithm used by system  5  of  FIG. 1  for executing a resource request, in accordance with embodiments of the present invention. In step  302 , a trust relationship (e.g., the configuration of mutual SSL between a client and a server using X.509 certificates) between a requester and non-interactive entity software application  18  (i.e., from  FIG. 1 ) is established. In step  304 , non-interactive entity software application  18  receives (from a requester) a request for a resource. In step  308 , non-interactive entity software application  18  transmits a current session key (i.e., generated in step  214  of  FIG. 2 ) and the request to a resource server. In step  310 , the resource server generates a new session key. In step  312 , the resource server transmits the new session key and the requested resource to non-interactive entity software application  18 . In step  314 , a new stale time and updated refresh count is generated. In step  318 , a previous stale time and refresh count are removed from an internal session cache within non-interactive entity software application  18 . In step  320 , the new session key, the new stale time, and the updated refresh count are each stored in the internal session cache within non-interactive entity software application  18 . In step  322 , the requested resource is transmitted to the requester and step  304  is repeated (i.e., for a same requester or a different requester). 
         [0051]      FIG. 4  which includes  FIGS. 4A and 4B  illustrates a component diagram describing a usage process for implementing the algorithm of  FIG. 2  for generating and refreshing session keys for multiple requesters, in accordance with embodiments of the present invention. The usage process illustrates an initialization process for system  5  of  FIG. 1  (i.e., a process executed to setup and maintain a session cache of fresh session keys that may be used to improve the performance of a resource request handling process). Non interactive entity software application  18  is a software program that maintains a secure connection with resource server  16  and acts as a proxy for servicing requests for resources from requestors. Session cache  18   b  is an internal data storage mechanism used by non interactive entity software application  18  to store session related data which includes a Session Id  19   a  (i.e., identifies the entity making the request for resources) for each requestor, a session key  19   b  (i.e., a string of characters that acts as a ticket to access resources of resource server  16 ) for each requester, a refresh period  19   c  for each requester, a stale time  19   d  (i.e., a date/time at which a validity of the session key  19   b  will expire) for each requester, and a refresh count  19   e  (a number of iterations in which the non interactive entity software application  18  will continue to make light-weight calls to resource server  16  in order to refresh a session key  19   b  for this session) for each requestor. Non interactive entity software application  18  comprises internal logic  18   a  for performing processing. Logic  18   a  is used to keep session keys alive/valid so that subsequent resource requests may be immediately serviced without a need to authenticate each and every request from requester. Configuration data store  12  comprises a storage mechanism for configuration data. Configuration data may include a session id, a refresh count (non interactive entity software application  18  takes this value and for an initial session cache record insertion) and a refresh period (a time, e.g., a number of seconds between non interactive entity software application  18  scans of the session cache in which the non interactive entity software application  18  may refresh the session key(s)). Note that at the time that the configuration data is loaded, Logic  18   a  locates a refresh period  19   c  comprising a lowest value, subtracts a very small amount from the lowest value (e.g., a millisecond), and stores the difference in a master refresh record variable. The master refresh record variable is used to determine how often logic  18   a  will read through session cache  18   b  data looking for a stale time  19   d  that has been reached. If a value for stale time  19   d  is equal to or older than a current time, then a light weight call will be made to resource server  16  in order to retrieve a fresh new session key  19   b  (i.e., to refresh this session). Secure credential storage comprises a storage device for storing the credentials associated with requesters. Non interactive entity software application  18  transmits a requester ID and follows requisite secure credential storage protocol and in return retrieves a requester password. 
         [0052]    The following process steps illustrate a process for generating and refreshing a session key: 
         [0000]    1. Resource server  16  accepts requests for resources and services the requests after resource server  16  authenticates non interactive entity software application  18  using it&#39;s credentials or validates that a session key (e.g., session key  19   b ) passed to resource server  16  is valid. Additionally, resource server  16  generates the session key and stores the session key with its associated Session Id for subsequent request processing.
 
2. Logic  16   a  performs an authentication of requesters, creates session keys, stores the session Id and it&#39;s associated session key, and determines a validity of the session key values passed to it by non interactive entity software application  18  when the non interactive entity software application  18  requests resources on behalf of a requester.
 
3. Internal storage mechanism  16   b  of resource server  16  comprises a storage location for storing a session key with its associated session Id for each requester.
 
4. Authentication system  17  services user (non interactive entity software application  18 ) authentication requests for the resource server. For example, authentication system  17  may allow resource server  16  to send a user Id and password which it will then check for validity.
 
5. Non interactive entity software application  18  transmits an authentication request  34   a  for requester  1  to resource server  16 . Authentication request  34   a  is performed at initial startup or when the refresh count has been reached.
 
6. Non interactive entity software application  18  transmits an authentication request  34   b  for requester  2  to resource server  16 . Authentication request  34   b  is performed at initial startup or when the refresh count has been reached.
 
7. Non interactive entity software application  18  transmits an authentication request  34   c  for requestor  3  to resource server  16 . Authentication request  34   c  is performed at initial startup or when the refresh count has been reached.
 
8. A session key  35   a  (e.g., J73J3V . . . W) is returned by resource server  16  to non interactive entity software application  18  for requestor  1 .
 
9. A session key  35   b  (e.g., 3JF8MF . . . =) is returned by resource server  16  to non interactive entity software application  18  for requestor  2 .
 
10. A session key  35   c  (e.g., KE8M21 . . . T) is returned by resource server  16  to non interactive entity software application  18  for requestor  3 .
 
11. Each time logic  18   a  scans session cache  18   b  and locates a stale time  19   d  that is greater than a current time, a session key  19   b  refresh attempt is performed thereby decrementing refresh count  19   e  by one for that session. At this time, non interactive entity software application  18  makes a light-weight request  31   a  of resource server  16  (e.g., getTime(“J73J3V . . . W”), in which it passes a currently valid session key (i.e., from session keys  19   b ).
 
12. Resource server  16  generates a new session key  31   b  whose lifetime has been reset to a time determined by resource server  16 . Note that the reset lifetime should be greater than a stale time (e.g., stale time  19   d ) stored in the record for this session key in session cache  18   b.  
 
13. Resource server  16  transmits authentication request  34   a  to authentication system  17  to authenticate requestor  1 .
 
14. Authentication system  17  transmits authentication request  34   b  to authentication system  17  to authenticate requester  2 .
 
15. Authentication system  17  transmits authentication request  34   c  to authentication system  17  to authenticate requestor  3 .
 
16. Authentication system  17  returns a value of success  37   a  (e.g., true/yes/1) if the authentication process validates the passed credentials for requestor  1 .
 
17. Resource server  16  returns a value of success  37   b  (e.g., true/yes/1) if the authentication process validates the passed credentials for requester  2 .
 
18. Resource server  16  returns a value of success  37   c  (e.g., true/yes/1) if the authentication process validates the passed credentials for requestor  3 .
 
         [0053]      FIG. 5  which includes  FIGS. 5A and 5B  illustrates a component diagram describing a usage process for implementing the algorithm of  FIG. 3  for handling requests for resources for multiple requesters, in accordance with embodiments of the present invention. The requests for resources are generated by requesters  1 - 3 . Non interactive entity software application  18  and resource sever  16  in  FIG. 5  have been described with reference to  FIG. 4 , supra. A protected information point  28  comprises requested resources. 
         [0054]    The following process steps illustrate a process for handling requests for resources (i.e., after session cache  18   b  has been filled with fresh session keys): 
         [0000]    1. A request for resources  40   a  is transmitted by requester  1  to non interactive entity software application  18 . For example, request for resources  40   a  in  FIG. 5  comprises getList (Requestor 1 ). Note that a trust relationship has been established between requestor  1  and non interactive entity software application  18  prior to requestor  1  generating request for resources  40   a.  
 
2. A request for resources  40   b  is transmitted by requester  2  to non interactive entity software application  18 . For example, request for resources  40   b  in  FIG. 5  comprises getList (Requestor 2 ). Note that a trust relationship has been established between requester  2  and non interactive entity software application  18  prior to requester  1  generating request for resources  40   b.  
 
3. A request for resources  40   c  is transmitted by requestor  3  to non interactive entity software application  18 . For example, request for resources  40   c  in  FIG. 5  comprises getList (Requestor 3 ). Note that a trust relationship has been established between requester  3  and non interactive entity software application  18  prior to requester  3  generating request for resources  40   c.  
 
4. Results  41   a  (e.g., Entry 1 , Entry 2 , Entry 3 ) to request for resources  40   a  are returned by non interactive entity software application  18  to requester  1  as a result of processing the request.
 
5. Results  42   a  (e.g., Entry 4 , Entry 6 ) to request for resources  40   b  are returned by non interactive entity software application  18  to requester  2  as a result of processing the request.
 
6. Results  43   a  (e.g., Entry 8 ) to request for resources  40   c  are returned by non interactive entity software application  18  to requestor  3  as a result of processing the request.
 
7. A request for resources  40   d  is transmitted from non interactive entity software application  18  to resource server  16  on behalf of requestor  1 . Note that request for resources  40   d  comprises session key (J73J3V . . . W) associated with requester  1  as well as request for resources  40   a . Resource server  16  validates session key (J73J3V . . . W) and processes request for resources  40   d  if session key (J73J3V . . . W) is valid.
 
8. A request for resources  40   e  is transmitted from non interactive entity software application  18  to resource server  16  on behalf of requestor  2 . Note that request for resources  40   e  comprises session key (3JF8MF . . . =) associated with requestor  2  as well as request for resources  40   b . Resource server  16  validates session key (3JF8MF . . . =) and processes request for resources  40   e  if session key (3JF8MF . . . =) is valid.
 
9. A request for resources  40   f  is transmitted from non interactive entity software application  18  to resource server  16  on behalf of requestor  3 . Note that request for resources  40   f  comprises session key (KE8M21 . . . T) associated with requester  3  as well as request for resources  40   c . Resource server  16  validates session key (KE8M21 . . . T) and processes request for resources  40   f  if session key (KE8M21 . . . T) is valid.
 
10. Results  44   a  are returned from resource server  16  to non interactive entity software application  18  as a result of processing request for resources  40   d.  
 
11. Results  44   b  are returned from resource server  16  to non interactive entity software application  18  as a result of processing request for resources  40   e.  
 
12. Results  44   c  are returned from resource server  16  to non interactive entity software application  18  as a result of processing request for resources  40   f.  
 
13. A request for resources  45   a  is transmitted from resource server  16  to protected information point  28 .
 
14. A request for resources  45   b  is transmitted from resource server  16  to protected information point  28 .
 
15. A request for resources  45   c  is transmitted from resource server  16  to protected information point  28 .
 
16. Results  44   d  are returned from protected information point  28  to resource server  16  as a result of processing request for resources  45   a.  
 
17. Results  44   e  are returned from protected information point  28  to resource server  16  as a result of processing request for resources  45   b.  
 
18. Results  44   f  are returned from protected information point  28  to resource server  16  as a result of processing request for resources  45   c.  
 
         [0055]      FIG. 6  illustrates a computer apparatus  90  (e.g., computing system  10  of  FIG. 1 ) used for providing a secure means to initialize and maintain a secure connection to and from a non-interactive entity software application through which requests for resources (i.e., from several requesters) may be serviced, in accordance with embodiments of the present invention. The computer system  90  comprises a processor  91 , an input device  92  coupled to the processor  91 , an output device  93  coupled to the processor  91 , and memory devices  94  and  95  each coupled to the processor  91 . The input device  92  may be, inter alia, a keyboard, a software application, a mouse, etc. The output device  93  may be, inter alia, a printer, a plotter, a computer screen, a magnetic tape, a removable hard disk, a floppy disk, a software application, etc. The memory devices  94  and  95  may be, inter alia, a hard disk, a floppy disk, a magnetic tape, an optical storage such as a compact disc (CD) or a digital video disc (DVD), a dynamic random access memory (DRAM), a read-only memory (ROM), etc. The memory device  95  includes a computer code  97 . The computer code  97  includes algorithms (e.g., the algorithms of  FIGS. 2 and 3 ) for providing a secure means to initialize and maintain a secure connection to and from a non-interactive entity software application through which requests for resources (i.e., from several requesters) may be serviced. The processor  91  executes the computer code  97 . The memory device  94  includes input data  96 . The input data  96  includes input required by the computer code  97 . The output device  93  displays output from the computer code  97 . Either or both memory devices  94  and  95  (or one or more additional memory devices not shown in  FIG. 6 ) may comprise the algorithms of  FIGS. 2 and 3  and may be used as a computer usable medium (or a computer readable medium or a program storage device) having a computer readable program code embodied therein and/or having other data stored therein, wherein the computer readable program code comprises the computer code  97 . Generally, a computer program product (or, alternatively, an article of manufacture) of the computer system  90  may comprise said computer usable medium (or said program storage device). 
         [0056]    Still yet, any of the components of the present invention could be created, integrated, hosted, maintained, deployed, managed, serviced, etc. by a service provider who offers to provide a secure means to initialize and maintain a secure connection to and from a non-interactive entity software application through which requests for resources (i.e., from several requestors) may be serviced. Thus the present invention discloses a process for deploying, creating, integrating, hosting, maintaining, and/or integrating computing infrastructure, comprising integrating computer-readable code into the computer system  90 , wherein the code in combination with the computer system  90  is capable of performing a method for providing a secure means to initialize and maintain a secure connection to and from a non-interactive entity software application through which requests for resources (i.e., from several requesters) may be serviced. In another embodiment, the invention provides a business method that performs the process steps of the invention on a subscription, advertising, and/or fee basis. That is, a service provider, such as a Solution Integrator, could offer to provide a secure means to initialize and maintain a secure connection to and from a non-interactive entity software application through which requests for resources (i.e., from several requestors) may be serviced. In this case, the service provider can create, maintain, support, etc. a computer infrastructure that performs the process steps of the invention for one or more customers. In return, the service provider can receive payment from the customer(s) under a subscription and/or fee agreement and/or the service provider can receive payment from the sale of advertising content to one or more third parties. 
         [0057]    While  FIG. 6  shows the computer system  90  as a particular configuration of hardware and software, any configuration of hardware and software, as would be known to a person of ordinary skill in the art, may be utilized for the purposes stated supra in conjunction with the particular computer system  90  of  FIG. 6 . For example, the memory devices  94  and  95  may be portions of a single memory device rather than separate memory devices. 
         [0058]    While embodiments of the present invention have been described herein for purposes of illustration, many modifications and changes will become apparent to those skilled in the art. Accordingly, the appended claims are intended to encompass all such modifications and changes as fall within the true spirit and scope of this invention.