SIMULATION FOR AUTHENTICATING SERVICE MACHINES

A method includes responsive to identifying an industrial machine requiring assistance from a service machine, identifying a location for the industrial machine, where the location associated with an industrial setting. The method further includes identifying a plurality of available service machines to provide assistance to the industrial machine and performing a simulation of each of the plurality of available service machines based on the assistance to the industrial machine and a policy for the location. The method further includes responsive to identifying a candidate service machine from the plurality of available service machines, determining a procedure performable by the candidate service machine, where the procedure provides assistance to the industrial machine. The method further includes performing the procedure for the candidate service machine.

BACKGROUND

This disclosure relates generally to authenticating service machines, and in particular to, authenticating service machines through simulation for interacting with an industrial machine.

Industrial machines are commonly utilized in manufacturing and warehouse settings for automating processes, where each of the industrial machines typical includes recommended maintenance intervals and a specified service life. Industrial machines typically operate for extended period of times without requiring maintenance, but instances can occur where an unexpected repair is required. An industrial machine is an example of a physical object that can be virtually represented as a digital twin. A digital twin allows for the virtual representation of the industrial object spanning the service life with updatable real-time data from the industrial object for utilization in a digital twin simulation with machine learning and reasoning to assist with decision making.

SUMMARY

Embodiments in accordance with the present invention disclose a method, computer program product and computer system for authenticating service machines through simulation the method, computer program product and computer system can, responsive to identifying an industrial machine requiring assistance from a service machine, identify a location for the industrial machine, wherein the location associated with an industrial setting. The method, computer program product and computer system can identify a plurality of available service machines to provide assistance to the industrial machine. The method, computer program product and computer system can perform a simulation of each of the plurality of available service machines based on the assistance to the industrial machine and a policy for the location. The method, computer program product and computer system can, responsive to identifying a candidate service machine from the plurality of available service machines, determine a procedure performable by the candidate service machine, wherein the procedure provides assistance to the industrial machine. The method, computer program product and computer system can perform the procedure for the candidate service machine.

DETAILED DESCRIPTION

Embodiments of the present invention provide an authentication of service machines through simulation for interacting with an industrial machine. The industrial machine represents any stationary or mobile machinery that is operational on an industrial floor, such as, a manufacturing or warehouse floor. Embodiments of the present invention identify an industrial machine currently located on the manufacturing or warehouse floor requiring assistance from a service machine and a current location for the industrial machine. The manufacturing or warehouse floor includes a policy with various rules and parameters for operating the industrial machine and any service machine assisting the industrial machine on the manufacturing or warehouse floor. Embodiments of the present invention identify service machines for assisting the industrial machine and perform a digital twin simulation on each of the identified service machines based on the assistance required by the industrial machine and the identified policy for the location. If a candidate service machine is available based on the results of the performed digital twin simulations, embodiments of the present invention determine a procedure for the candidate service machine and perform the procedure for the candidate service machine. Embodiments of the present invention monitor the procedure being performed by the candidate service machine and terminate the procedure being performed by the candidate service machine if a deviation from the procedure is detected.

Embodiments of the present invention provide various technological improvements in the general area of supply chains, specifically to efficiency and safety as it relating to industrial machinery on the manufacturing or warehouse floor. Industrial machinery typically operates for extended period of times without requiring maintenance, but instances can occur where an unexpected repair is required. Depending on the repair, the industrial machine may require removal with external service machinery (e.g., crane or lift) from the manufacturing or warehouse floor, or external service machinery may need to be brought in to perform the repair on the manufacturing or warehouse floor. To ensure down time is reduced, embodiments of the present invention utilize a digital twin simulation of the industrial machinery and the external service machinery to maximize efficiently and safety of the repair relative to a position in which the industrial machinery is located on the manufacturing or warehouse floor. Embodiments of the present invention identifies a candidate service machine for performing the repair and determines a procedure for the candidate service machine to perform the procedure efficiently and safely. Embodiments of the present invention monitor a progress of the procedure to identify any deviations from the procedure and terminate any procedure if a deviation is detected to maximize efficiency of the repair, while minimizing risk to the surrounding persons and area.

