US20030208548A1 - Application server framework - Google Patents
Application server framework Download PDFInfo
- Publication number
- US20030208548A1 US20030208548A1 US10/460,221 US46022103A US2003208548A1 US 20030208548 A1 US20030208548 A1 US 20030208548A1 US 46022103 A US46022103 A US 46022103A US 2003208548 A1 US2003208548 A1 US 2003208548A1
- Authority
- US
- United States
- Prior art keywords
- service
- application server
- requested
- services
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5033—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5013—Request control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
An application server framework is integrated with a three-tiered computer system including an application server. The application server framework includes a job scheduler, a connection controller, a listener, and a service broker. The jobs scheduler is integrated with the application server and independently requesting execution of services. The connection controller establishes connections with services based upon the requested execution of services. The listener receives requests for execution of services and transmitting the requested execution of services to the connection controller. The service broker transmits the requests for execution of services to the listener.
Description
- 1. Field of the Invention
- The present invention is directed to computer systems including application servers generally, and, more particularly, to providing a computer software framework on an application server accommodating transparent porting of application software from a client computer to the application server and transparent execution by the application server rather than by the client computer of the application software.
- 2. Description of the Related Art
- Computer systems having distributed architectures are known in the art. More particularly, client-server architectures are known in the art. In such computer systems, processing occurs either on the clients or on the server, typically referred to as a data base server. With processing occurring on either the clients or the server, the processing speed of whichever of the clients or the server executing the processing is hampered and therefore degrades. The degradation of processing speed makes the potential for adding additional processing intensive modules or functionality infeasible for some applications, such as the Standard Desktop Procurement System (SPS), thereby preventing full utilization of the particular application, such as the SPS. For example, the foregoing limitations of the related art do not allow some users, such as the U.S. Government, to realize the full capabilities of the SPS. More particularly, a U.S. Department of Defense (DoD) desktop procurement system needs to maintain a balance between a robust system to accommodate 80% of the procurement users and provide processing efficiencies for intensive processing, which needs are not fulfilled by computer systems of the related art.
- An application server is a computer software application that runs in a client-server environment, but that is distinct from both the client and server applications. Typically, this application performs business rule or other processing that is computationally intensive at the request of the client.
- Application servers, generally, are well known in the art. An example of an application server is IBM WebSphere Application Server™, disclosed in About IBM WebSphere Application Server™. Another example of an application server is disclosed in U.S. Pat. No. 5,893,106 to Brobst, et al., entitled Object Oriented Server Process Framework with Interdependent-Object Creation.
- Computer systems having application servers provided logically between a data base server and clients are referred to as three tiered architectures, which are known in the art. FIG. 1 shows an example of a
computer system 10 of the related art having a three-tiered architecture and including anapplication server 12. As shown in thecomputer system 10 of FIG. 1, theapplication server 12 is separate and distinct from clients 14-1 through 14-n and fromdata base server 16, but is provided logically between theclients 14 and thedata base server 16. Theapplication server 12 alleviates processing load from thedata base server 16, and, further, provides additional functions such as load balancing and process scheduling within thecomputer system 10. - As shown in the
computer system 10 of FIG. 1, one of theclients 14 transmits a request to theapplication server 12, which, in turn, reformats the request and transmits it in the form of an OB (outbound) request to thedata base server 16. Thedata base server 16 returns data to theapplication server 12, which reformats the data into an answer transmitted to the requestingclient 14. - Commercially-available software programs, such as native PowerBuilder™ facilities, extend the function of the
application server 12. Through the use of native PowerBuilder™ facilities, application software written to be executed by the clients 14 (hereafter also referred to as client code) can be migrated to theapplication server 12 for execution thereby. Thus, instead of an architecture in whichclient computers 14 interface directly todata base server 16, as in a traditional client-server environment,client computers 14 interface toapplication server 12, which in turn interfaces to data base server 16 (as shown in FIG. 1). - A problem, though, with the use of native PowerBuilder™ facilities is that the client code must be rewritten before the client code can be successfully ported from the
client computers 14 to theapplication server 12. - Although native PowerBuilder™ facilities insulate the client code from the architecture of the computer system to some degree, these facilities fail to make the architecture completely transparent to the client. The primary issue that prevents complete client transparency is that the client still must explicitly connect to an application server and ask the server to create a remote object. In addition, if a site wishes to install more than one application server in order to spread demand across multiple machines, the client would then need to be able to pick the appropriate application server. Thus, the client code must be rewritten before it can be successfully ported to and executed by the application servers of the related art.
- Neither porting of client code from the clients to the application server nor execution of the client code by the application server rather than the client is transparent in the computer systems of the related art.
- Also known in the art is a job scheduler, which stores a list of jobs with associated schedules, and ensures that the jobs are run according to that schedule.
- Throughout the following paragraphs, terms such as job, process, and service are used interchangeably.
- It is therefore an object of the present invention to provide an application server framework which overcomes the above-mentioned problems of the related art.
- It is another object of the present invention to provide an interface to manage the Standard Desktop Procurement System (SPS) servers.
- A further object of the present invention is to allow installation of the SPS client software to be independent of whether an application server is running.
- Yet another object of the present invention is to accommodate job management initiated from a client.
- Still another object of the present invention is to provide connection security, remote object creation, scheduling and batch processing, and remote server management functions.
- A still further object of the present invention is to alleviate processing load from the clients and from the data base server.
- Yet a further object of the present invention is to allow an application server to be installed and operational without altering client code.
- A yet additional object of the present invention is to allow additional application software modules to be installed without degrading the performance of either the clients or the data base server.
- A further object of the present invention is to provide a desktop procurement system maintaining a balance between a robust system to accommodate 80% of the procurement users and providing processing efficiencies for intensive processing.
- The Application Server Framework (ASF) of the present invention provides SPS the efficiencies that the computer systems of the related art would not allow.
- The Application Server Framework (ASF) eliminates the problems discussed above and also provides an interface to manage the SPS application servers by taking advantage of PowerBuilder™ 6.0 functionality and tailoring it to the Department of Defense's (DoD) needs. The ASF of the present invention allows installation of the SPS client software independently of whether an application server is running. Further, with the ASF of the present invention, a site can install the latest version of the SPS software without choosing to install an application server and then add the application server executing the ASF later, without making changes to the client code. In addition, the plug in capability of the ASF allows additional modules to be added to the Standard Procurement System (SPS) without degrading the performance of the client computers or the database server of the computer system in which the ASF is installed.
- The ASF of the present invention accommodates job management initiated from the client computers. Using the job management option, authorized users create batch, on-demand or scheduled services. These services will be performed on any module that is “plugged into” the ASF of the present invention.
- The ASF of the present invention is a software system which, when installed on an application server, provides the above-mentioned features and functions to the computer system in which the application server is provided. The ASF of the present invention insulates client code in the form of, for example, computer modules implementing business processes, from communication with a data base server so that the client code can be ported from the client computer to the application server and execute without being altered. Accordingly, through the ASF of the present invention, the client code formerly isolated to being executed by the client computer on which it was installed is made available to all of the client computers interfacing to the application server to which the client code is ported.
- With the ASF of the present invention, the computer system includes an application server and a job scheduler integrated with the application server that independently requests execution of services.
- These together with other objects and advantages which will be subsequently apparent, reside in the details of construction and operation as more fully hereinafter described and claimed, reference being had to the accompanying drawings forming a part hereof, wherein like numerals refer to like parts throughout.
- FIG. 1 shows a three tiered architecture, including an application server, of the related art;
- FIG. 2 shows an overview of a
computer system 20 including the Application Server Framework (ASF) of the present invention; - FIG. 3 is a flowchart showing an overview of the functions provided by the ASF of the present invention;
- FIG. 4 is a diagram of the software architecture of the ASF startup function;
- FIG. 5 is a diagram of the software architecture of the flow of the ASF for a service requested by an application server;
- FIG. 6 is a diagram of the software architecture of the flow of the ASF for a service requested by a client computer;
- FIG. 7 is a detailed architecture diagram of a computer system including the ASF of the present invention;
- FIG. 8 shows an example of a service created by the ASF as a service inherited from the services object, in relation to other services also inherited from the services object;
- FIG. 9 is a diagram showing a relationship between an application server, including the listener, the schedule controller, and the connection controller of the ASF of the present invention, and a process created by the connection controller;
- FIG. 10 shows an example of a job management screen of the ASF displayed to the users by the ASF of the present invention;
- FIG. 11 shows a jobs list screen of the jobs scheduled to be executed by the application server; and
- FIG. 12 shows a log viewer screen of the ASF of the present invention.
- The Application Server Framework (ASF) of the present invention includes the following high level responsibilities:
- A. Connection security—When a client attempts to connect to an application server, the ASF controls the server to verify the client's username and password and either grants or disallows the connection request. Users that are allowed to connect are provided with either normal user privileges or administrative privileges, based on the log-in name and other information.
- B. Remote object creation—When a client requests a remote object (via the client-side component of the ASF), the ASF responds by creating the object and returning an object handle to the client.
- C. Scheduling and batch processing—In addition to providing a three-tier application framework, the ASF provides the ability to create and schedule batch services. These services do not respond to client requests, but run on a scheduled basis under the control of the ASF itself.
- D. Remote server management—Users with administrative privileges are able to view a list of users who are connected to an application server as well as detailed information about each client and disconnect users from the application server. Administrative users are also able to remotely stop the application server.
- The Application Server Framework (ASF) of the present invention, which is written in PowerBuilder™, accommodates on-demand and batch processing, is capable of scheduling and queuing, and can perform load balancing functions. A site can install this application server at the time of installation of the client software or at a later time without having to make changes to the client software. An application server is installed, in a separate installation, directly to the machine (typically a server) where it is desired to reside. A site can install more than one application server on a single machine. The application servers may be established to provide the same or different services. Since the ASF of the present invention provides job scheduling across a single or multiple application servers, allowing multiple application servers to work together, the ASF differs from a typical three tiered architecture application or a distributed architecture.
- FIG. 2 shows an overview of a
computer system 20 including the Application Server Framework (ASF) of the present invention. As shown in FIG. 2, thecomputer system 20 includes client computers 22-1 through 22-N, interfacing to anapplication server 24, which, in turn, interfaces to adata base server 26. Included withindata base server 26 is adata base 28, such as a Sybase™ data base. - Also included in
computer system 20 is the ASF of the present invention. The ASF of the present invention includes several software modules residing on and executed by an application server, a software module residing on and executed by each client computer coupled to the application server, and 2 files stored on thedata base server 26. More particularly, the ASF of the present invention includes service brokers 30-1 through 30-N, provided on and executed by the client computers 22-1 through 22-N, respectively. The ASF of the present invention also includes alistener 32, a connection controller (which is also referred to as a connection manager) 34, and a schedule controller (or job scheduler) 36, each provided on and executed by theapplication server 24. In addition, the ASF of the present invention includes, stored ondata base server 26, aschedule 27 of services to be executed and alist 29 of application servers and the jobs that are executable thereon. The ASF also includes a conventional load balancer (not shown in FIG. 2, but shown and discussed with reference to FIG. 9) running on theapplication server 24. - Preferably, each of the
service broker 30, thelistener 32, theconnection controller 34, theschedule controller 36, and the load balancer are software modules written in a conventional computer language, such as PowerBuilder™. - For the purposes of explanation, only one
application server 24 is shown in thecomputer system 20 of FIG. 2. However, with the ASF of the present invention,multiple application servers 24, each executing the ASF of the present invention, may be provided in thesame computer system 20, with theclient computers 22 interfacing to each ormultiple application servers 24. The ASF of the present invention then determines between the multiple application servers which will execute the service requested by the client. Alternatively, more than oneapplication server 24 may be installed on a single machine. Theapplication servers 24 may be established to provide the same or different services. - In addition to services provided by the ASF of the present invention, the
client computers 22, theapplication server 24, and thedata base server 26 provide services typically provided by conventional client computers, application servers, and data base servers, respectively. The ASF of the present invention can be installed directly to theapplication server 24 without impacting theclient computers 22 or thedatabase server 26. - A brief explanation of functions provided by the
service brokers 30, thelistener 32, theconnection controller 34, and theschedule controller 36 of the ASF of the present invention is now provided. - In the
computer system 20 of the present invention, theclient computers 22 request a service to be performed. Theservice broker 30 section of the ASF determines whether theapplication server 24 to which theclient computer 22 is coupled can execute the requested service. If so, then theservice broker 30 interfaces with thelistener 32 section of the ASF residing on theapplication server 24, and transmits the service request to thelistener 32. Accordingly, through the use of theservice broker 30, theclient computer 22 is otherwise relieved of the burden of having to be aware of which application server 24 (particularly, if there areseveral application servers 24 included in thecomputer system 20, as explained herein below) is executing the requested service. - The
listener 32 then interfaces to theconnection controller 34 section of the ASF, which either creates the service or process requested, then executes the service or process, or, if the requested service or process had been created previously, establishes a connection to the service or process. The requested service may require theapplication server 24 to interface with thedata base server 26 or with other application servers (not shown in FIG. 2). Theconnection controller 34 also interfaces to theschedule controller 36 section of the ASF, which establishes and maintains a schedule for the execution of each requested service, and notifies theclient computer 22 requesting the service upon completion of the service. Through the use of theschedule controller 36, theclient computer 22 may request that a service be executed at some future time, and the client computer need not be logged onto thecomputer system 20 at the requested service execution time for the service to be successfully executed. - If the
application server 24 to which theclient computer 22 making the request for service cannot execute the requested service, then theservice broker 30 section of the ASF determines whether theclient computer 22 making the request can also execute the service (i.e., whether the client code required to successfully fulfill the service request resides on the client computer making the service request). If so, then theservice broker 30 interfaces with the client code residing on theclient computer 22 to fulfill the service request - A more detailed explanation of the functionality of, and the interfacing between, the
service broker 30, thelistener 32, theconnection controller 34, and theschedule controller 36 of the ASF of the present invention is provided herein below, after an explanation of service execution by the ASF of the present invention. - Using the ASF of the present invention, services may be requested by either the
application server 24 or theclients 22. FIG. 3 is aflowchart 100 showing an overview of the functions provided by the ASF of the present invention, including ASF startup inoperation 110, flow 112 (executed when a service request is made by an application server 24) and flow 114 (executed when a service request is made by a client computer for immediate execution). - As shown in FIG. 3, in
operation 110, the ASF of the present invention is started up. Startup of the ASF of the present invention includes building a schedule of services to be executed using theschedule controller 36, establishing connections using theconnection controller 34, and generally ensuring that thedata base 28 is accessible by the ASF of the present invention.Operation 110 is typically executed once, upon system startup, whereasflow 112 and flow 114 are each typically executed whenever a service is requested by the application server (for flow 112) or by the client computer (for flow 114). - Referring again to FIG. 3, next, in
flow 112, inoperation 116, for service requests made by theapplication server 24, a timer is set, preferably in one-minute intervals. The ASF then sleeps and wakes up in 118 upon prompting by the timer at each one-minute interval. The ASF, inoperation 120, then determines whether an unexecuted process has been requested for execution at or before the current time. If not, then control returns tooperation 118 and the ASF continues to sleep/wakeup during the one-minute time intervals. - If a process has been requested for execution, then in
operation 122, the ASF of the present invention establishes a connection to the process, if needed. A connection would not need to be established if such a connection had been established previously. After the connection is established, the requested service is executed inoperation 124, and theapplication server 24 making the request is notified of completion of the process inoperation 126. - The foregoing
operations 116 through 124 are typically followed when a process is requested, either by aclient computer 22 or anapplication server 24, to be executed at a future time. Even though the process may be requested by aclient computer 22, since the process is requested for execution at a future time, the request appears as though it is being initiated by theapplication server 24. - Alternatively, if a service request is made by a
client computer 22, for example for immediate execution, the ASF of the present invention executesflow 114. Inflow 114, theservice broker 30 determines whether the requested service is executable by theapplication server 24, inoperation 128. If so, thenoperations flow 112, as explained herein above, with one exception: inoperation 126, the client computer 22 (not the application server 24) making the service request is notified of the completion of the requested service. - If the service request made by the
client computer 22 is not executable by theapplication server 24, then theclient computer 22 making the request for the process executes inoperation 130 the requested service. - Each of
operation 110,flow 112, and flow 114 of the ASF of the present invention are explained in further detail with reference to software architectures of the ASF shown in FIGS. 4-6. - The
software architecture 40 of the ASF shown in FIG. 4 corresponds to function of the ASF shown inoperation 110 of FIG. 3. In thesoftware architecture 40 shown in FIG. 4, the start up ASF functions ofoperation 110 shown are provided in the ASF on theapplication server 24. Referring now to FIG. 4, aserver function 42 initiates building of a schedule of services to be executed, principally by theapplication server 24, and, accordingly, the establishment of theschedule controller 36 in communication with theconnection controller 34. Also as part of the start upASF operation 110, theschedule controller 36 initiates processes such as establishing communication with servers and with jobs, usingasf_sq1 module 44. - Once the ASF of the present invention has been started, in accordance with FIG. 4, then the process of the ASF shown in
operation 112 is executed for a service request initiated by theapplication server 24. FIG. 5 shows thesoftware architecture 45 of the ASF of the presentinvention implementing operation 112 of FIG. 3. The functions of the ASF disclosed in FIG. 5 are executed on theapplication server 24. - As shown in FIG. 5, the
server function 42, in response to a timer, initiates a function of theschedule controller 36 to check jobs (or services) to be executed. If a service is scheduled to be executed at this time, then the schedule controller instructs theconnection controller 34 to create an instance of the process, and provides to the connection controller the name of theapplication server 24 making the request for the process (the handle), along with the object name of the process. Theconnection controller 34 then establishes a connection 46 (for example, to the data base server 26). Establishment of aconnection 46 includes providing to theconnection 46 process an instruction to connection to theserver 26, along with instruction to create an instance of the process of the object name to execute theservice 48. - Also as shown in FIG. 5, the
schedule controller 36 provides to theservice 48 being executed a handle to call back to theschedule controller 36 creating the instance, and instructions to execute theservice 48. Theservice 48 then notifies theschedule controller 36 of the completion, by name, of theservice 48. - FIG. 6 shows the
software architecture 49 of the ASF of the presentinvention implementing operation 114 of FIG. 3. The functions of the ASF disclosed in FIG. 6 are executed on theapplication server 24 and onclient computer 22. As shown in FIG. 6, aclient application 50 running on aclient computer 22 requests of theservice broker 30 of theclient computer 22 to generate a service to be provided to theclient application 50. Theservice broker 30 of theclient computer 22 then creates an instance of the service, by providing to theconnection controller 34 of theapplication server 24 the server name of the server to execute the service, along with the service name of the service to be provided. Theconnection controller 34 then connects to the server having the server name provided by the service broker, and creates an instance of the service to be provided, identified by the object name. Accordingly, aconnection 46 is established to theservice 48 requested. - Also as shown in FIG. 6, the
connection controller 34 sets the location (which is remote) of theservice 48 to be provided to theclient application 50. After theservice 48 is established, theservice 48 receives from theservice broker 30 requesting the service 48 a callback instruction to notify theservice broker 30 upon completion of theservice 48. The service is executed, as shown in FIG. 6, in accordance with instructions and parameters provided to the service by theclient application 50. - FIG. 7 is a detailed architecture diagram of the
computer system 20 including the ASF of the present invention, shown in FIG. 2. Thecomputer system 20 is executing, for example, the U. S. Department of Defense (DoD) Standard Desktop Procurement System (SPS). - Referring now to FIG. 7, the operations executed or directed by the ASF of the present invention are now explained. In the
computer system 20 of FIG. 7, multiple client computers 22-1 through 22-N are shown, as are multiple application servers 24-1 through 24-M. Client computers 22-1 through 22-N each include the service broker component of the ASF, shown as service brokers 30-1 through 30-N, respectively. Additionally, each application server 24-1 through 24-M includes alistener 32, aconnection controller 34, and aschedule controller 36 of the ASF of the present invention. Further, each client computer 22-1 through 22-N is logically coupled to each application server 24-1 through 24-M, either through thelistener 32 of a primary application server 24-1 (whichlistener 32 of 24-1 is then coupled to eachlistener 32 of each remaining application server 24-2 through 24-M) or directly to thelistener 32 of each application server 24-1 through 24-M. Each application server 24-1 through 24-M is also logically coupled todata base server 26. - Referring again to FIG. 7, communication between the
client computers 22 and theapplication servers 24 occurs between therespective service brokers 30 of the client computers and therespective listeners 32 of the application servers. Likewise, communication among theapplication servers 24 occurs throughrespective listeners 32. Communication between theapplication servers 24 and thedata base server 26 occurs through both therespective connection controllers 34 and therespective schedule controllers 36. - When the ASF is installed on more than one
application server 24 within acomputer system 20, one of the application servers 24-1 (for example) is designated as theprimary application 24. The primary application server 24-1 communicates with the client computers 22-1 through 22-N, and with the other application servers 24-2 through 24-M included in thecomputer system 20. Further, the primary application server 24-1 determines which of the application servers 24-1 through 24-M will perform a requested service. - The operations and the functions of the ASF of the present invention are now described in further detail with reference to FIG. 7. It will be appreciated by those of ordinary skill in the art that, in addition to the ASF functions of the present invention disclosed herein, the
client computers 22, theapplication servers 24, and thedata base server 26 also provide conventional functions associated therewith. - The ASF of the present invention is installed (200) on each of the application servers 24-1 through 24-M of FIG. 7, using the operation disclosed herein above with reference to FIG. 4. The ASF installation operation, as disclosed with reference to FIG. 4, creates (200) on each of the application servers 24 a
schedule controller 36 and aconnection controller 34. At startup of the ASF of the present invention, theschedule controller 36 reads (202) the schedule of services to be provided 27 from thedata base server 26, through a relational data base management system 25 (RDMS). If there are services to be executed by the application server 24-1 reading theschedule 27, then the services are provided in accordance with theflow 112 shown in FIG. 3, using thesoftware architecture 45 of the ASF shown in FIG. 5. - Additionally, the primary application server24-1 monitors through
listener 32 each of the client computers 22-1 through 22-N for requests for service. Preferably, thelistener 32 of the primary application server 24-1 is coupled to each of theclient computers 22 and to theother application servers 24 through a TCP/IP connection. Requests for service received fromclient computers 22 are executed in accordance withflow 114 shown in FIG. 3, using thesoftware architecture 49 of the ASF shown in FIG. 6. - Upon receipt (204) of a request for service, such as a refresh, from the service brokers 30-1 through 30-N, the
listener 32 transmits (205) the request for service to theschedule controller 36, which also reads (202) theschedule 27 of services to be performed. - Therefore, the
schedule 27 is read (202) by the schedule controller during either of 2 events: startup or refresh. - Further, the
schedule controller 36 receives (206) from theoperating system 37, such as WINDOWS, a message of time each minute, based upon the monitoring (208) by theoperating system 37 of thesystem clock 39. - If the
schedule controller 36 determines that there are no services requested in the schedule to be performed at the current time, then theschedule controller 36 awaits notification (206) by theoperating system 37 of the passage of another minute, and, upon receipt thereof, theschedule controller 36 again determines whether there are services to be provided during the subsequent minute. - On the other hand, if there are services scheduled to be provided during at the current time, based upon the
schedule 27, theschedule controller 36 notifies (210) theconnection controller 34 of such. Theconnection controller 34 then creates (212), if needed, theservice 214 to be provided. Theservice 214 most likely involves interaction (216) with thedata base 28, through theRDMS 25. However, theservice 214 may also involve a process wholly contained within the primary application server 24-1, or interaction (218) with another application server 24-M, through thelistener 32 of the application server 24-M. - If the requested service includes a task to be performed by another application server(s)24-2 through 24-M, the
connection controller 34 of the primary application server 24-1 determines which of the application servers 24-2 through 24-M will perform the task by reading (220) through theRDMS 25 thelist 29 of application servers 24-1 through 24-M, and the jobs each of the application servers 24-1 through 24-M is capable of executing. The application server 24-M (for example) selected for executing the requested service would do so consistent with the description of the execution of a service provided herein with respect to application server 24-1. - Each service, when created, includes a connection and a handle (pointer to or address of the service). When the
connection controller 34 has created the service to be executed, theconnection controller 34 maintains and transmits (222) to the schedule controller the handle. - The
schedule controller 36 then instructs (224) theservice 214 to execute asynchronously, in a fire-and-forget mode. At the completion of theservice 214, theschedule controller 36 is notified (226) of such. The objects created and used during in theservice 214 are destroyed, but the shell of the connection is maintained, for possible future re-execution, eliminating the need to repeatedly create the same service if requested again at a later time. - The
service broker 30 of the ASF of the present invention resides on theclient computer 22, alleviating theclient computer 22 of having to be aware of where the requested service is running, interfaces with theapplication server 24 through thelistener 32 of the ASF to get the requested service performed, and provides the handle of the service being performed to theclient computer 22. If theapplication server 24 cannot perform the requested service, and if none of theapplication servers 24 in thecomputer system 20 can perform the requested service, theservice broker 30 creates the service on theclient computer 22 and still provides the handle of the service being executed to theclient computer 22. - Examples of services provided in an
application server 24 include electronic document access (EDA), electronic document interfacing (EDI), solicitation services, etc. EDA and EDI are known. Solicitation services are also known and include statements by the U.S. Government of what the U.S. Government wants to buy, and which are sent to industry. The statements, or solicitations, are marked as ready for release to the public at a future date/time, and cannot be released before that date/time. Conventionally, a solicitation is released by the client computer at the designated date/time, but the client computer must be booted up and running to release the solicitation. - On the other hand, by using the ASF of the present invention, the solicitation services could be moved from a
client computer 22 to anapplication server 24 executing the ASF so that a user working at aclient computer 22 could mark a solicitation for release at a future date/time, which would make a request to theapplication server 24 executing the ASF of the present invention to execute the solicitation service at the designated date/time. Execution of the requested solicitation service would then be the responsibility of theapplication server 24 running the ASF, and theclient computer 22 could then be turned off. Theapplication server 24 executing the ASF of the present invention would then add the requested service to the schedule ofservices 27, by setting flags in the data base 26 (which flags indicate that the requested service should be added to the schedule of services 27). The flags include a flag indicating that a solicitation is ready for release at a particular date/time, that an EDI should be transmitted in 10 minutes, etc. When the appointed hour arrives, the ASF, using theschedule controller 36, would execute the requested service, as explained herein above. - In accordance with the above-mentioned processes, client code, or components thereof, can be ported to and executed by application servers24-1 through 24-M. To be ported to application servers in the ASF of the present invention, client code must fulfill the following requirements:
- A. the ported objects must be non-visual objects only;
- B. the component of the client code residing on the
client computers 22 must be addressable by theapplication servers 24; and - C. the component of the client code being ported must be extricable from the client code, and, more particularly, the component must be inherited from an existing model of a business process and must be able to be integrated seamlessly into the
application server 24. - For example, in an object-oriented system, the services object may itself point to services such as an EDA service, an EDI service, a solicitation service, etc., each of which is itself an object. The service to be executed by the
application server 24 must itself be an object inherited from the services object so that theapplication server 24 can communicate with the service to be executed through the same interface as used for all of the services related to the services object. - FIG. 8 shows an example of a
service 132 created by the ASF as a service inherited from the services object 134, in relation toother services service 132, the ASF issues calls to objects that are part of the component being moved from theclient computer 22 to theapplication server 24 to accomplish theservice 132. The inheritedservice 132 then knows how to connect back to theapplication server 24. - In the ASF of the present invention, the entire component need not be inherited; only one object of the component needs to be inherited, and the inherited object of the component initiates the rest of the component.
- By providing a framework under which services are ported from
client computers 22 toapplication servers 24, the ASF of the present invention relieves theclient computers 22 of the burden of having to run a process or execute a service at a specific time. Theapplication servers 24, using the ASF of the present invention, then execute the requested service at the specified time, based upon the schedule ofjobs 27 established to be executed by the ASF. Therefore, theclient computers 22 can schedule processes to be executed at some future time, without requiring theclient computer 22 requesting the service to remain active. - FIG. 9 is a diagram showing a relationship between an application server24-1, including the
listener 32, theschedule controller 36, and theconnection controller 34 of the ASF of the present invention, and a process created by theconnection controller 34. As shown in FIG. 9, theconnection controller 34 creates (146) aprocess 12 to accomplish a requested service, such as EDA. Theprocess 142 may be executed on another application server 24 (not shown in FIG. 9), on a client computer 22-1 requesting the service, or on a data base server 26 (not shown in FIG. 9). In addition to creating theprocess 142 to be executed, theconnection controller 34 also creates a temporary shell 144 (which is maintained for future use) surrounding the createdprocess 142. Theconnection controller 34 maintains the handle of (i.e., pointer to) the requestedprocess 142. - Further, using the ASF of the present invention, each application server24 (for example, of the application servers 24-1 through 24-M shown in FIG. 7) could be designated by the systems administrator for an installation or a site as specific to processes, which are installed only on the designated machines. For example, one of the application servers could be designated for providing EDA only services, while another of the application services could be designated as providing EDI and EDA services.
- As discussed herein above, one of the
application servers 24 is designated as the primary application server, and thelistener 32 of the primary application server acts as a clearinghouse. In its role as a clearinghouse, thelistener 32 of the primary application server determines which of the other applications servers or the primary application server should execute the service requested by aclient computer 22, based upon which application server(s) is/are designated to execute the requested service, and the load each of the application server(s) designated to execute the requested service is carrying. - To determine which of the application servers is designated to execute the requested service, the
listener 32 maintains and refers to a file storing that information to identify the candidate application servers. Once thelistener 32 has determined the candidate application server(s) designated to execute the requested service, thelistener 32 refers to theconventional load balancer 148, included as part of the ASF of the present invention, to determine which of the candidate application servers is most ideally suited—from an overall system load perspective—as a preferred application server to execute the requested service. Based on theload balancer 148, thelistener 32 advises theconnection controller 34 of thepreferred application server 24. Theconnection controller 34 then establishes the needed connections therewith, as explained herein above. - When the ASF of the present invention is installed on an application server, the ASF functions without requiring alteration of client computer software.
- With the ASF of the present invention, the application server console provides the ability to allow a user to start and stop the application server, and also displays the status of that particular application server. Through the ASF, users manage requests from client computers accessing the application server and manage the jobs the application server performs.
- FIG. 10 shows an example of a
job management screen 150 of the ASF displayed to the users by the ASF of the present invention. Thejob management screen 150 provides real-time status information on each scheduled service. Thejob management screen 150 displays on a console of the application server to authorized users a list of the batch services that are currently provided through the application server. As shown in FIG. 10, thejob management screen 150 displays the last time the service was performed, the next scheduled time the service will be performed, and the current status of each service that is available. Thejob management screen 150 includes buttons such as Run Now . . . 152, Disable Job . . . 154, Schedule . . . 156. Through the Run Now . . . 152 button, the user can instruct the ASF to execute the selected service(s) on demand. Through the Disable Job . . . 154 button, the user can instruct the ASF to temporarily stop the selected service(s) from running. The ASF reads the schedule ofjobs 27 to populate thejob management screen 150. - FIG. 11 shows a
jobs list screen 158 of the jobs scheduled to be executed by the application server. The jobs list screen provides the ability to schedule and manage routine services. Thejobs list screen 158 is also populated from data read by the ASF from the schedule ofjobs 27. Using thejobs list screen 158, authorized users are able to establish theschedule 27 that a service should be performed on through the ASF. Theschedule 27 can be set to perform in daily, weekly, and monthly increments. Users may also enter a time when the service should start or a range of times over which it should execute. In the latter case, the range of time must be within the same day. - FIG. 12 shows a
log viewer screen 160 of the ASF. The log viewer screen of the ASF provides a complete log of all operations performed by the application server. - The ASF of the present invention removes data intensive processing from the client computers and the database server, and also allows the client computers to schedule processing. Consequently, through the ASF, batch and on demand processing are available to the client computers. Further, any processing intensive work required by the procurement system can be accommodated by the ASF using plug in module functionality.
- The flexibility of the ASF allows the SPS to meet the requirements of the Department of Defense, without degrading performance of the client computers or the database server.
- The ASF's capabilities extend beyond the conventional application server in order to meet the DoD's future needs. The additional capabilities that extend beyond a conventional industry application server are unique. Further, the ASF approach in solving DoD Standard Procurement needs is a unique approach for a DoD wide procurement system and readily accommodates future DoD electronic procurement needs.
- The many features and advantages of the invention are apparent from the detailed specification and, thus, it is intended by the appended claims to cover all such features and advantages of the invention which fall within the true spirit and scope of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation illustrated and described, and accordingly all suitable modifications and equivalents may be resorted to, falling within the scope of the invention.
Claims (30)
1. An apparatus comprising:
an application server; and
a job scheduler integrated with the application server and independently requesting execution of services.
2. The apparatus according to claim 1 , further comprising:
a connection controller, integrated with the application server and coupled to the job scheduler, establishing connections with services based upon the requested execution of services.
3. The apparatus according to claim 2 , further comprising:
a listener, integrated with the application server and coupled to the connection controller, receiving requests for execution of services and transmitting the requested execution of services to the connection controller.
4. The apparatus according to claim 3 , further comprising:
a service broker, coupled to the listener, transmitting the requests for execution of services to the listener.
5. The apparatus according to claim 2 , further comprising:
a schedule, coupled to the job scheduler, storing a list of the requested execution of a service.
6. The apparatus according to claim 2 , further comprising a list of services executable corresponding to locations at which the services are executable.
7. The apparatus according to claim 1 , wherein the apparatus further comprises a Department of Defense Standard Desktop Procurement System.
8. A method comprising:
independently requesting execution of services by a job scheduler integrated with an application server.
9. A method comprising:
independently requesting by a job scheduler execution of services by application servers coupled to the job scheduler, said job scheduler controlling the application servers to work in concert with each other.
10. The method according to claim 8 , further comprising:
establishing by a connection controller a connection to a service requested to be executed, said connection controller integrated with the application server and coupled to the job scheduler.
11. The method of claim 10 , further comprising:
receiving by a listener the request for the service, said listener integrated with the application server and coupled to the job scheduler.
12. The method of claim 10 , further comprising:
transmitting by a service broker the request for service, said service broker being provided in a client computer coupled to the application server, and said service broker coupled to the listener.
13. A method comprising:
starting up an application server framework installed on the computer system;
determining by the application server framework whether a service is requested by an application server, based upon a job scheduler of the application server of the computer system, or by a client computer of the computer system;
determining by the application server framework whether the requested service is executable by the application server, if the request for service is made by the client computer;
establishing a connection to the service by the application server and executing the service, if the requested service is executable by the application server or if the service is requested by the application server;
executing the requested service by the client computer if the client computer requested the service and if the service is not executable by the application server; and
notifying the application server of the completion of the service if the application server requested the service, and notifying the client computer of the completion of the service if the client computer requested the service.
14. The method according to claim 13 , wherein the application server framework transmits to the application server the handle of the service if the application server requested the service, and transmits to the client computer the handle of the service if the client computer requested the service.
15. A computer-readable device embodying a computer program, said computer program, when executed by a computer, directing the computer to perform the operation comprising:
independently requesting execution of services by a job scheduler integrated with an application server.
16. A computer-readable device embodying a computer program, said computer program, when executed by a computer, directing the computer to perform the operation comprising:
independently requesting execution of services by an application server framework comprising a job scheduler, said application server framework being integrated with an application server.
17. The computer-readable device according to claim 16 , further comprising:
establishing by a connection controller of the application server framework a connection to a service requested to be executed.
18. The computer-readable device according to claim 16 , further comprising:
transmitting a handle of the connection to the service to the job scheduler after establishing the connection.
19. The computer-readable device according to claim 17 , further comprising:
receiving by a listener of the application server framework the request for the service.
20. A computer-readable device embodying a computer program, said computer program, when executed by a computer, directing the computer to perform the operation comprising:
starting up an application server framework installed on the computer system;
determining by the application server framework whether a service is requested by an application server, based upon a job scheduler of the application server of the computer system, or by a client computer of the computer system;
determining by the application server framework whether the requested service is executable by the application server, if the request for service is made by the client computer;
establishing a connection to the service by the application server and executing the service, if the requested service is executable by the application server or if the service is requested by the application server;
executing the requested service by the client computer if the client computer requested the service and if the service is not executable by the application server; and
notifying the application server of the completion of the service if the application server requested the service, and notifying the client computer of the completion of the service if the client computer requested the service.
21. The computer-readable device according to claim 20 , wherein the computer program further directs the computer to transmit to the application server the handle of the service if the application server requested the service, and transmit to the client computer the handle of the service if the client computer requested the service.
22. An apparatus comprising:
application servers working in concert with each other; and
a job scheduler controlling the application servers to work in concert with each other.
23. The apparatus according to claim 22 , wherein said job scheduler is integrated with one of the application servers and independently requests execution of services, said apparatus further comprising a connection controller, coupled to the job scheduler, establishing connections with services based upon the requested execution of services.
24. The apparatus according to claim 22 , wherein said job scheduler is integrated with one of the application servers and independently requests execution of services, said apparatus further comprising a listener, coupled to the connection controller, receiving requests for execution of services and transmitting the requested execution of services to the connection controller.
25. The apparatus according to claim 24 , wherein said job scheduler is integrated with one of the application servers and independently requests execution of services, said apparatus further comprising a service broker, coupled to the listener, transmitting the requests for execution of services to the listener.
26. The apparatus according to claim 22 , further comprising:
a schedule, coupled to the job scheduler, storing a list of the requested execution for a service; and
a list of services executable corresponding to locations at which the services are executable.
27. The apparatus according to claim 22 , further comprising a Department of Defense Standard Desktop Procurement System.
28. The apparatus according to claim 22 , wherein the application servers comprises at least two application servers, and the job scheduler is integrated with the at least two application servers.
29. The apparatus according to claim 28 , wherein one of the at least two application servers is designated as a primary application server, said apparatus further comprising client computers coupled to the primary application server.
30. The apparatus according to claim 28 , further comprising a load balancer determining which one of the at least two application servers able to execute the requested service will execute the requested service, based upon the load on each of the at least two application servers.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/460,221 US20030208548A1 (en) | 1999-07-26 | 2003-06-13 | Application server framework |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/359,773 US6598067B1 (en) | 1999-07-26 | 1999-07-26 | Application server framework |
US10/460,221 US20030208548A1 (en) | 1999-07-26 | 2003-06-13 | Application server framework |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/359,773 Continuation US6598067B1 (en) | 1999-07-26 | 1999-07-26 | Application server framework |
Publications (1)
Publication Number | Publication Date |
---|---|
US20030208548A1 true US20030208548A1 (en) | 2003-11-06 |
Family
ID=23415213
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/359,773 Expired - Lifetime US6598067B1 (en) | 1999-07-26 | 1999-07-26 | Application server framework |
US10/460,221 Abandoned US20030208548A1 (en) | 1999-07-26 | 2003-06-13 | Application server framework |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/359,773 Expired - Lifetime US6598067B1 (en) | 1999-07-26 | 1999-07-26 | Application server framework |
Country Status (1)
Country | Link |
---|---|
US (2) | US6598067B1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040177158A1 (en) * | 2003-03-07 | 2004-09-09 | Bauch David James | Network address translation techniques for selective network traffic diversion |
US20050010923A1 (en) * | 2003-07-11 | 2005-01-13 | Davis Bradford C. | Trigger support for a bi-directional broker |
US20080275944A1 (en) * | 2007-05-04 | 2008-11-06 | International Business Machines Corporation | Transaction-initiated batch processing |
US20120084753A1 (en) * | 2010-09-30 | 2012-04-05 | Microsoft Corporation | Debugger launch and attach on compute clusters |
US20140330964A1 (en) * | 2006-03-01 | 2014-11-06 | Cisco Technology, Inc. | Technique for optimized routing of data streams on an ip backbone in a computer network |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6598067B1 (en) * | 1999-07-26 | 2003-07-22 | American Management Systems, Inc. | Application server framework |
GB2354090B (en) * | 1999-09-08 | 2004-03-17 | Sony Uk Ltd | Distributed service provider |
US7693961B2 (en) * | 2000-06-30 | 2010-04-06 | Sharp Kabushiki Kaisha | Method and system for supplying programs |
US7500243B2 (en) * | 2000-08-17 | 2009-03-03 | Sun Microsystems, Inc. | Load balancing method and system using multiple load balancing servers |
US7657450B2 (en) * | 2000-12-08 | 2010-02-02 | Microsoft Corporation | Reliable, secure and scalable infrastructure for event registration and propagation in a distributed enterprise |
US20020078117A1 (en) * | 2000-12-19 | 2002-06-20 | Wang Baldonado Michelle Q. | System for creating efficient multi-step document conversion services |
US7197749B2 (en) * | 2000-12-19 | 2007-03-27 | Xerox Corporation | Method and system for executing batch jobs by delegating work to independent service providers |
US20020142273A1 (en) * | 2001-03-30 | 2002-10-03 | Dollins James T. | Interactive process learning aid |
US20030188188A1 (en) * | 2002-03-15 | 2003-10-02 | Microsoft Corporation | Time-window-constrained multicast for future delivery multicast |
US20030212770A1 (en) * | 2002-05-10 | 2003-11-13 | Sreekrishna Kotnur | System and method of controlling software components |
WO2004097565A2 (en) * | 2003-04-24 | 2004-11-11 | Secureinfo Corporation | Data preservation across an enterprise |
GB0313375D0 (en) * | 2003-06-10 | 2003-07-16 | Symbian Ltd | Method of connecting a client running on a computing device to a server running on a different computing device |
WO2004114160A2 (en) * | 2003-06-13 | 2004-12-29 | Equifax, Inc. | Systems and processes for automated criteria and attribute generation, searching, auditing and reporting of data |
US7970698B2 (en) * | 2003-08-27 | 2011-06-28 | Equifax, Inc. | Application processing and decision systems and processes |
US11132183B2 (en) | 2003-08-27 | 2021-09-28 | Equifax Inc. | Software development platform for testing and modifying decision algorithms |
JP4603256B2 (en) * | 2003-12-01 | 2010-12-22 | 日本電気株式会社 | User authentication system |
US7543042B2 (en) * | 2004-04-28 | 2009-06-02 | International Business Machines Corporation | Remote access method for accessing dynacache data |
US8255502B2 (en) * | 2004-05-18 | 2012-08-28 | Oracle International Corporation | Dynamic domain administration utility |
US20050283446A1 (en) * | 2004-06-17 | 2005-12-22 | International Business Machines Corporation | Fee models based on plug-in use |
US7886296B2 (en) | 2004-07-22 | 2011-02-08 | Computer Associates Think, Inc. | System and method for providing alerts for heterogeneous jobs |
US7984443B2 (en) | 2004-07-22 | 2011-07-19 | Computer Associates Think, Inc. | System and method for normalizing job properties |
US8427667B2 (en) * | 2004-07-22 | 2013-04-23 | Ca, Inc. | System and method for filtering jobs |
US9600216B2 (en) * | 2004-07-22 | 2017-03-21 | Ca, Inc. | System and method for managing jobs in heterogeneous environments |
US8028285B2 (en) * | 2004-07-22 | 2011-09-27 | Computer Associates Think, Inc. | Heterogeneous job dashboard |
US7698731B2 (en) * | 2004-10-25 | 2010-04-13 | Panasonic Corporation | Security architecture and mechanism to access and use security components in operating system |
US8726282B1 (en) | 2006-05-01 | 2014-05-13 | Open Invention Network, Llc | Job scheduler for remote maintenance of servers and workstations |
US8313005B2 (en) * | 2006-08-03 | 2012-11-20 | Kraft Foods Global Brands, Llc | Plastic coffee container with pinch grip |
US9264483B2 (en) | 2007-07-18 | 2016-02-16 | Hammond Development International, Inc. | Method and system for enabling a communication device to remotely execute an application |
CA2695898C (en) * | 2007-08-07 | 2016-12-20 | Equifax, Inc. | Systems and methods for managing statistical expressions |
CN101378400B (en) | 2007-08-30 | 2013-01-30 | 国际商业机器公司 | Method, server and system for polymerizing desktop application and Web application |
US8695001B2 (en) * | 2007-09-20 | 2014-04-08 | Microsoft Corporation | Loading services based on a request and setting permission level to enable execution of commands or services exposed based on a role of requester |
US9645845B2 (en) * | 2007-09-27 | 2017-05-09 | Sap Se | Triggering job execution in application servers based on asynchronous messages sent by scheduling tasks |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5778368A (en) * | 1996-05-03 | 1998-07-07 | Telogy Networks, Inc. | Real-time embedded software respository with attribute searching apparatus and method |
US6065123A (en) * | 1995-03-06 | 2000-05-16 | Intel Corporation | Computer system with unattended on-demand availability |
US6598067B1 (en) * | 1999-07-26 | 2003-07-22 | American Management Systems, Inc. | Application server framework |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0547903B1 (en) * | 1991-12-17 | 2001-10-31 | Texas Instruments Incorporated | Method and system for isolating data and information collection components from other components in a distributed environment |
US5414845A (en) * | 1992-06-26 | 1995-05-09 | International Business Machines Corporation | Network-based computer system with improved network scheduling system |
GB9414951D0 (en) * | 1994-07-25 | 1994-09-14 | British Telecomm | Computer system having client-server architecture |
US5812780A (en) * | 1996-05-24 | 1998-09-22 | Microsoft Corporation | Method, system, and product for assessing a server application performance |
US5953229A (en) * | 1996-09-24 | 1999-09-14 | Environmental Research Institute Of Michigan | Density-based emergent scheduling system |
US5893106A (en) | 1997-07-11 | 1999-04-06 | International Business Machines Corporation | Object oriented server process framework with interdependent-object creation |
US6222530B1 (en) * | 1998-08-21 | 2001-04-24 | Corporate Media Partners | System and method for a master scheduler |
-
1999
- 1999-07-26 US US09/359,773 patent/US6598067B1/en not_active Expired - Lifetime
-
2003
- 2003-06-13 US US10/460,221 patent/US20030208548A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6065123A (en) * | 1995-03-06 | 2000-05-16 | Intel Corporation | Computer system with unattended on-demand availability |
US5778368A (en) * | 1996-05-03 | 1998-07-07 | Telogy Networks, Inc. | Real-time embedded software respository with attribute searching apparatus and method |
US6598067B1 (en) * | 1999-07-26 | 2003-07-22 | American Management Systems, Inc. | Application server framework |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040177158A1 (en) * | 2003-03-07 | 2004-09-09 | Bauch David James | Network address translation techniques for selective network traffic diversion |
US20040177359A1 (en) * | 2003-03-07 | 2004-09-09 | Bauch David James | Supporting the exchange of data by distributed applications |
US7260599B2 (en) * | 2003-03-07 | 2007-08-21 | Hyperspace Communications, Inc. | Supporting the exchange of data by distributed applications |
US20050010923A1 (en) * | 2003-07-11 | 2005-01-13 | Davis Bradford C. | Trigger support for a bi-directional broker |
US7757235B2 (en) * | 2003-07-11 | 2010-07-13 | Computer Associates Think, Inc. | Trigger support for a bi-directional broker |
US20140330964A1 (en) * | 2006-03-01 | 2014-11-06 | Cisco Technology, Inc. | Technique for optimized routing of data streams on an ip backbone in a computer network |
US20080275944A1 (en) * | 2007-05-04 | 2008-11-06 | International Business Machines Corporation | Transaction-initiated batch processing |
US7958188B2 (en) | 2007-05-04 | 2011-06-07 | International Business Machines Corporation | Transaction-initiated batch processing |
US20110197194A1 (en) * | 2007-05-04 | 2011-08-11 | International Business Machines Corporation | Transaction-initiated batch processing |
US8495136B2 (en) | 2007-05-04 | 2013-07-23 | International Business Machines Corporation | Transaction-initiated batch processing |
US20120084753A1 (en) * | 2010-09-30 | 2012-04-05 | Microsoft Corporation | Debugger launch and attach on compute clusters |
US8589885B2 (en) * | 2010-09-30 | 2013-11-19 | Microsoft Corporation | Debugger launch and attach on compute clusters |
Also Published As
Publication number | Publication date |
---|---|
US6598067B1 (en) | 2003-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6598067B1 (en) | Application server framework | |
US10091210B2 (en) | Policy enforcement of client devices | |
US5978813A (en) | System for providing synchronization between a local area network and a distributing computer environment | |
US7509672B1 (en) | Cross-platform single sign-on data sharing | |
US5902352A (en) | Method and apparatus for task scheduling across multiple execution sessions | |
JP3963692B2 (en) | Power control method for a plurality of information processing apparatuses, information processing apparatus, and program | |
US7013294B1 (en) | License management system | |
US6209032B1 (en) | Enabling target servers to control determination of full user synchronization | |
US7975266B2 (en) | Remote installation of computer resources | |
EP1963989B1 (en) | Program execution service windows | |
WO1996027827A1 (en) | A computer system with unattended on-demand availability | |
EP1329809B1 (en) | Distributed computing system and method | |
CN103797461B (en) | Network system | |
US20040215578A1 (en) | Controlling usage of system resources by a network manager | |
KR100735875B1 (en) | System and method for remote access to a server and running multiple operating systems using live booting medium | |
JPH09190393A (en) | Information processing method, information processor and information processing system | |
JP2000194541A (en) | Terminal device | |
JP2002358135A (en) | Device and method for managing software use, program for allowing computer to perform its method and computer readable recording medium with its program recorded | |
AU1807801A (en) | Thread-based methods and systems for using the idle processing power of one or more networked computers to solve complex scientific problems | |
US20060167925A1 (en) | System and method for providing system objects to a database | |
JP2002288405A (en) | Method for project management, project managing server, accepting server, and program | |
Fagg et al. | Taskers and general resource managers: PVM supporting DCE process management | |
US6502121B1 (en) | System and method for processing a recurrent operation | |
JP2000347957A (en) | Remote maintenance system | |
JP2003058266A (en) | License management method and license management program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |