|Publication number||US6823513 B1|
|Application number||US 09/561,186|
|Publication date||Nov 23, 2004|
|Filing date||Apr 27, 2000|
|Priority date||Apr 27, 2000|
|Publication number||09561186, 561186, US 6823513 B1, US 6823513B1, US-B1-6823513, US6823513 B1, US6823513B1|
|Inventors||Michael R. McNally, John William Sweitzer|
|Original Assignee||International Business Machines Corporation|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (15), Referenced by (32), Classifications (9), Legal Events (7)|
|External Links: USPTO, USPTO Assignment, Espacenet|
The following patent application, having the same inventorship, assigned to the assignee of the present invention and filed concurrently herewith, covers subject matter related to the subject matter of the present invention: “A SYSTEM FOR ASSIGNING DATA PROCESSING ACTIVITIES TO USERS THROUGH AN INTERACTIVE DISPLAY INTERFACE DYNAMICALLY GRANTING ACCESS ONLY DURING ACTIVITY TO NORMALLY INACCESSIBLE RESOURCES NEEDED FOR ACTIVITY”, Ser. No. 09/561,185.
The present invention relates to workflow management and distribution processes systems and particularly to the protection of the computer resources used in executing and carrying out the various workflow activities assigned to the participants or operators in the overall process.
The 1990's have been marked by a technological revolution driven by the convergence of the data processing industry with the consumer electronics industry. The effect has, in turn, driven technologies which have been known and available but relatively quiescent over the years. A major one of these technologies is the Internet or World Wide Web (Web) related distribution of documents, programs, media and all other data processing entities. The convergence of the electronic entertainment and consumer industries with data processing exponentially accelerated the demand for wide ranging communication distribution channels and the Web or Internet, which had quietly existed for over a generation as a loose academic and government data distribution facility, reached “critical mass” and commenced a period of phenomenal expansion.
As a result of this expansion, extraordinary worldwide communication channels and resources have become available to businesses, and this has commenced an era which should forever change how business processes are conducted.
The era is marked by what may be referred to as “virtual enterprises”, i.e. businesses relying on workflow distribution processes to conduct their business. Conventionally, business processes have been carried out completely within the limits of a company. The processes begin and are completed within the company boundaries. External requests came into the company as faxes, phone calls, postal mail and even electronic mail. These requests are then forwarded to appropriate personnel who initiate the internal process to handle the request. When the appropriate business processes are completed, the final actions are taken, such as shipping the goods out of the company, followed by appropriate phone calls, mail or faxes from the shipping company. Status inquiries were handled by internal people.
However, globalization has driven businesses away from these more leisurely methods of doing business. Now, with the Internet and like wide area networks, the business processes of customers and suppliers routinely interact with a minimum of human intervention. These interactions may range from simple inquiries to complex interactions between companies to situations where organizational units of different companies are related by sharing data and business processes so that they operate like independent or virtual enterprises. The companies no longer have to use phone calls or mail orders to do business with each other. Through the use of networks such as the Internet, business processes of different companies handle each others' requests without any manual intervention; no interaction is required to a have one business process talk to another business process of a different company.
However, this collaboration between different organizations and companies requires the sharing of resources such as business processes and databases. Basically, the interaction between two or more businesses may be reduced to a business process where each activity in the process is performed by a participating company. Each participating company has to make available to one or more of the others, the databases and other resources which the others may need to complete their activity. In present practice, the Internet or like network provides the communication backbone for running the processes and accessing the databases and other resources.
These collaborative processes are computer controlled and are called workflow processes or workflow distribution processes. For the present state of the workflow distribution art, reference may be made to the text, Production Workflow. Concepts and Techniques, Frank Leymann et al., published 2000, Prentice Hall, N.J.
While workflow distribution processes have been very successful in accelerating the business processes and production, the sharing of data, business processes and other resources between participants, which are likely to be different companies, has presented extensive proprietary data and resource security problems. Many of the participants cooperating on one workflow process are likely to either be competitors or associated with competitors in many other business areas.
Consequently, there is a continuing need in the field of workflow distribution processes for systems and methods for limiting access of workflow process participants to resources which are proprietary to other participants. In addition, because the activities to be carried out are often distributed to a wide variety of people of different business and technical backgrounds, and perhaps nationalities, the access limitations must be presented to the users or activity operators through an easy user-intuitive interface.
The present invention provides a method and system for limiting access to resources to each of a plurality of operators having assigned activities in an overall workflow distribution, to computer resources needed to respectively complete each activity through a computer controlled interactive display interface which is easy to use and intuitive yet minimizes the risk of loss of resources which are proprietary to the provider of the resource.
In a workflow distribution process with a plurality of users or participants, which we will refer to as operators at a plurality of computer controlled display stations, there is provided at the workflow management source, means for respectively assigning activities to each of a plurality of operators and means for designating for each of said activities at least one computer resource necessary to respectively complete each of said activities.
Then, there is displayed to each of the operators at their respective display stations, a set of elements, each representing a designated computer resource accessible to said operator to carry out said assigned activity. In order that the operator does not have access to the resources designated to complete an assigned activity for any time beyond the completion of the activity, there is provided means for determining the completion of each of said assigned activities, and means responsive to this determining means for removing from the display the elements representing the designated computer resources for each respective activity responsive to a determination that said respective activity is completed.
In addition, there may be provided to each of said operators access to a plurality of basic computer resources without limitation to any assigned activity so that the present computer resources made accessible to operators for carrying out said assigned activities boost the basic resources already provided to the respective operators. This basic set of resources is available to the operator irrespective of any assigned activities, and is displayed as a basic set of elements each representing a basic computer resource selectively accessible by said operator. If in executing his assigned activity, the operator finds that he needs access to an additional resource, he may, through his display interface, request access to an additional computer resource prior to the completion of an assigned activity. Means are provided for designating such additional access by adding an element representative of said additional resource to the designated set of elements.
The present invention will be better understood and its numerous objects and advantages will become more apparent to those skilled in the art by reference to the following drawings, in conjunction with the accompanying specification, in which:
FIG. 1 is a generalized flow diagram of a typical workflow distribution system which is modifiable to practice the process of the present invention;
FIG. 2 is a generalized network setup on which the workflow distribution system of FIG. 1 may be carried out and including the process of the present invention;
FIG. 3 is a block diagram of a data processing system including a central processing unit and network connections via a communications adapter which is capable of functioning as the display terminal and server of FIG. 2 on which the workflow process may be developed and managed as well as any of the receiving display stations used by the operators or participants to execute their assigned activities;
FIG. 4 is a diagram of an interactive display screen on which the developer of a workflow process may select activities and parameters and assign such activities to operators along with access to selected resources for the operator only during execution of the assigned activities;
FIG. 5 is a diagram of an interactive display screen presented to an operator who has an assigned activity;
FIG. 6 is a diagram of the interactive display screen of FIG. 5 after the operator has selected one of his listed assigned activities;
FIG. 7 is the display screen of FIG. 6, after the operator has selected to perform or execute one of the activities;
FIG. 8 is the display screen of FIG. 7, after the operator has completed the execution of the assigned activity;
FIG. 9 is a flowchart of an illustrative run of the development and assignment of activities in workflow process according to the present invention;
FIG. 10 is a flowchart of an illustrative run of the execution of an assigned activity in workflow process according to the present invention; and
FIG. 11 is a flowchart of a routine in the present invention for increasing the resources designated to operators executing assigned activities.
By way of background, FIG. 1 shows the development and running of a typical workflow distribution process. It consists of three primary aspects: 1) the build time during which the developer or editor 52 determines the activity types 50 which must be done to implement the process, as well as the workflow participants 51 who will be carrying out the various activity types. As will be hereinafter described, the developer uses process definition tools made available to him through a computer display graphical user interface. 2) The resulting process definitions 53 are stored in a workflow enactment or management service usually in connection with a server computer which will control the workflow distribution in accordance with the process definitions. 3) The workflow at run time is commenced from a workflow client application through a workflow initiator 55 which starts the process and commences the running of processes 54 under the control of the workflow enactment service. The running processes assign activities to the workflow participants 56 which in turn invoke the appropriate applications to do the work required by the activities.
FIG. 2 is a generalized network setup on which the workflow distribution system of FIG. 1 may be carried out and includes the process of the present invention. A workflow process developer may define the process through the display interface of a workstation 60. The process definitions may be stored in association with server 61 through which the workflow process may be managed. The activities are assigned to participants or operators through a group of network receiving display stations 62, 63 and 64, through which the participants 1 through n respectively execute their activities. The network shown in FIG. 2 may be the Internet with the developer developing the various workflow processes at a sending or source terminal, and the workflow activities being distributed through managing servers to the participants at client display stations on the Internet who execute such assigned activities.
Referring to FIG. 3, a typical computer controlled display system is shown which may function as the computer controlled display terminals 62-64 (FIG. 2) or Internet stations used as any of the receiving stations for the participants executing activities. The system shown is also illustrative of any of the developers' workstations on which the workflow processes may be defined. The display system of FIG. 3 may also be used for the workflow management servers used in controlling the execution of assigned activities.
A central processing unit (CPU) 10, may be one of the commercial PC microprocessors; when the system shown is used by the workflow process editor or developer or as the server computer for managing the running or distribution of workflow activities to participants, then a workstation is preferably used, e.g. RISC System/6000™ (RS/6000) series available from International Business Machines Corporation (IBM). The CPU is interconnected to various other components by system bus 12. An operating system 41 runs on CPU 10, provides control and is used to coordinate the function of the various components of FIG. 3. Operating system 41 may be one of the commercially available operating systems such as the AIX 6000™ operating system available from IBM; Microsoft's Windows 98™ or Windows NT™, as well as UNIX and AIX operating systems. Application programs 40, controlled by the system, are moved into and out of the main memory Random Access Memory (RAM) 14. These programs include the programs of the present invention for controlling the allocation or designation of resources to participants or operators who are carrying out the assigned workflow activities requiring such resources. A Read Only Memory (ROM) 16 is connected to CPU 10 via bus 12 and includes the Basic Input/Output System (BIOS) that controls the basic computer functions. RAM 14, I/O adapter 18 and communications adapter 34 are also interconnected to system bus 12. I/O adapter 18 may be a Small Computer System Interface (SCSI) adapter that communicates with the disk storage device 20. Communications adapter 34 interconnects bus 12 with an outside network enabling the computer system to communicate with other such computers over a Local Area Network (LAN) or through the Web or Internet. The latter two terms are meant to be generally interchangeable and are so used in the present description of the distribution network. I/O devices are also connected to system bus 12 via user interface adapter 22 and display adapter 36. Keyboard 24 and mouse 26 are all interconnected to bus 12 through user interface adapter 22. It is through such input devices that the workflow process developer at his workstation or participant/operators at receiving display stations may interactively relate to the network in order to access assigned activities and the resources designated or permitted to the operator in the execution of such activities. Display adapter 36 includes a frame buffer 39, which is a storage device that holds a representation of each pixel on the display screen 38. Images may be stored in frame buffer 39 for display on monitor 38 through various components, such as a digital to analog converter (not shown) and the like. By using the aforementioned I/O devices, a user is capable of inputting information to the system through the keyboard 24 or mouse 26 and receiving output information from the system via display 38.
FIG. 4 is a diagrammatic view of a display screen interface which is made available to the workflow process developer so that he may assign access to resources needed to complete assigned activities. The display interface 70 includes data entry fields 71 for identifying the activity, for invoking the program 72 to which the activity is directed and the program location 73, defined execution parameters 74, the inputs provided 75 and the desired outputs 76 which should result from the execution of the activity. In addition, the workflow process developer must, for each activity, predetermine what privileges 77, i.e. access to resources the operator or participant to whom the activity is assigned will need in order to execute the activity. These privileges are access to resources, most often proprietary databases or application programs. It is with respect to such resources that the present invention applies. As will be hereinafter set forth in greater detail, the participant only gets access during the period of time that he is executing the assigned activity.
FIGS. 5 through 8 are diagrammatic illustrations of the display screens which may be presented to the participants or operators executing assigned activities during the execution of such activities.
FIG. 5 shows a simplified display interface 80 which could be presented to an operator on his receiving display, for a particular workflow process, he has been assigned, let us say three activities, A through C, to complete which are listed in list 82. Irrespective of the activities, the operator already has unlimited access to resources respectively represented by elements R1 through Rn in bar 81. In the next stage of the displayed process, FIG. 6, the operator has selected activity B, item 83 on list 82. Menu 84 pops up offering the operator the choice of viewing or commencing the performance, i.e. execution of activity B. When he selects perform, this results in the display screen of FIG. 7 where menu 85 appears with interactive elements 86-88, R-A, R-B and R-C which represent additional resources which the operator has interactive access to through this interface only during the execution of Activity B. There is also an element 89 through which the operator may request access to even further resources which he believes that he will need to complete Activity B. This function will be subsequently described in greater detail with respect to FIG. 11.
In any event, let us assume that the operator using the resources available to him through screen 80 in FIG. 7 and via a sequence of work display screens, not shown, completes the execution of Activity B, his display now returns to the display screen of FIG. 8 where Activity B is indicated as completed and resource menu 85 has been removed so that the operator no longer can access resources R-A, R-B and R-C.
With reference to the flowchart of FIG. 9, there will be described first an illustrative process of how the developer of a workflow process sets up the activities and their attendant resources in accordance with the present invention. The developer selects the next activity which is to be assigned, step 90, in the carrying out of the workflow process. A determination is then made as to whether the activity requires resources which would normally be inaccessible to the selected participant, step 92. If Yes, step 93, a routine is set up by the developer so that the security system used in the network on which the workflow is being carried will grant access, i.e. provide access privileges to the selected participant but only for the period of time during which the assigned activity is being executed by that participant. Any conventional security system usable for workflow processes may be implemented to provide security. Reference is made to pages 300-301 of the above-mentioned Production Workflow. Concepts and Techniques text for a discussion of applicable security management. In general, workflow processes may conveniently use the security systems available in the operating systems being used for the server and client computers in the network where the workflow is being distributed. When the assigned activity is sent to the participant, it will be accompanied by appropriate privileges, i.e. access to needed resources as described above during the carrying out of the workflow process, as will be hereinafter described with respect to FIG. 10. The data as to participant, activity and accessible resources may be stored in association with a network server in which the workflow management accumulates the data being developed and then manages the workflow through the distribution of activities for execution.
Next, or in the case that no inaccessible resources need to be designated, the flow goes to step 95 where a determination is then made as to whether the last activity in the process has been developed. If No, the flow is returned to step 90 where the next activity is selected. If Yes, the workflow development process is completed and exited.
With respect to FIG. 10, there will now be described a running of an assigned activity. The activity is sent to the operator from the workflow process manager, step 101. The assigned activities are displayed at the operator's display terminal, step 102 (display of FIG. 5). Step 103 determines when the operator selects one of the activities (display of FIG. 6). Based upon the developer's set up, the system security grants access to the normally inaccessible resources needed to perform the activity, step 104. These needed resources are added to the operator's display interface, step 105 (display of FIG. 7). Since access to these designated resources is granted only during the execution of the assigned activity, the time of execution is monitored, step 106. When the execution is over, the display of the designated resources is removed, step 107 (display of FIG. 8). Consequently, the operator has no interface through which he may access the resources, and the activity execution session for the selected activity is over.
It may happen in the execution of a particular activity, the operator may believe that he requires access to an additional resource in order to execute a selected activity. FIG. 11 illustrates a typical dialog which may occur between the operator and the workflow process manager to obtain the additional resource. When it is determined that the operator has requested an additional resource, step 111 (e.g. by pressing the More button 89, in display of FIG. 7), the request is sent to the process manager, step 112. At this point, a dialog between the operator and the workflow process manager may ensue, the details of which are not pertinent to the description of the present invention. If it is determined, step 113, that access to the additional resource should be granted, then, step 114, the additional resource is added to the interactive representations of available resources in menu 85, FIG. 7. At this point, or if the additional resource is not granted, the process is returned to point A, FIG. 10, step 115, and the execution of the activity is continued.
A convenient implementation of the present invention is in an application program 40 made up of programming steps or instructions resident in RAM 14, FIG. 3, of the process management server computers during various operations. Until required by the computer system, the program instructions may be stored in another readable medium, e.g. in disk drive 20, or in a removable memory such as an optical disk for use in a CD ROM computer input, or in a floppy disk for use in a floppy disk drive computer input. Further, the program instructions may be stored in the memory of another computer prior to use in the system of the present invention and transmitted over a LAN or a WAN, such as the Internet, when required by the user of the present invention. One skilled in the art should appreciate that the processes controlling the present invention are capable of being distributed in the form of computer readable media of a variety of forms.
Although certain preferred embodiments have been shown and described, it will be understood that many changes and modifications may be made therein without departing from the scope and intent of the appended claims.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US5752031 *||Apr 24, 1995||May 12, 1998||Microsoft Corporation||Queue object for controlling concurrency in a computer system|
|US5754857 *||Dec 8, 1995||May 19, 1998||Sun Microsystems, Inc.||Distributed asynchronous workflow on the net|
|US5774661 *||Apr 18, 1995||Jun 30, 1998||Network Imaging Corporation||Rule engine interface for a visual workflow builder|
|US5790868 *||Jun 7, 1995||Aug 4, 1998||Tandem Computers, Inc.||Customer information control system and method with transaction serialization control functions in a loosely coupled parallel processing environment|
|US5918226 *||Jan 11, 1996||Jun 29, 1999||Nec Corporation||Workflow system for operating and managing jobs with predicting future progress of workflow job|
|US5937388 *||Mar 21, 1997||Aug 10, 1999||Hewlett-Packard Company||System and method for performing scalable distribution of process flow activities in a distributed workflow management system|
|US5940804 *||Dec 18, 1996||Aug 17, 1999||Turley; William N.||Computer executable workflow resource management system|
|US5999911 *||Jun 2, 1995||Dec 7, 1999||Mentor Graphics Corporation||Method and system for managing workflow|
|US6055637 *||Sep 27, 1996||Apr 25, 2000||Electronic Data Systems Corporation||System and method for accessing enterprise-wide resources by presenting to the resource a temporary credential|
|US6058413 *||May 13, 1997||May 2, 2000||Action Technologies, Inc.||Method and apparatus for utilizing a standard transaction format to provide application platform and a medium independent representation and transfer of data for the management of business process and their workflows|
|US6088679 *||Dec 1, 1997||Jul 11, 2000||The United States Of America As Represented By The Secretary Of Commerce||Workflow management employing role-based access control|
|US6151583 *||Sep 26, 1997||Nov 21, 2000||Hitachi, Ltd.||Workflow management method and apparatus|
|US6349238 *||Sep 16, 1998||Feb 19, 2002||Mci Worldcom, Inc.||System and method for managing the workflow for processing service orders among a variety of organizations within a telecommunications company|
|US6493675 *||Nov 13, 1998||Dec 10, 2002||Fujitsu Limited||Apparatus and system for managing work flow, and computer-readable storage medium for storing work flow management program|
|US6631354 *||Dec 1, 1999||Oct 7, 2003||International Business Machines Corporation||Deriving and running workload manager enclaves from workflows|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US7207069 *||Jun 5, 2001||Apr 17, 2007||Hewlett-Packard Development Company, L.P.||Branch locking of job tickets to control concurrency|
|US7228547||Jul 30, 2001||Jun 5, 2007||International Business Machines Corporation||Method, system, and program for enabling access to a plurality of services|
|US7266764 *||Nov 7, 2001||Sep 4, 2007||Sparta Systems, Inc.||Graphical user interface for automated process control|
|US7296056 *||Jul 30, 2001||Nov 13, 2007||International Business Machines Corporation||Method, system, and program for selecting one user to assign a work item in a workflow|
|US7673047||May 12, 2006||Mar 2, 2010||Oracle International Corporation||Determining a user's groups|
|US7698427||Jul 30, 2001||Apr 13, 2010||International Business Machines Corporation||Method, system, and program for transferring data from an application engine|
|US7711818||Nov 30, 2001||May 4, 2010||Oracle International Corporation||Support for multiple data stores|
|US7802174 *||Nov 30, 2001||Sep 21, 2010||Oracle International Corporation||Domain based workflows|
|US7840658||May 15, 2002||Nov 23, 2010||Oracle International Corporation||Employing job code attributes in provisioning|
|US7840934 *||Aug 29, 2001||Nov 23, 2010||Hewlett-Packard Development Company, L.P.||Method and system for integrating workflow management systems with business-to-business interaction standards|
|US7885847 *||May 7, 2004||Feb 8, 2011||Sap Ag||End user oriented workflow approach including structured processing of ad hoc workflows with a collaborative process engine|
|US7937655||Nov 30, 2001||May 3, 2011||Oracle International Corporation||Workflows with associated processes|
|US8015600||Nov 30, 2001||Sep 6, 2011||Oracle International Corporation||Employing electronic certificate workflows|
|US8131663||Oct 13, 2008||Mar 6, 2012||Bonamy Taylor||Apparatus for generating software logic rules by flowchart design|
|US8140691 *||Oct 7, 2004||Mar 20, 2012||International Business Machines Corporation||Role-based views access to a workflow weblog|
|US8239238 *||Mar 21, 2005||Aug 7, 2012||Microsoft Corporation||Methods and apparatus for encoding a work item type definition|
|US8417682||Apr 28, 2005||Apr 9, 2013||International Business Machines Corporation||Visualization of attributes of workflow weblogs|
|US8423394||Dec 12, 2003||Apr 16, 2013||International Business Machines Corporation||Method for tracking the status of a workflow using weblogs|
|US9235649||Aug 10, 2010||Jan 12, 2016||Oracle International Corporation||Domain based workflows|
|US20020138577 *||Nov 30, 2001||Sep 26, 2002||Teng Joan C.||Domain based workflows|
|US20020161823 *||Apr 25, 2001||Oct 31, 2002||Fabio Casati||Dynamically defining workflow processes using generic nodes|
|US20020184518 *||Jun 5, 2001||Dec 5, 2002||Foster Ward S.||Branch locking of job tickets to control concurrency|
|US20030023472 *||Jul 30, 2001||Jan 30, 2003||International Business Machines Corporation||Method, system, and program for transferring data from an application engine|
|US20030023662 *||Jul 30, 2001||Jan 30, 2003||International Business Machines Corporation||Method, system, and program for enabling access to a plurality of services|
|US20030023728 *||Jul 30, 2001||Jan 30, 2003||International Business Machines Corporation||Method, system, and program for selecting one user to assign a work item in a workflow|
|US20030083910 *||Aug 29, 2001||May 1, 2003||Mehmet Sayal||Method and system for integrating workflow management systems with business-to-business interaction standards|
|US20040019514 *||Oct 4, 2002||Jan 29, 2004||Sun Microsystems, Inc., A Delaware Corporation||Submitting and monitoring jobs in peer-to-peer distributed computing|
|US20050027585 *||May 7, 2004||Feb 3, 2005||Sap Ag||End user oriented workflow approach including structured processing of ad hoc workflows with a collaborative process engine|
|US20050131750 *||Dec 12, 2003||Jun 16, 2005||International Business Machines Corporation||Method for tracking the status of a workflow using weblogs|
|US20050132048 *||Oct 7, 2004||Jun 16, 2005||International Business Machines Corporation||Role-based views access to a workflow weblog|
|US20050198021 *||Apr 28, 2005||Sep 8, 2005||International Business Machines Corporation||Visualization of attributes of workflow weblogs|
|US20060247964 *||Mar 21, 2005||Nov 2, 2006||Microsoft Corporation||Methods and apparatus for encoding a work item type definition|
|U.S. Classification||718/104, 726/3|
|International Classification||G06Q10/06, G06F9/46, G06F21/00|
|Cooperative Classification||G06Q10/06, G06F21/629|
|European Classification||G06Q10/06, G06F21/62C|
|Apr 27, 2000||AS||Assignment|
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MCNALLY, MICHAEL R.;SWEITZER, JOHN W.;REEL/FRAME:010778/0957;SIGNING DATES FROM 20000414 TO 20000425
|Jan 11, 2008||FPAY||Fee payment|
Year of fee payment: 4
|Jul 9, 2012||REMI||Maintenance fee reminder mailed|
|Sep 28, 2012||FPAY||Fee payment|
Year of fee payment: 8
|Sep 28, 2012||SULP||Surcharge for late payment|
Year of fee payment: 7
|Mar 23, 2016||AS||Assignment|
Owner name: SERVICENOW, INC., CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:038218/0384
Effective date: 20160321
|May 23, 2016||FPAY||Fee payment|
Year of fee payment: 12