Distributed data processing environment includes server computer102, industrial machine104, and service machines106A,106B, and106N all interconnected over network108. Server computer102can be a standalone computing device, a management server, a web server, a mobile computing device, or any other electronic device or computing system capable of receiving, sending, and processing data. In other embodiments, server computer102can represent a server computing system utilizing multiple computers as a server system, such as in a cloud computing environment. In another embodiment, server computer102can be a laptop computer, a tablet computer, a netbook computer, a personal computer (PC), a desktop computer, a smart phone, or any programmable electronic device capable of communicating with industrial machine104, service machine106A,106B, and106N, and other computing devices (not shown) within the distributed data processing environment via network108. In another embodiment, server computer102represents a computing system utilizing clustered computers and components (e.g., database server computers, application server computers, etc.) that act as a single pool of seamless resources when accessed within the distributed data processing environment. Server computer102includes service machine assignment program110and database112. Server computer102may include internal and external hardware components, as depicted and described in further detail with respect toFIG.4.

Industrial machine104represents a physical system utilizing power to apply forces and control movements to perform an action in an industrial setting, such as, a manufacturing floor or a warehouse floor. Examples of industrial machine104include a power generator, a press-fit machine, a fluid pump, an exhaust fan, a conveyer, a spot weld machine, a programmable robotic arm, and any other physical system capable of performing an action in an industrial setting. For the embodiments disclosed herein, industrial machine104is positioned within the industrial setting (i.e., on the manufacturing or warehouse floor) in which the action is being performed. In other embodiments, industrial machine104is located outside of the industrial setting. Industrial machine104includes various configurable and serviceable mechanical and electrical components, where service machine106A,106B, and106N are available for configuring and servicing the mechanical and electronical components. Service machine106represents a physical system utilizing power to apply forces and control movements to perform an action with respect to industrial machine104. Examples of service machine106include a mobile crane, a powered forklift, a powered lift truck, a powered jack, and any other physical system capable of performing an action with respect to industrial machine104. The action performable by service machine106can include lifting industrial machine104, relocating industrial machine104, assembling components on industrial machine104, disassembling components on industrial machine104, or any other physically performable action on industrial machine104.

It is to be noted, service machine106represents a single physical system, where service machine106A represents a first physical system, service machine106B represents a second physical system, service machine106N represents an nthphysical system (e.g., fifth or tenth). Available service machines116include service machine106A,106B, and106N and represent the service machines for which service machine assignment program110can generate a digital twin and perform a digital twin simulation to identify a candidate service machine106to perform a procedure with respect to industrial machine104. Service machine106A,106B, and106N each respectively include microcontroller114A,114B, and114N for transmitting various data to service machine assignment program110via network108. The data service machine assignment program110receives from microcontroller114A,114B, and114N allows for a creation of a digital twin for each of service machine106A,106B, and106N and a digital twin simulation to identify a candidate service machine106to perform a procedure with respect to industrial machine104.

Network108can be, for example, a telecommunications network, a local area network (LAN), a wide area network (WAN), such as the Internet, or a combination of the three, and can include wired, wireless, or fiber optic connections. Network108can include one or more wired and/or wireless networks capable of receiving and transmitting data, voice, and/or video signals, including multimedia signals that include voice, data, and video information. In general, network108can be any combination of connections and protocols that will support communications between server computer102, industrial machine104, service machine106A,106B, and106N, and other computing devices (not shown) within the distributed data processing environment.

Service machine assignment program110identifies industrial machine104requiring assistance from service machine106and identifies a location for industrial machine104on a manufacturing or a warehouse floor. Service machine assignment program110identifies a policy for the location with industrial machine104, where the policy includes various rules and parameters for operating industrial machine104and any service machine106assisting industrial machine104on the manufacturing or warehouse floor. Service machine assignment program110identifies available service machines116for assistance and performs a digital twin simulation for each service machine106of available service machines116based on the identified policy for the location. Based on the digital twin simulation, service machine assignment program110identifies a candidate service machine (e.g., service machine106B) and determines a procedure for the candidate service machine performing one or more actions with respect to industrial machine104. Service machine assignment program110performs the procedure for the candidate service machine and monitors the progress to identify any deviations. If a deviation from the procedure for the candidate service machine is detected, service machine assignment program110terminates the procedure for the candidate service machine to ensure maximize efficiency of the action with respect to industrial machine104, while minimizing risk to the surrounding persons and area at the location.

Database112is a repository that stores various operational data from industrial machine104, service machine106A,106B, and106N, floorplans (e.g., manufacturing floor, warehouse floor), manufacturer operational specifications for each known service machine106A,106B, and106N, historical operational data for service machine106A,106B, and106N, maintenance history for industrial machine104, and any other data pertinent to service machine assignment program110identifying a candidate service machine for preforming a procedure with regards to industrial machine104. In the depicted embodiment, database112resides on server computer102. A database is an organized collection of data, where database112can be implemented with any type of storage device capable of storing data and configuration files that can be accessed and utilized by service machine assignment program110, such as a database server, a hard disk drive, or a flash memory.

