WO2004029805A2 - A common scheduler web service for distributed network environments - Google Patents
A common scheduler web service for distributed network environments Download PDFInfo
- Publication number
- WO2004029805A2 WO2004029805A2 PCT/GB2003/003944 GB0303944W WO2004029805A2 WO 2004029805 A2 WO2004029805 A2 WO 2004029805A2 GB 0303944 W GB0303944 W GB 0303944W WO 2004029805 A2 WO2004029805 A2 WO 2004029805A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- scheduler
- web service
- application
- specified
- wrap
- Prior art date
Links
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/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
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Definitions
- the present invention relates generally to web-based scheduler applications, and is more particularly concerned with a system and method that facilitates the hosting of scheduler web services provided to computing devices in distributed network environments.
- Scheduler applications provide both users and computing applications with the ability to request the execution of specific tasks according to a schedule.
- This schedule may require that a specific task be executed at a particular time or upon the occurrence of a particular event.
- the schedule may require that the specific task be executed on a recurring basis, at multiple times (possibly at a pre-determined interval) or upon the occurrence of a repetitive event or of a series of different events.
- the scheduler service can then command one or more applications to perform the specific task as requested.
- scheduler services have been implemented as applications that are run on a local server. ' These applications schedule tasks from that server, and execute tasks on that server.
- Microsoft Corporation's Windows® operating system provides a built-in general-purpose scheduler service, which can be used to schedule one or more application tasks that are run locally within the computer in which the operating system is installed.
- this computer is connected to other computing devices in a network, a problem with this built-in scheduler service is that a task cannot be remotely scheduled from a different computing device in the network. Similarly, this built-in scheduler service cannot remotely command that a task be executed on a different computing device in the network.
- a web service can be defined as one or more application functions that can be invoked over the Internet using a protocol .
- a protocol that may be used in this context is the Simple Object Access Protocol (SOAP) , which may be used by Internet-based application servers, also known as web servers, to provide web services.
- SOAP is a protocol that is often used in the exchange of information in decentralized, distributed network environments .
- the present invention is directed to a system and method that facilitates the hosting of scheduler web services provided to computing devices in distributed network environments .
- a system for providing scheduler services for scheduling tasks to be performed by applications residing on computing devices in a distributed network comprising: a scheduler web service wrap adapted for coupling to a scheduler engine that resides on a first computing device, wherein the scheduler web service wrap comprises a scheduler web service interface, whereby the scheduler engine is programmed to command applications to execute scheduled tasks according to a schedule; and a wakeup web service wrap adapted for coupling to an application that resides on a second computing device in the distributed network, wherein the second computing device is remotely located from the first computing device in the distributed network, and wherein each wakeup web service wrap comprises a wakeup web service interface; wherein the scheduler web service wrap is further adapted to communicate with the wakeup web service wrap through the scheduler web service interface and the wakeup web service interface, such that when the scheduler engine commands the application to execute a specified scheduled task, the scheduler web service wrap communicates an instruction to the wakeup web. service wrap coupled to the application
- a method of providing scheduler services for scheduling tasks to be performed by applications residing on computing devices in a distributed network comprising the steps of: receiving a request for an application to execute a specified scheduled task according to a specified schedule from an administrator, wherein the request is received through a scheduler web service interface of a scheduler web service wrap, the scheduler web service wrap adapted for coupling to a scheduler engine residing on a first computing device, whereby the scheduler engine is programmed to command applications to execute scheduled tasks according to a schedule; communicating the request to the scheduler engine, whereby the scheduler engine will command the application to execute the specified scheduled task according to the specified schedule; communicating an instruction to a wakeup web service wrap coupled to the application when the scheduler engine commands the application to execute the specified scheduled task, wherein the instruction is communicated through the scheduler web interface and a wakeup web service interface of the wakeup web service wrap, the wakeup web service wrap adapted for coupling to the application, wherein the application resides on a
- the present invention relates to a common scheduler web service for use in distributed network environments .
- the common scheduler web service is implemented as a web service, so that it can be invoked remotely by a client application on computing devices in the distributed network through a web service interface.
- the scheduling of tasks can be managed on a separate server.
- the common scheduler web service is more flexible and more easily facilitates the remote scheduling of tasks in distributed network environments.
- the common scheduler web service can command tasks to be performed on multiple machines, without the need to configure a separate scheduler service on each machine. This may be particularly advantageous in a web hosting environment.
- the common scheduler web service can take advantage of the fact that web services can typically tunnel easily through firewalls. Furthermore, the common scheduler web service can be hosted, and its usage can be metered and provisioned as a billable service.
- the present invention thus provides for a generic common scheduler web service, which is a web-based scheduler service that is distributed, remotely activated, and self-managed.
- a "wake-up call" model is used to activate processes and applications that are scheduled to execute specific tasks.
- the remote processes and applications can self-register to the web-based scheduler service, enabling the underlying scheduling engine to be used for ad hoc scheduling, by processes and applications previously unknown to the scheduler.
- the decision to schedule tasks does not originate from the scheduling engine, but instead originates from the processes and applications themselves.
- the common scheduler web service is a set of web service application program interfaces (API) that can be used to "wrap" any traditional scheduler service so that the traditional scheduler service can be shared by client applications as a hosted web service. Therefore, in accordance with the present invention, different scheduler engines can be encapsulated or "wrapped" and served to users and computing applications as a common scheduler web service. Since the common scheduler web service provides a common web service interface to users and computing applications, computing devices running on different operating systems can schedule tasks using the same scheduler engine.
- API application program interfaces
- Figure 1 is a conceptual, schematic diagram of a system in which a common scheduler web service is used in accordance with a preferred embodiment of the invention
- Figure 2 is a schematic diagram illustrating a system for providing scheduler services for scheduling tasks to be performed by applications residing on computing devices in a distributed network in an embodiment of the invention
- Figures 3A, 3B, and 3C are schematic diagrams illustrating the flow of commands between components of a system for providing scheduler services for scheduling tasks to be performed by applications residing on computing devices in a distributed network in alternative embodiments of the invention;
- Figure 4 is a schematic diagram illustrating a system for providing scheduler services for scheduling tasks to be performed by applications residing on computing devices in a distributed network further comprising means to monitor the usage of the common scheduler web service in an embodiment of the invention
- Figure 5 is a flowchart illustrating the steps of a method of providing scheduler services for scheduling tasks to be performed by applications residing on computing devices in a distributed network in an embodiment of the invention.
- Figure 6 is a flowchart illustrating the steps of a method of providing scheduler services for scheduling tasks to be performed by applications residing on computing devices in a distributed network in another embodiment of the invention.
- FIG. 1 is a conceptual, schematic diagram of a system in which a common scheduler web service is used in accordance with a preferred embodiment of the invention, shown generally as 10.
- System 10 comprises a common scheduler web service provided by a scheduler web service wrap 20 that "wraps" or encapsulates a scheduler engine 22.
- scheduler web service wrap 20 that "wraps" or encapsulates a scheduler engine 22.
- different scheduler engines 22 can be encapsulated and served as scheduler web services, by providing a scheduler web service interface through scheduler web service wrap 20 to different users and computing applications who may wish to have access to the management capabilities of the scheduler engines 22.
- System 10 also comprises one or more wakeup web services, each provided by a wakeup web service wrap 24 that "wraps" or encapsulates at least one application 26.
- Each wakeup web service wrap 24 is used to command its respective application 26 to perform a specified scheduled task.
- Scheduler web service wrap 20 and wakeup web service wrap 24 perform different roles in system 10.
- Scheduler web service wrap 20 provides a common scheduler web service that manages scheduled tasks to be executed by applications 26 according to a schedule, using scheduler engine 22.
- a scheduled task may be a program created by applications to perform a specified task such as "generate weekly report" or "mass load store catalogs".
- a scheduler job is created, which scheduler engine 22 is responsible to run when the current time is matched with the scheduled time, as would typically be performed by a traditional scheduler service.
- Information on the scheduler job is stored in a scheduler registry [not shown] .
- the scheduler registry may be an XML file, or a database table, for example.
- scheduler engine 22 commands the application associated with the scheduler job to perform the specified scheduled task.
- the management of scheduled tasks need not be limited to the creation of scheduled tasks and the commanding of applications to execute the scheduled tasks, but may also include the handling of requests to cancel a specified scheduled task, to suspend a specified scheduled task, to resume a previously. suspended specified scheduled task, to obtain the status of a specified scheduled task, and to purge tasks from the scheduler registry, for example.
- wakeup web service wrap 24 acts as a scheduler invoker.
- scheduler engine 22 commands the application 26 associated with a given wakeup web service wrap 24 to perform a specified scheduled task
- scheduler web service wrap 20 will communicate an instruction to the wakeup web service wrap 24.
- Wakeup web service wrap 24 will then invoke application 26 to execute the specified scheduled task in response to the instruction it received from scheduler web service wrap 20.
- Wakeup web service wrap 24 may then also communicate status information back to scheduler web service wrap 20 and scheduler engine 22, to indicate whether the task was successfully or unsuccessfully executed, for storage in the scheduler registry.
- scheduler web service wrap 20 and wakeup web service wrap 24 reside on different computing devices . Accordingly, applications may be invoked remotely by scheduler engine 22.
- Applications 26 in system 10 may themselves utilize the scheduler engine 22 provided by the common scheduler web service to request that a specified application execute a specified scheduled task according to a specified schedule, by requesting the creation of a scheduler job.
- the request to the scheduler engine 22 is made through scheduler web service wrap 20. In this manner, requests to execute scheduled tasks according to a schedule may be made remotely.
- the same application that requests the creation of a scheduler job is the same application that will perform the associated scheduled task, this is not required.
- One application can request that one or more different applications execute a scheduled task, and these applications may reside on the same computing device or on different computing devices in a distributed network.
- Requests to create scheduler jobs may also be made by a user through a scheduler management user interface (UI) 28, which may reside on a remote computing device, or which may reside on the same computing device on which the scheduler engine resides .
- the request to the scheduler engine 22 is made through scheduler web service wrap 20. In this manner, requests to execute scheduled tasks according to a schedule may be made remotely.
- the user or computing application that makes requests to create scheduler jobs may be referred to as an administrator. In the first case where application 26 makes the request, the administrator may be more specifically referred to as an application server administrator. While an application server administrator can be an application that automatically generates requests, it may also be a person (i.e. a manual process), which generates requests using an application.
- the administrator may be more specifically referred to as a common scheduler administrator.
- a common scheduler administrator may facilitate the scheduling of tasks on multiple remote machines from a single computing device.
- scheduler web service wrap 20 and wakeup web service wrap 24 may be more easily understood by considering the analogy of a hotel wakeup call.
- a hotel customer makes a request to the wakeup call service offered at the hotel for a morning call. The next morning, at the scheduled time, the customer will receive the morning call, allowing the customer to perform a specified task.
- scheduler web service wrap 20 receives a request from an administrator, and subsequently at the scheduled time, a "wake-up call" will be communicated to wakeup web service wrap 24.
- the wakeup web service plays the role of a client agent responsible for invoking a specific application on an application server to perform a specified task.
- a common scheduler web service is easier to configure than traditional scheduler services since only one scheduler service needs to be configured on one computing device. Applications on other computing devices that want to utilize the functionality of scheduler engine 22 can share the common scheduler web service. Accordingly, the common scheduler web service can be advantageously adapted for use in distributed network environments. Further, both scheduler web service wrap 20 and wakeup web service wrap 24 provide platform-independent scheduler web service interfaces (e.g. as shown in Figure 2) , allowing them to serve various types of clients and servers, running a variety of different operating systems .
- FIG. 2 is a schematic diagram illustrating a system for providing scheduler services for scheduling tasks to be performed by applications residing on computing devices in a distributed network in an embodiment of the invention, shown generally as 10.
- Figure 2 provides a more detailed view of the conceptual elements illustrated in Figure 1.
- scheduler web service wrap 20 effectively "wraps" scheduler engine 22 by controlling access to scheduler engine 22 by remote users through scheduler management UI 28 and applications 26.
- Scheduler web service wrap 20 and scheduler engine 22 will typically reside on the same server [not shown] , but may optionally reside on separate computing devices.
- Scheduler web service wrap 20 provides users and applications 26 with access to the functionality of scheduler engine 22, through a scheduler web service interface 30 to a scheduler handler 32.
- Scheduler web service interface 30 is implemented using Web Service Definition Language (WSDL) .
- WSDL is an Extensible Markup Language (XML) format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information. The operations and messages are described abstractly, and then bound to a concrete network protocol and message format to define an endpoint. Related concrete endpoints are combined into abstract endpoints (i.e. services).
- WSDL is extensible to allow description of endpoints and their messages regardless of what message formats or network protocols are used in communications (e.g. SOAP, Hypertext Transfer Protocol (HTTP) and Multipurpose Internet Mail Extensions (MIME) ) .
- SOAP Hypertext Transfer Protocol
- MIME Multipurpose Internet Mail Extensions
- a WSDL file is utilized by scheduler web service interface 30 that describes operations and messages such as "create”, “cancel”, and so on. This interface allows applications 26 and scheduler management UI 28 to call scheduler handler 32 to schedule and manage tasks, and is platform-independent.
- Scheduler handler 32 is a specific implementation to handle scheduler operations that is extended from a default scheduler web service implementation 33, and that is suitable for a specific scheduler engine 22. Although only one scheduler engine 22 is shown in Figure 2, scheduler web service wrap 20 may be adapted for coupling to multiple scheduler engines. For example, different scheduler engines (including a variety of traditional scheduler engines) can be used in system 10, by providing different schedule handlers 32 within scheduler web service wrap 20, each extended from the default scheduler web service implementation 33. The use of different scheduler handlers is preferable in this case, since the different scheduler engines may behave differently, making it desirable to encapsulate these differences behind the single scheduler web service interface 30.
- each wakeup web service wrap 24 effectively "wraps" application 26 by controlling access to application 26 by the common scheduler web service, and more particularly, by scheduler web service interface 30 of scheduler web service wrap 20.
- Wakeup web service wrap 24 and application 26 will typically reside on the same server [not shown] , but may optionally reside on separate computing devices.
- Wakeup web service wrap 24 provides an interface to application 26 for scheduler web service interface 30, through a wakeup web service interface 34 and a module 36 implementing the wakeup web service to invoke application 26.
- scheduler web service wrap 20 Communication between scheduler web service wrap 20 and wakeup web service wrap 24 is effected through scheduler web service interface 30 and wakeup web service interface 34 respectively.
- scheduler web service wrap 20 communicates an instruction to wakeup web service wrap 24, after which module 36 of wakeup web service wrap 24 commands application 26 to execute the specified scheduled task in response to the instruction.
- the communication of this instruction may be referred to as a "wake-up call".
- the instruction comprises only a session key and task name of the scheduled job associated with the specified scheduled task, and no additional application-related information need be provided for module 36 to invoke application 26.
- module 36 may be extended to manage multiple applications through a single wakeup web service interface 34 of a given wakeup web service wrap 24, allowing one or more of the multiple applications to be invoked.
- an application 26 in system 10 may itself utilize the scheduler engine 22 to request that a specified application execute a specified scheduled task according to a specified schedule, by requesting the creation of a scheduler job.
- the request of application 26 (i.e. as application server administrator) to the scheduler engine 22 is made through scheduler web service interface 30 of scheduler web service wrap 20, and in preferred embodiments of the invention, through wakeup web service interface 34 of wakeup web service wrap 24 coupled to application 26.
- Requests to create scheduler jobs may also be made by a user (i.e. as common scheduler administrator) using scheduler management user interface (UI) 28 through scheduler web service interface 30 of scheduler web service wrap 20.
- UI scheduler management user interface
- FIGS 3A, 3B, and 3C are schematic diagrams illustrating the flow of commands between components of a system for providing scheduler services for scheduling tasks to be performed by applications residing on computing devices in a distributed network in alternative embodiments of the invention.
- FIGS illustrate several examples of alternative embodiments; however, it will be obvious to those skilled in the art that other arrangements are possible and other modifications can be made that remain within the scope of the present invention.
- applications 26 are coupled to their respective wakeup web service wraps 24, and both reside on respective client servers 40.
- Client servers 40 are remotely coupled to a server 42 upon which scheduler web service wrap 20 and coupled scheduler engine 22 reside, in a distributed network of system 10.
- An application 26 acting as an application server administrator makes a request for a specified application (or multiple applications) to execute a scheduled task, according to a schedule specified by the application server administrator.
- the specified application that is to execute the scheduled task may be the same application acting as the application server administrator, but alternatively, the specified application could instead be a different application within the distributed network.
- the request is received by scheduler web service wrap 20, which communicates the request to scheduler engine 22.
- the scheduler engine 22 schedules the job, storing the information on the scheduled job in its scheduler registry [not shown] .
- Scheduler engine 22 is programmed to command applications to execute scheduled tasks associated with scheduled jobs according to a schedule, in known manner. Accordingly, when scheduler engine 22 commands a specified application 26 to execute the specified scheduled task at a specific time according to the specified schedule, the command will be received by scheduler web service wrap 20, which will communicate an instruction to wakeup web service wrap 24 coupled to the specified application 26. Wakeup web service wrap 24 will command and invoke the specified application 26 to execute the specified scheduled task in response to the instruction.
- scheduler web service wrap 20 will communicate an instruction to wakeup web service wrap 24 coupled to the specified application 26. Wakeup web service wrap 24 will command and invoke the specified application 26 to execute the specified scheduled task in response to the instruction.
- a common scheduler administrator is not present in this embodiment .
- the application server administrator may also make requests to cancel a specified scheduled task, to suspend a specified scheduled task, to resume a previously suspended specified scheduled task, to obtain the status of a specified scheduled task, and to purge tasks from the scheduler registry, for example, as may be provided by scheduler web service interface 30 of scheduler web service wrap 20.
- Means to control specific access permissions e.g. to allow only certain applications 26 to make certain requests
- scheduler management UI 28 is coupled to scheduler web service wrap 20.
- Scheduler management UI 28 is remotely located from server 42 and provides remote users [not shown] with access to scheduler engine 22.
- a user can act as a common scheduler administrator using scheduler management UI 28.
- the common scheduler administrator makes requests for a specified application (or multiple applications) to execute a scheduled task according to a schedule specified by the common scheduler administrator.
- the request is received by scheduler web service wrap 20, which communicates the request to scheduler engine 22.
- the scheduler engine 22 schedules the job, storing the information on the scheduled job in its scheduler registry [not shown] .
- Scheduler engine 22 is programmed to command applications to execute scheduled tasks associated with scheduled jobs according to a schedule, in known manner. Accordingly, when scheduler engine 22 commands a specified application 26 to execute the specified scheduled task at a specific time according to the specified schedule, the command will be received by scheduler web service wrap 20, which will communicate an instruction to wakeup web service wrap 24 coupled to the specified application 26. Wakeup web service wrap 24 will command and invoke the specified application 26 to execute the specified scheduled task in response to the instruction. Accordingly, a common scheduler administrator can facilitate the scheduling of tasks on multiple remote machines from a single computing device.
- Applications 26 may or may not also act as application server administrators in this embodiment, and more than one scheduler management UI 28 and/or common scheduler administrators may co-exist. Access to scheduler engine 22 by application server administrators and common scheduler administrators can be controlled through the scheduler web service interface (30 of Figure 2) of scheduler web service wrap 20.
- the common scheduler administrator may also make requests to cancel a specified scheduled task, to suspend a specified scheduled task, to resume a previously suspended specified scheduled task, to obtain the status of a specified scheduled task, and to purge tasks from the scheduler registry, for example, as may be provided by scheduler web service interface 30 of scheduler web service wrap 20.
- Means to control specific access permissions e.g. to allow only certain applications 26 or certain users to make certain requests
- a network of computing devices implementing more than one common scheduler web service.
- more than one common scheduler web service may be configured.
- a network dispatch server 44 can be used to determine which common scheduler web service in the network of system 10 has a lower load balance. The request to create the scheduler task can be relayed to the selected common scheduler web service in order to obtain optimum performance.
- a hub [not shown] to receive instructions from one or more scheduler web service wraps 20 to be relayed to multiple client servers 40 connected to the hub.
- Figure 4 is a schematic diagram illustrating a system for providing scheduler services for scheduling tasks to be performed by applications residing on computing devices in a distributed network further comprising means to monitor the usage of the common scheduler web service in an embodiment of the invention.
- the common scheduler web service can be hosted and provisioned as a billable service. As a hosted service, it can be metered, and therefore users can be charged for using the service.
- means for monitoring the usage of the common scheduler web service, and more particularly, scheduler engine 22, is provided for by a pre-interceptor module 50 and a post-interceptor module 52, coupled to a metering service 54 that may, optionally, be located on a remote computing device.
- scheduler engine 22 When a task is created, the usage of scheduler engine 22 is metered by monitoring access to scheduler engine 22, and by sending data indicating such access to metering service 54. When scheduler engine 22 commands a scheduled task to be executed, the usage of scheduler engine 22 can also be similarly metered. When status information regarding whether or not the scheduled task was successfully executed is communicated back to scheduler engine 22 for storage in a scheduler registry, the usage of scheduler engine 22 may also be metered.
- Metering service 54 determines the level of usage of scheduler engine for each application 26 or users operating scheduler management UI 28, based on the data it receives. Information on the level of usage can be relayed to a billing and rating service 56, which may also be located on a remote device. This allows users of system 10 to be charged for their usage of scheduler engine 22.
- Figure 5 is a flowchart illustrating the steps of a method of providing scheduler services for scheduling tasks to be performed by applications residing on computing devices in a distributed network in an embodiment of the invention. The method commences at step 60.
- the scheduler web service interface e.g. scheduler web service interface 30 of Figure 2 of a scheduler web service wrap (e.g. scheduler web service wrap 20 of Figure 2) receives a request for an application to execute a specified scheduled task according to a specified scheduler from an administrator, by way of a SOAP call.
- the request can be initiated by an application server administrator or by a common scheduler administrator.
- the scheduler web service interface loads the scheduler handler (e.g. scheduler handler 32 of Figure 2) , which communicates the request to the scheduler engine (e.g. scheduler engine 22 of Figure 2) for scheduling.
- the scheduler engine is programmed to command applications to execute scheduled tasks, according to a specified schedule associated with those tasks .
- Information pertaining to the requests is stored in a scheduler registry.
- task information is retrieved from the scheduler registry.
- the task information may include, for example, the task name, task location, and a session key.
- the scheduler handler generates an instruction from the task information, which the scheduler web service interface communicates to the wakeup web service wrap (e.g. wakeup web service wrap 24 of Figure 2) coupled to the specified application (e.g. application 26 of Figure 2) associated with the specified scheduled task, by way of a SOAP call.
- the wakeup web service wrap e.g. wakeup web service wrap 24 of Figure 2
- the specified application e.g. application 26 of Figure 2
- the wakeup web service wrap commands the specified application to execute the specified scheduled task in response to the instruction by invoking the application.
- Information that indicates whether or not the specified scheduled task was successfully executed may also be sent back to the scheduler engine at this step. This allows error messages to be generated if the specified scheduled tasks fails to be executed successfully. This also allows failed tasks to be rescheduled if desired.
- Steps 62 to 70 may be repeated.
- Step 72 marks the end of the method in accordance with one embodiment of the invention.
- Figure 6 is a flowchart illustrating the steps of a method of providing scheduler services for scheduling tasks to be performed by applications residing on computing devices in a distributed network in another embodiment of the invention. The method commences at step 80.
- the scheduler web service interface e.g. scheduler web service interface 30 of Figure 4
- a scheduler web service wrap e.g. scheduler web service wrap 20 of Figure 4
- the request can be initiated by an application server administrator or by a common scheduler administrator.
- the scheduler web service interface loads the scheduler handler (e.g. scheduler handler 32 of Figure 4) , which communicates the request to the scheduler engine (e.g. scheduler engine 22 of Figure 4) for scheduling by creating a scheduler job.
- the scheduler engine is programmed to command applications to execute scheduled tasks, according to a specified schedule associated with those tasks. Information pertaining to the requests is stored in a scheduler registry. In this embodiment, access to the scheduler handler is monitored, thereby metering the usage of the scheduler engine. Information pertaining to the usage of the scheduler engine when a scheduler job is created at this step, is provided to a metering service (e.g. metering service 54 of Figure 4), which in turn can be provided to a billing and/or rating service (e.g. billing and rating service 56 of Figure 4) .
- a metering service e.g. metering service 54 of Figure 4
- billing and/or rating service e.g. billing and rating service 56 of Figure 4
- task information is retrieved from the scheduler registry.
- the task information may include, for example, the task name, task location, and a session key.
- the scheduler handler generates an instruction from the task information, which the scheduler web service interface communicates to the wakeup web service wrap (e.g. wakeup web service wrap 24 of Figure 4) coupled to the specified application (e.g. application 26 of Figure 4) associated with the specified scheduled task, by way of a SOAP call.
- the scheduler handler access to the scheduler handler is monitored, thereby metering the usage of the scheduler engine.
- Information pertaining to the usage of the scheduler engine when the scheduler engine commands an application to execute a specified scheduled task is provided to a metering service, which in turn can be provided to a billing and/or rating service.
- the wakeup web service wrap commands the specified application to execute the specified scheduled task in response to the instruction by invoking the application.
- Information that indicates whether or not the specified scheduled task was successfully executed may also be sent back to the scheduler engine at this step. This allows error messages to be generated if the specified scheduled task fails to be executed successfully. This also allows failed tasks to be rescheduled if desired.
- Information pertaining to the usage of the scheduler engine when the scheduler engine receives an indication of whether the specified scheduled task was executed successfully may also be provided to a metering service, which in turn can be provided to a billing and/or rating service.
- the session key includes a unique session identifier, user identifier, and service-related information that is used to charge for usage of the scheduler engine. Steps 82 to 90 may be repeated. Step 92 marks the end of the method in accordance with one embodiment .
- a time zone mapping utility module may be provided for use in system 10.
- the time zone mapping utility module is preferably coupled to the scheduler web service wrap or a component therein, where the time zone mapping utility module is programmed to convert between a first scheduled time defined on a remote computing device, and a corresponding second scheduled time defined on the computing device in which the scheduler engine resides. This allows a common scheduler web service to properly schedule tasks for any remote clients that are located in a time zone other than the one used by the scheduler engine .
- a method of the present invention may also be embodied in one or more instructions stored on computer-readable media.
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004539174A JP2006501543A (en) | 2002-09-30 | 2003-09-12 | Common scheduler web service for distributed network environments |
EP03798240A EP1563378A2 (en) | 2002-09-30 | 2003-09-12 | A common scheduler web service for distributed network environments |
AU2003263354A AU2003263354A1 (en) | 2002-09-30 | 2003-09-12 | A common scheduler web service for distributed network environments |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002406089A CA2406089A1 (en) | 2002-09-30 | 2002-09-30 | A common scheduler web service for distributed network environments |
CA2,406,089 | 2002-09-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2004029805A2 true WO2004029805A2 (en) | 2004-04-08 |
WO2004029805A3 WO2004029805A3 (en) | 2005-06-16 |
Family
ID=32034683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/GB2003/003944 WO2004029805A2 (en) | 2002-09-30 | 2003-09-12 | A common scheduler web service for distributed network environments |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP1563378A2 (en) |
JP (1) | JP2006501543A (en) |
CN (1) | CN1751293A (en) |
AU (1) | AU2003263354A1 (en) |
CA (1) | CA2406089A1 (en) |
TW (1) | TWI224916B (en) |
WO (1) | WO2004029805A2 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007142710A1 (en) * | 2006-03-01 | 2007-12-13 | Computer Associates Think, Inc. | Method and system for scheduling computer processes using a common scheduling interface |
US8054487B2 (en) | 2004-12-16 | 2011-11-08 | International Business Machines Corporation | Mechanism to create a reservation against a future scheduling object instantiation |
CN103337003A (en) * | 2013-05-07 | 2013-10-02 | 山西太钢不锈钢股份有限公司 | Centralized scheduling method based on distributed terminal |
EP2846503A4 (en) * | 2013-07-02 | 2015-07-08 | Huawei Tech Co Ltd | Service scheduling method and apparatus, and network devices |
US9716580B2 (en) | 2012-05-31 | 2017-07-25 | E&C Holding Company, Llc | Virtual classroom management delivery system and method |
EP3285458A1 (en) * | 2011-02-10 | 2018-02-21 | Trilliant Holdings, Inc. | Device and method for facilitating secure communications over a cellular network |
US10200444B1 (en) * | 2005-08-24 | 2019-02-05 | Jpmorgan Chase Bank, N.A. | System and method for controlling a screen saver |
CN110968401A (en) * | 2018-09-28 | 2020-04-07 | 北京国双科技有限公司 | Task scheduling method and device based on Quartz |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0426509D0 (en) | 2004-12-03 | 2005-01-05 | Ibm | An email transaction system |
CN101499995B (en) * | 2008-01-29 | 2012-05-23 | 华为技术有限公司 | Service scheduling method, system and apparatus for service scheduling |
CN108446141B (en) * | 2018-02-28 | 2021-01-12 | 武汉智博创享科技股份有限公司 | Web front-end plug-in and method for scheduling and communicating based on same |
CN109144478B (en) * | 2018-07-12 | 2022-02-25 | 北京猫眼文化传媒有限公司 | Component frame system and method of using the same |
CN114706672B (en) * | 2022-06-06 | 2022-09-16 | 安徽三禾一信息科技有限公司 | Satellite autonomous mission planning system and method based on event-driven dynamic assembly |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010000194A1 (en) * | 1998-08-21 | 2001-04-05 | Sequeira William J. | System and method for a master scheduler |
WO2001082075A2 (en) * | 2000-04-25 | 2001-11-01 | Icplanet Acquisition Corporation | System and method for scheduling execution of cross-platform computer processes |
WO2002015006A1 (en) * | 2000-08-14 | 2002-02-21 | International Business Machines Corporation | Accessing legacy applications from the internet |
US20020029238A1 (en) * | 1999-08-12 | 2002-03-07 | Fujitsu Limited | Scheduler, schedule adjusting method, distributed scheduler system and storage medium storing schedule adjusting program |
-
2002
- 2002-09-30 CA CA002406089A patent/CA2406089A1/en not_active Abandoned
-
2003
- 2003-06-26 TW TW92117397A patent/TWI224916B/en not_active IP Right Cessation
- 2003-09-12 CN CN 03823433 patent/CN1751293A/en active Pending
- 2003-09-12 JP JP2004539174A patent/JP2006501543A/en not_active Withdrawn
- 2003-09-12 AU AU2003263354A patent/AU2003263354A1/en not_active Abandoned
- 2003-09-12 EP EP03798240A patent/EP1563378A2/en not_active Withdrawn
- 2003-09-12 WO PCT/GB2003/003944 patent/WO2004029805A2/en not_active Application Discontinuation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010000194A1 (en) * | 1998-08-21 | 2001-04-05 | Sequeira William J. | System and method for a master scheduler |
US20020029238A1 (en) * | 1999-08-12 | 2002-03-07 | Fujitsu Limited | Scheduler, schedule adjusting method, distributed scheduler system and storage medium storing schedule adjusting program |
WO2001082075A2 (en) * | 2000-04-25 | 2001-11-01 | Icplanet Acquisition Corporation | System and method for scheduling execution of cross-platform computer processes |
WO2002015006A1 (en) * | 2000-08-14 | 2002-02-21 | International Business Machines Corporation | Accessing legacy applications from the internet |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8054487B2 (en) | 2004-12-16 | 2011-11-08 | International Business Machines Corporation | Mechanism to create a reservation against a future scheduling object instantiation |
US10200444B1 (en) * | 2005-08-24 | 2019-02-05 | Jpmorgan Chase Bank, N.A. | System and method for controlling a screen saver |
US8972993B2 (en) | 2006-03-01 | 2015-03-03 | Ca, Inc. | Method and system for scheduling computer processes using a common scheduling interface |
WO2007142710A1 (en) * | 2006-03-01 | 2007-12-13 | Computer Associates Think, Inc. | Method and system for scheduling computer processes using a common scheduling interface |
US10198257B2 (en) | 2011-02-10 | 2019-02-05 | Trilliant Networks, Inc. | Device and method for facilitating secure communications over a cellular network |
EP3285458A1 (en) * | 2011-02-10 | 2018-02-21 | Trilliant Holdings, Inc. | Device and method for facilitating secure communications over a cellular network |
US10749658B2 (en) | 2012-05-31 | 2020-08-18 | E&C Holding Company, Llc | Virtual classroom management delivery system and method |
US9716580B2 (en) | 2012-05-31 | 2017-07-25 | E&C Holding Company, Llc | Virtual classroom management delivery system and method |
US10187192B2 (en) | 2012-05-31 | 2019-01-22 | E&C Holding Company, Llc | Virtual classroom management delivery system and method |
CN103337003A (en) * | 2013-05-07 | 2013-10-02 | 山西太钢不锈钢股份有限公司 | Centralized scheduling method based on distributed terminal |
EP3364617A1 (en) * | 2013-07-02 | 2018-08-22 | Huawei Technologies Co., Ltd. | Service scheduling method and apparatus, and network device |
KR101617323B1 (en) * | 2013-07-02 | 2016-05-02 | 후아웨이 테크놀러지 컴퍼니 리미티드 | Service scheduling method and apparatus, and network device |
US10489194B2 (en) | 2013-07-02 | 2019-11-26 | Huawei Technologies Co., Ltd. | Dynamic generation and adjustment of scheduling logic for packet processing |
EP2846503A4 (en) * | 2013-07-02 | 2015-07-08 | Huawei Tech Co Ltd | Service scheduling method and apparatus, and network devices |
US11016806B2 (en) | 2013-07-02 | 2021-05-25 | Huawei Technologies Co., Ltd. | Dynamic generation and adjustment of scheduling logic for packet processing by sets of processing modules |
CN110968401A (en) * | 2018-09-28 | 2020-04-07 | 北京国双科技有限公司 | Task scheduling method and device based on Quartz |
Also Published As
Publication number | Publication date |
---|---|
WO2004029805A3 (en) | 2005-06-16 |
JP2006501543A (en) | 2006-01-12 |
TW200412772A (en) | 2004-07-16 |
EP1563378A2 (en) | 2005-08-17 |
AU2003263354A1 (en) | 2004-04-19 |
TWI224916B (en) | 2004-12-01 |
CN1751293A (en) | 2006-03-22 |
CA2406089A1 (en) | 2004-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3965185B2 (en) | Scheduler that supports web service calls | |
US5881315A (en) | Queue management for distributed computing environment to deliver events to interested consumers even when events are generated faster than consumers can receive | |
AU2002362654B2 (en) | System for application server messaging with multiple dispatch pools | |
EP1438674B1 (en) | System for integrating java servlets with asynchronous messages | |
JP4507620B2 (en) | System for routing a service request to a service instance of a service providing infrastructure that provides resources for hosting the execution of a distributed service, and method and computer program thereof | |
AU2002362654A1 (en) | System for application server messaging with multiple dispatch pools | |
US20040249950A1 (en) | Transmitting and receiving messages through a customizable communication channel and programming model | |
EP1563378A2 (en) | A common scheduler web service for distributed network environments | |
US20020116505A1 (en) | Content provider and method for a computer system | |
WO2005106666A1 (en) | A system and method for modeling and dynamically deploying services into a distributed networking architecture | |
US7191232B2 (en) | Extendable provisioning mechanism for a service gateway | |
EP1523151A2 (en) | Method, application server, computer program and corresponding product for automatic creation and configuration of license models and policies | |
US8458716B2 (en) | Enterprise resource planning with asynchronous notifications of background processing events | |
EP1198101A1 (en) | Provisioning mechanism for a service gateway | |
Moon et al. | Real-time event kernel architecture for home-network gateway set-top-box (HNGS) | |
Krimmel et al. | SAP NetWeaver Process Integration | |
Rooney et al. | Edge server software architecture for sensor applications | |
Du et al. | Research on service bus for distributed real-time control systems | |
EP1569106A2 (en) | A scheduler supporting web service invocation | |
US20020124087A1 (en) | System and method for providing dynamic service using front-end | |
Ahmed et al. | The Cluster as Server | |
Lee et al. | Service-oriented runtime infrastructure on grid | |
Dogdu | An Extended Web Services Framework. | |
Lui et al. | Endpoints and Adapters | |
Eryigit | A highly adaptable generic event-based message channel design for loosely coupling software modules |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 167252 Country of ref document: IL |
|
WWE | Wipo information: entry into national phase |
Ref document number: 929/DELNP/2005 Country of ref document: IN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2004539174 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 20038234335 Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2003798240 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 2003798240 Country of ref document: EP |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 2003798240 Country of ref document: EP |