US2003200469A1PendingUtilityA1

System, method and article of manufacture to remotely configure and utilize an emulated device controller via an encrypted validation communication protocol

Priority: Nov 19, 1996Filed: Jun 9, 2003Published: Oct 23, 2003
Est. expiryNov 19, 2016(expired)· nominal 20-yr term from priority
H04L 63/08H04L 61/00H04L 63/0428H04L 63/18H04L 63/068G06F 9/468H04L 41/28G06F 11/2294H04L 41/0803G06F 9/4411H04L 63/062H04L 63/04
47
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Remote configuration and utilization of an emulated device controller via communication of encrypted data external to the controller. In a preferred embodiment, first and second software means executing within a server central processing unit facilitates secured and verified access to emulated input/output devices on behalf of a user community. The emulated input/output devices are further associated with session oriented application programs executed on one or more host central processing units. A user requests utilization of one or more emulated input/output device types whereupon the security software validates the user's request. If authorized, a hardware adaptor card is initialized with an input/output device configuration reflecting the user's request and control is passed to session oriented programs whereupon the user input/output requests are facilitated via an emulated device as opposed to physical devices associated with the host processors.

Claims

exact text as granted — not AI-modified
What is claimed is:  
     
         1 . A system to facilitate remote configuration and utilization of an emulated device controller via communication of encrypted data external to said controller comprising: 
 at least one security administrator central processing unit communicably attached to an emulation server central processing unit;    at least one client central processing unit communicably attached to said emulation server central processing unit;    first software means for validating authorized remote user access and encryption of data, said first software executing from within said emulation server central processing unit;    second software means for facilitating remote configuration and utilization of an emulated device controller; said second software executing from within said emulation server central processing unit;    at least one hardware adaptor card communicably attached to said emulation server central processing unit; and    at least one host processor central processing unit communicably attached to said emulation server central processing unit via said hardware adaptor card.    
     
     
         2 . The system to facilitate remote configuration and utilization of an emulated device controller in accordance with  claim 1  wherein said first software means is receptive to and processes data communicated from said second software means.  
     
     
         3 . The system to facilitate remote configuration and utilization of an emulated device controller in accordance with  claim 1  wherein said second software means is receptive to and processes data communicated from said first software means.  
     
     
         4 . The system to facilitate remote configuration and utilization of an emulated device controller in accordance with  claim 1  further comprising a communication means wherein data exchanged between said client central processing unit and said emulation server central processing unit is encrypted prior to transmission between said central processing units and decrypted subsequent to transmission between said central processing units.  
     
     
         5 . The system to facilitate remote configuration and utilization of an emulated device controller in accordance with  claim 1  further comprising a communication means wherein data exchanged between said security administrator central processing unit and said emulation server central processing unit is encrypted prior to transmission between said central processing units and decrypted subsequent to transmission between said central processing units.  
     
     
         6 . The system to facilitate remote configuration and utilization of an emulated device controller in accordance with  claim 1  wherein said second software means further comprises: 
 (a) a software component means for initializing said emulation server central processing unit;  
 (b) a software component means for terminating communication with said emulation server central processing unit;  
 (c) a software component means for loading said hardware adaptor with an emulated input/output device configuration;  
 (d) a software component means for recognizing and communicating with at least one client central processing unit;  
 (e) a software component means for disconnecting a previously recognized client; and  
 (f) a software component means for executing administrative support protocol.  
 
     
     
         7 . A computer based method for facilitating remote configuration and utilization of an emulated device controller via communication of encrypted data external to said controller comprising: 
 (a) initializing and communicating with an emulation server central processing unit;    (b) establishing a client connection with said emulation server;    (c) loading a hardware adaptor card in communication with said emulation server with an emulated input/output device configuration;    (d) disconnecting said previously connected client; and    (e) terminating communication with said emulation server central processing unit.    
     
     
         8 . The computer based method of  claim 7  further including the execution of administrative support protocol.  
     
     
         9 . The computer based method of  claim 7  wherein said initializing of an emulation server central processing unit further comprises: 
 (a) initializing module-wide variables utilized by a hardware device driver;  
 (b) enumerating hardware adaptors using said adaptor's vendor and device identifiers;  
 (c) initializing hardware adaptor-specific variables utilized by said driver;  
 (d) allocating and reserving said adaptor resources;  
 (e) resetting said adaptor;  
 (f) downloading microcode to said adaptor;  
 (g) initializing said adaptor;  
 (h) requesting said adaptor's connection to each unique interrupt request line;  
 (i) initiating an adaptor timer and timer support;  
 (j) exposing standard module-wide support to applications;  
 (k) initializing variables utilized by a host dynamically linked library;  
 (l) clearing a user connection block;  
 (m) exposing and making available to first software an adaptor specific administrative instruction set;  
 (n) creating a serialization mechanism to be used by configuration support routines;  
 (o) opening said driver;  
 (p) requesting from said driver the number of recognized adaptors;  
 (q) returning from said driver the number of adaptors in response to immediately preceding request;  
 (r) requesting from said driver its version number;  
 (s) returning driver version number in response to immediately preceding request;  
 (t) recording driver version and the number of adaptors controlled by said driver;  
 (u) indicating said adaptor's unavailability;  
 (v) loading said adaptor's offline status;  
 (w) loading said adaptor's activity status;  
 (x) loading a second inactive configuration data sequence; and  
 (y) ensuring loaded adaptor configuration is within operational ranges.  
 
     
     
         10 . The computer based method of  claim 7  wherein terminating communication with said emulation server central processing unit further comprises: 
 (a) disconnecting each currently connected user;  
 (b) forcing recognized adaptors offline;  
 (c) closing a hardware device driver;  
 (d) freeing all allocated storage and resources;  
 (e) stopping all timers;  
 (f) eliminating module-wide exposure of support to applications;  
 (g) causing each adaptor to be offline and resetting each adaptor;  
 (h) disconnecting all previously connected interrupt request lines;  
 (i) destroying each adaptor object instance;  
 (j) destroying each adaptor's logical unit driver object instances;  
 (k) eliminating the exposure of logical unit support to applications; and  
 (i) freeing all allocated storage and resources.  
 
     
     
         11 . The computer based method of  claim 7  wherein said loading of a hardware adaptor with an emulated input/output device configuration further comprises: 
 (a) indicating said adaptor's unavailability;  
 (b) disconnecting client currently utilizing said adaptor;  
 (c) determining if adaptor should be online or offline to host processor;  
 (d) requesting actual or empty driver configuration for said adaptor predicated upon adaptor's online or offline status configuration;  
 (e) causing the adaptor to be offline to an associated channel;  
 (f) obviating each of said adaptor's logical unit driver object instances;  
 (g) eliminating exposure of logical unit support to applications;  
 (h) freeing all adaptor allocated storage and resources;  
 (i) determining if logical units are to be emulated;  
 (j) requesting said adaptor be brought online to an associated channel; and  
 (k) indicating said adaptor is availability for clients.  
 
     
     
         12 . The computer based method of  claim 7  wherein said establishing of a client connection further comprises: 
 (a) initializing client dependant variables;  
 (b) employing first software to effect a connection to a host dynamically linked library;  
 (c) retaining client name in said dynamically linked library;  
 (d) ascertaining authorized device types and security groups for said client;  
 (e) creating a new client object instance for said client;  
 (f) storing said client object in a user connection block;  
 (g) communicating to host dynamically linked library the command version level representing client's feature set;  
 (h) storing the client's command version level;  
 (i) sending to the host dynamically linked library emulated device type of interest;  
 (j) storing client's device type of interest;  
 (k) determining host dynamically linked library command version level;  
 (l) storing host dynamically linked libraries command version level;  
 (m) requesting currently available emulated devices of host dynamically linked library;  
 (n) returning response block in response to the client's request; and  
 (o) requesting from the host dynamically linked library to be connected to a logical unit.  
 
     
     
         13 . The computer based method of  claim 7  wherein said disconnecting of a previously connected client further comprises: 
 (a) closing logical unit connection;  
 (b) terminating threads created to perform input/output with the logical unit;  
 (c) setting the logical unit In-Use flag to “not in use”;  
 (d) setting the logical unit Client value to “none”;  
 (e) freeing all allocated storage and resources for said client object.  
 
     
     
         14 . The computer based method of  claim 7  wherein said execution of said administrative support protocol further comprises: 
 determining an instruction set sequence to execute based upon a user input command string; and  
 executing said determined instruction set sequence.  
 
     
     
         15 . A computer readable medium encoded with a computer program for facilitating the remote configuration and utilization of an emulated device controller via communication of encrypted data comprising: 
 (a) an instruction set for initializing an emulation server central processing unit;    (b) an instruction set for terminating communication with said emulation server central processing unit;    (c) an instruction set for loading a hardware adaptor with an emulated input/output device configuration;    (d) an instruction set for establishing a client connection;    (e) an instruction set for disconnecting a previously connected client; and,.    (f) an instruction set for executing an administrative support protocol.    
     
     
         16 . The computer program of  claim 15  wherein said instruction set for initializing an emulation server central processing unit further comprises: 
 (a) initializing module-wide variables utilized by a hardware device driver;  
 (b) enumerating hardware adaptors using said adaptor's vendor and device identifiers;  
 (c) initializing hardware adaptor-specific variables utilized by said driver;  
 (d) allocating and reserving said adaptor resources;  
 (e) resetting said adaptor;  
 (f) downloading microcode to said adaptor;  
 (g) initializing said adaptor;  
 (h) requesting said adaptor's connection to each unique interrupt request line;  
 (i) initiating an adaptor timer and timer support;  
 (j) exposing standard module-wide support to applications;  
 (k) initializing variables utilized by a host dynamically linked library;  
 (l) clearing a user connection block;  
 (m) exposing and making available to first software an adaptor specific administrative instruction set;  
 (n) creating a serialization mechanism to be used by configuration support routines;  
 (o) opening said driver;  
 (p) requesting from said driver the number of recognized adaptors;  
 (q) returning from said driver the number of adaptors in response to immediately preceding request;  
 (r) requesting from said driver its version number;  
 (s) returning driver version number in response to immediately preceding request;  
 (t) recording driver version and the number of adaptors controlled by said driver;  
 (u) indicating said adaptor's unavailability;  
 (v) loading said adaptor's offline status;  
 (w) loading said adaptor's activity status;  
 (x) loading a second inactive configuration data sequence; and  
 (y) ensuring loaded adaptor configuration is within operational ranges.  
 
     
     
         17 . The computer program of  claim 15  wherein said instruction set for terminating communication with said emulation server central processing unit further comprises: 
 (a) disconnecting each currently connected user;  
 (b) forcing recognized adaptors offline;  
 (c) closing a hardware device driver;  
 (d) freeing all allocated storage and resources;  
 (e) stopping all timers;  
 (f) eliminating module-wide exposure of support to applications;  
 (g) causing each adaptor to be offline and resetting each adaptor;  
 (h) disconnecting all previously connected interrupt request lines;  
 (i) destroying each adaptor object instance;  
 (j) destroying each adaptor's logical unit driver object instances;  
 (k) eliminating the exposure of logical unit support to applications; and  
 (l) freeing all allocated storage and resources.  
 
     
     
         18 . The computer program of  claim 15  wherein said instruction set for loading a hardware adaptor with an emulated input/output device configuration further comprises: 
 (a) indicating said adaptor's unavailability;  
 (b) disconnecting client currently utilizing said adaptor;  
 (c) determining if adaptor should be online or offline to host processor;  
 (d) requesting actual or empty driver configuration for said adaptor predicated upon adaptor's online or offline status configuration;  
 (e) causing the adaptor to be offline to an associated channel;  
 (f) obviating each of said adaptor's logical unit driver object instances;  
 (g) eliminating exposure of logical unit support to applications;  
 (h) freeing all adaptor allocated storage and resources;  
 (i) determining if logical units are to be emulated;  
 (j) requesting said adaptor be brought online to an associated channel; and  
 (k) indicating said adaptor is availability for clients.  
 
     
     
         19 . The computer program of  claim 15  wherein said instruction set for establishing a client connection further comprises: 
 (a) initializing client dependant variables;  
 (b) employing first software to effect a connection to a host dynamically linked library;  
 (c) retaining client name in said dynamically linked library;  
 (d) ascertaining authorized device types and security groups for said client;  
 (e) creating a new client object instance for said client;  
 (f) storing said client object in a user connection block;  
 (g) communicating to host dynamically linked library the command version level representing client's feature set;  
 (h) storing the client's command version level;  
 (i) sending to the host dynamically linked library emulated device type of interest;  
 (j) storing client's device type of interest;  
 (k) determining host dynamically linked library command version level;  
 (l) storing host dynamically linked library's command version level;  
 (m) requesting currently available emulated devices of host dynamically linked library;  
 (n) returning response block in response to the client's request; and  
 (o) requesting from the host dynamically linked library to be connected to a logical unit.  
 
     
     
         20 . The computer program of  claim 15  wherein said instruction set for disconnecting a previously connected client further comprises: 
 (a) closing logical unit connection;  
 (b) terminating threads created to perform input/output with the logical unit;  
 (c) setting the logical unit In-Use flag to “not in use”;  
 (d) setting the logical unit Client value to “none”;  
 (e) freeing all allocated storage and resources for said client object.  
 
     
     
         21 . The computer program of  claim 15  wherein said instruction set for executing an administrative support protocol further comprises: 
 determining an instruction set sequence to execute based upon a user input command string; and  
 executing said determined instruction set sequence.

Join the waitlist — get patent alerts

Track US2003200469A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.