FIG.2is a flowchart depicting operational steps of a service machine assignment program for authenticating a service machine through simulation for interacting with an industrial machine, in accordance with an embodiment of the present invention.

Service machine assignment program110identifies an industrial machine requiring assistance from a service machine (202). The industrial machine requiring assistance from the service machine represents an instance where an interaction is to occur between the industrial machine and the service machine, where the service machine is to perform a procedure with respect to the industrial machine. The industrial machine is positioned in an industrial location, such as, a manufacturing floor or a warehouse floor. In one embodiment, service machine assignment program110identifies an industrial machine (e.g., a spot weld machine) requiring assistance from a service machine (e.g., a powered jack) due to scheduled maintenance, where a pallet of supplies is to be brought to the industrial machine to perform the scheduled maintenance. In another embodiment, service machine assignment program110identifies an industrial machine (e.g., electrical generator) requires assistance from a service machine (e.g., a mobile crane) due to a component failure requiring repair, where the industrial machine requires the mobile crane to lift and remove the failed component. In yet another embodiment, service machine assignment program110identifies an industrial machine (e.g., a conveyer) requiring assistance from a service machine (e.g., a powered jack) due to the industrial machine being removed from the location. Due to the size of the industrial machine, service machine assignment program110identifies the industrial machine requires assistance from two separate service machine to remove the industrial item from the location.

Service machine assignment program110identifies a location for the industrial machine (204). In this embodiment, service machine assignment program110stories various floorplans for the industrial location in which the industrial machine is positioned. As mentioned above, the industrial location can be a manufacturing or a warehouse facility. Each floorplan can include a layout detailing various stationary industrial machines, movement paths of mobile industrial machines, walls, pillars, stairs, ramps, loading docks, weight limits, height restrictions, width restriction, and any other information that can affect how objects (e.g., industrial machine or service machines) are positioned or move within the floorplan. Based on the floorplan in which the industrial machine is located, service machine assignment program110identifies the location for the industrial machine utilizing a unique identifier (e.g., serial number) associated with the industrial machine requiring assistance. In other embodiments, service machine assignment program110identifies a location for the industrial machine utilizing a geolocation system, such as, a Wi-Fi position system (WPS) to identify a Wi-Fi network to which the industrial machine is connected and a position for the industrial machine within the identified Wi-Fi network.

Service machine assignment program110identifies a policy for the location with the industrial machine (206). The policy for the location includes various rules and parameters for operating the industrial machine and any service machine assisting the industrial machine on the manufacturing or warehouse floor. The rules can define authorized actions by the service machine at the location, restricted actions by the service machine at the location, one or more required safety features of the service machine, operator defined limitations (e.g., remove current industrial machine through a specified loading dock), and any other nonvalue-based limitations associated with the service machine, the industrial machine, and the location. The parameters are value-based limitations associated with the service machine, the industrial machines, and the location. The parameters can define weight restrictions at the location, height restrictions at the location, width restriction at the location, length restriction at the location, speed restrictions at the location, a minimum load capacity of the service machine, and maximum dimensions for the service machine.

Service machine assignment program110identifies available service machines for assistance (208). Service machine assignment program110identifies available service machines for assistance based on the industrial machine, the required assistance, the location, the policy, and a desired time for the required assistance. For example, an electrical generator is positioned on a manufacturing floor and service machine assignment program110previously identified the electrical generator as an industrial machine with a component failure requiring repair. Service machine assignment program110determines that a mobile crane (i.e., service machine) is required to lift and remove the failed component on the electrical generator. Service machine assignment program110identifies available mobile cranes for operating within the confines of the manufacturing floor. In another example, a spot weld machine is positioned on a manufacturing floor and service machine assignment program110previously identified the spot weld machine as an industrial machine with a due scheduled maintenance. Service machine assignment program110determines that a powered jack (i.e., service machine) is required to move a pallet of supplies to the spot weld machine on the manufacturing floor. Service machine assignment program110identifies available powered jacks for operating within the confines of the manufacturing floor. In yet another example, a conveyer machine is positioned on a warehouse floor and service machine assignment program110previously identified the conveyer as an industrial machine that is to be removed from the warehouse floor. Service machine assignment program110determines that a powered jack (i.e., service machine) is required to remove the conveyer machine from the warehouse floor. Service machine assignment program110identifies available powered jacks for operating within the confines of the warehouse floor.

Service machine assignment program110performs a simulation for each of the available service machines based on the identified policy for the location (210). In this embodiment, service machine assignment program110performs a digital twin simulation for each of the available service machines based on the identified policy for the location, where service machine assignment program110generates a digital twin of each of the available service machines based on known manufacturer specification data and historical operational sensory data. The digital twin simulation combines elements of Artificial Intelligence (AI) enabled simulation with cloud computing to create a digital environment (i.e., digital location) in which the industrial machine and service machine operate. Service machine assignment program110can utilize the manufacturer specification data and historical operational sensory data for each of the available service machines to perform the digital twin simulation to determine whether a service machine can perform a procedure with respect to the industrial machine at the location. Service machine assignment program110generates a digital twin of each available service machine, where the digital twin is a virtual model designed to accurately reflect each available service machine. Each available service machine (e.g., powered jack, mobile crane) include numerous sensors related to various functional areas that produce operational sensory data as the service machine operates. Service machine assignment program110utilizes the historical operational sensory data, along with a floorplan for the location from (204) and the identified policy for the location from (206), to simulate how the service machine will operate within the confines of the floorplan for the location while assisting the industrial machine. Performing the digital twin simulation allows for service machine assignment program110to determine whether each of the available service machines can assist the industrial machine by performing a procedure within the confines of the floorplan for the location.

Through the digital twin simulation, service machine assignment program110can identify any potential issue that might arise if a specific service machine was to perform the procedure within the confines of the floorplan for the location. Service machine assignment program110can identify a service machine which can perform the procedure within the confines of the floorplan for the location in the least amount of time with respect to the other available service machines, thus resulting in reduce downtime and adversely impacting productivity. Service machine assignment program110can identify potential hazardous situations for each of the available service machines performing the procedure within the confines of the floorplan for the location. For example, service machine assignment program110can identify instances where a specific service machine may approach or contact a stationary object (e.g., pillar or another industrial machine) at the location and determine that the specific service machine cannot perform the procedure without an increased risk for potential hazardous situations. Service machine assignment program110improves on efficiency and safety on the manufacturing or warehouse floor, thus result in various benefits to supply chains manufacturing and/or handling goods.

Service machine assignment program110determines whether a candidate service machine is available (decision212). In the event service machine assignment program110determines a candidate service machine is available (“yes” branch, decision212), service machine assignment program110determines a procedure for the candidate service machine (214). In the event service machine assignment program110determines a candidate service machine is not available (“no” branch, decision212), service machine assignment program110reverts to identifying available service machines for assistance (208). Service machine assignment program110determines whether a candidate service machine is available from the previously identified available service machines to assist the industrial machine based on the results of the digital twin simulation. Service machine assignment program110authenticates whether a specific service machine from the available service machines can perform a procedure of assisting the industrial machine and subsequent to authentication, service machine assignment program110determines that the specific service machine is a candidate service machine for performing the procedure of assisting the industrial outside of the digital twin simulation (i.e., a physical setting). For instances where service machine assignment program110determines multiple candidate service machines are available, service machine assignment program110can select a single candidate service machine based on defined parameters and/or a selection by an operation. Defined parameters can include selecting a candidate service machine that performed the procedure in the digital twin simulation in the least amount of time or selecting a candidate service machine with the lowest risk for potential hazardous situations.

Service machine assignment program110determines a procedure for the candidate service machine (214). Service machine assignment program110determines a procedure for the candidate service machine based on the industrial machine, the location, and the policy for the location. The procedure dictates actions to be taken by the candidate service machine while assisting the industrial machine located on the manufacturing or warehouse floor. For the procedures, service machine assignment program110can determine a movement path for the candidate service machine to ensure efficient and safe movement of the candidate service machine through the floorplan at the location with the industrial machine. Service machine assignment program110can also determine configurations for the candidate service machine as the candidate service machine moves across the movement path. For example, if a low support beam is present along the movement path, service machine assignment program110determines to configure the candidate service machine by instructing a mobile crane (i.e., the candidate service machine) to rotate and lower a boom to avoid striking the low support beam along the movement path. Service machine assignment program110can identify an operator provided rules or instructions for inclusion into the procedure. For example, if the industrial machine is to be relocated within a warehouse floor, service machine assignment program110can receive the operator provided instructions that includes a new location and a relocation movement path for the candidate service machine for assisting the industrial machine with the relocation within the warehouse floor.

Service machine assignment program110performs the procedure for the candidate service machine (216). In one embodiment, service machine assignment program110performs the procedure for the candidate service machine by instructing the candidate service machine to perform the procedure of assisting the industrial machine, where the candidate service machine operates in an autonomous, semi-autonomous, or manual manner with a designated operator. Service machine assignment program110can send the procedure directly to the candidate service machine and/or a device associated with the designated operator of the candidate service machine. To ensure the correct candidate eservice machine is utilized to perform the procedure, service machine assignment program110can assign an authentication key to the procedure based on a unique identifier (e.g., serial number) for the candidate service machine performing the procedure and verify the authentication key for the candidate service machine. In another embodiment, service machine assignment program110performs the procedure for the candidate service machine by remotely operating the candidate service machine and assisting the industrial machine based on the determined procedure. Service machine assignment program110monitors a progress of the candidate service machine to ensure no deviation is occurring from the procedure.

Service machine assignment program110determines whether a deviation from the procedure has occurred by the candidate service machine (decision218). In the event service machine assignment program110determines a deviation from the procedure has occurred (“yes” branch, decision218), service machine assignment program110terminates the procedure for the candidate service machine (220). In the event service machine assignment program110determines a deviation from the procedure has not occurred (“no” branch, decision218), service machine assignment program110continues to perform the procedure from the candidate service machine (216).

A deviation from the procedure can include a breach of the designated movement path by the candidate service machine, an incorrect configuration of the candidate service machine, an incorrect action taken by the candidate service machine (e.g., slide versus lift), an exceeding of a designated speed, and a shock outside of an operating range (e.g., an impact) experienced by the candidate service machine. In one example, service machine assignment program110monitors a procedure being performed by a mobile crane (i.e., candidate service machine) to assist with a failed component repair on an electrical generator (i.e., industrial machine). As the procedure is being performed by the mobile crane, service machine assignment program110determines a deviation from the procedure has occurred by the mobile crane when a boom was extended beyond a predetermined amount, which can strike low support beam based on the layout for the manufacturing floor at the location. In another example, service machine assignment program110monitors a procedure being performed by a powered jack (i.e., candidate service machine) to assist with schedule maintenance on a spot weld machine (i.e., industrial machine). As the procedure is being performed by the powered jack, service machine assignment program110determines a deviation from the procedure has occurred by the powered jack when an operator of the powered jack deviated from a designated movement path. In yet another example, service machine assignment program110monitors a procedure being performed by a powered jack (i.e., candidate service machine) to assist with a removal of a conveyer (i.e., industrial machine) from a warehouse floor. As the procedure is being performed by the powered jack, service machine assignment program110determines a deviation from the procedure when a load limit on the powered jack was exceeded due to unforeseen loads being applied to the powered jack in addition to the weight of the conveyer being moved.

Service machine assignment program110terminates the procedure for the candidate service machine (220). Service machine assignment program110terminates the procedure for the candidate service machine to ensure the safety of the operator and/or users in the surrounding area of the candidate service machine, to protect the surrounding area from damage by the candidate service machine, and to protect the candidate service machine from damage. In one embodiment, service machine assignment program110instructs the candidate service machine to perform an emergency stop function, where service machine assignment program110requires input from an operator to manually override the emergency stop function. In another embodiment, service machine assignment program110terminates the procedure but allows for the candidate service machine to continue operating in a semi-autonomous or manual manner. Service machine assignment program110can track each instance of a deviation from the procedure and generate a report with a list of the deviation from the procedure. Service machine assignment program110can send the report with the list of the deviation from the procedure to a location supervisor and/or a supervisor of the operator for the candidate service machine.

FIG.3Aillustrates an overhead view of a movement path associated with a procedure for a candidate service machine, in accordance with an embodiment of the present invention. As previously discussed, service machine assignment program110determines a procedure for service machine106A (i.e., candidate service machine) based on industrial machine104, a location of industrial machine104, and a policy for the location of industrial machine104. The procedure dictates actions to be taken by service machine106A while assisting industrial machine104located on a manufacturing floor at the location. For the procedures, service machine assignment program110utilizes floorplan300for the manufacturing floor to determine movement path304for service machine106A to ensure efficient and safe movement of service machine106A through floorplan300at the location. Floorplan300includes locations for pillars306and wall308, through which service machine106A cannot pass through. Floorplan300also includes a location for support tables312A,312B,312C,312D,312E, and312F, where industrial machine104is positioned on support table312A and service machine106A cannot pass through support tables312A,312B,312C,312D,312E, and312F. Service machine assignment program110generates movement path304with boundaries310and312on which service machine106A is to travel to assist industrial machine104.

FIG.3Billustrates an overhead view of a deviation of the movement path associated with a procedure for a candidate service machine, in accordance with an embodiment of the present invention. As service machine106A performs a procedure by traveling to assist industrial machine104, service machine assignment program110monitors the movement and configuration of service machine106A. Service machine assignment program110determines a deviation from the procedure for service machine106A has occurred when service machine106A crosses boundary312of movement path304. Service machine assignment program110terminates the procedure for service machine106A to ensure the safety of the operator and/or users in the surrounding area of service machine106A, to protect the surrounding area (e.g., pillars306and wall308) from damage by service machine106, and to protect service machine106A from damage.

In various embodiments of the present invention, service machine assignment program110can receive a digital twin model of a service machine and simulate against an activity (e.g., repair, removal) performable on a manufacturing or warehouse floor with regards to an industrial machine. Based on the simulation, service machine assignment program110can authorize the service machine on the manufacturing or warehouse floor if the digital twin simulation identifies a candidate service machine to perform the activity as per a policy as defined for the manufacturing or warehouse floor. Service machine assignment program110can analyze the method of performing the activity on the manufacturing or warehouse floor by the service machine with associated accessories and service machine assignment program110can authenticate the service machine with associated accessories (e.g., hoist). Service machine assignment program110can send corrections or alterations to apply to the service machine to allow the service machine onto the manufacturing or warehouse floor to perform the activity. Furthermore, service machine assignment program110can include a list of additional external accessories (e.g., additional hoist to assist with lifting or rubberized wheels to prevent damage to the manufacturing floor) required for the service machine to perform the activity and can authorize the procedure. Service machine assignment program110can receive the digital twin model of the service machine and simulate the activity on the manufacturing or warehouse floor to identify a level of access to perform the activities in the surrounding area (e.g., the external machine is allowed to remove the machine but will not be allowed to install a new machine).

FIG.4depicts computer system400, where server computer102is an example of a computer system400that includes service machine assignment program110. The computer system includes processors404, cache416, memory406, persistent storage408, communications unit410, input/output (I/O) interface(s)412and communications fabric402. Communications fabric402provides communications between cache416, memory406, persistent storage408, communications unit410, and input/output (I/O) interface(s)412. Communications fabric402can be implemented with any architecture designed for passing data and/or control information between processors (such as microprocessors, communications and network processors, etc.), system memory, peripheral devices, and any other hardware components within a system. For example, communications fabric402can be implemented with one or more buses or a crossbar switch.

Memory406and persistent storage408are computer readable storage media. In this embodiment, memory406includes random access memory (RAM). In general, memory406can include any suitable volatile or non-volatile computer readable storage media. Cache416is a fast memory that enhances the performance of processors404by holding recently accessed data, and data near recently accessed data, from memory406.

Program instructions and data used to practice embodiments of the present invention may be stored in persistent storage408and in memory406for execution by one or more of the respective processors404via cache416. In an embodiment, persistent storage408includes a magnetic hard disk drive. Alternatively, or in addition to a magnetic hard disk drive, persistent storage408can include a solid state hard drive, a semiconductor storage device, read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, or any other computer readable storage media that is capable of storing program instructions or digital information.

Communications unit410, in these examples, provides for communications with other data processing systems or devices. In these examples, communications unit410includes one or more network interface cards. Communications unit410may provide communications through the use of either or both physical and wireless communications links. Program instructions and data used to practice embodiments of the present invention may be downloaded to persistent storage408through communications unit410.

I/O interface(s)412allows for input and output of data with other devices that may be connected to each computer system. For example, I/O interface412may provide a connection to external devices418such as a keyboard, keypad, a touch screen, and/or some other suitable input device. External devices418can also include portable computer readable storage media such as, for example, thumb drives, portable optical or magnetic disks, and memory cards. Software and data used to practice embodiments of the present invention can be stored on such portable computer readable storage media and can be loaded onto persistent storage408via I/O interface(s)412. I/O interface(s)412also connect to display420.

Characteristics are as follows:

Service Models are as follows:

Deployment Models are as follows:

Hardware and software layer60include hardware and software components. Examples of hardware components include: mainframes61; RISC (Reduced Instruction Set Computer) architecture based servers62; servers63; blade servers64; storage devices65; and networks and networking components66. In some embodiments, software components include network application server software67and database software68.