Abstract:
Generally in a computing environment, executing work based on time (i.e. according to a predetermined schedule) is a common need. However, in cloud based systems, scheduled work may be expensive to customers as generally customers rent system resources. Thus, having a processor dedicated to performing actions that have been pre-scheduled can be expensive. This application describes using a continuation-based runtime for scheduling time-bound and/or periodic work in a distributed (i.e. cloud) system. A system architecture and computer-implemented method are described that deploy an environment-independent action to a remote-based system (such as a cloud computing system, for example). The action is limited to using a predetermined amount of resources and is limited to simple, non-cpu intensive orchestrations of network calls. A schedule is defined for the action, and the action is then called in a processor-independent fashion (for example, by using a continuation based runtime) such that state of the action is maintained independent of the processor on which the action is being executed.
Abstract:
The present invention extends to methods, systems, and computer program products for creating and manipulating custom compound data types in declarative programs. The present invention allows a developer to create and use custom compound data types without requiring the custom type to be specifically defined (e.g. via registering a custom assembly) in the underlying framework. This is accomplished by providing a data container that is configurable to represent virtually any combination of primitive or compound types defined within the framework. The present invention also provides a declarative model for interacting with data containers representing custom compound data types. This declarative model employs a path-based syntax (or other type of syntax) for accessing the elements of a custom compound data type. Multiple paths can be defined within a single unit of developer input so that multiple elements of a custom data type can be manipulated by the single unit of input.
Abstract:
Scheduling a scheduled and optionally periodic action in a remote based system. The method includes deploying an environment independent action to a remote based system. The action is limited to using a predetermined amount of resources and is limited to simple, non-cpu intensive orchestrations of network calls. The method further includes defining a schedule for the action to be executed. Calling the action at the remote based system based on the schedule in a processor independent fashion such that state of the action is maintained independent of the processor that the action is being executed on.
Abstract:
Scheduling and dispatching jobs for a plurality of different entities. A method includes receiving at a work coordinator, one or more actions associated with a job. The method further includes storing in a log at the work coordinator, keyed on a job key, state for the one or more actions and a list of the one or more actions. The method further includes making calls to one or more worker processes to cause the worker process to perform actions associated with the job. As a result of making calls to one or more worker processes, the method further includes receiving at least one of a change to the list of remaining actions or the state.
Abstract:
The present invention extends to methods, systems, and computer program products for creating and manipulating custom compound data types in declarative programs. The present invention allows a developer to create and use custom compound data types without requiring the custom type to be specifically defined (e.g. via registering a custom assembly) in the underlying framework. This is accomplished by providing a data container that is configurable to represent virtually any combination of primitive or compound types defined within the framework. The present invention also provides a declarative model for interacting with data containers representing custom compound data types. This declarative model employs a path-based syntax (or other type of syntax) for accessing the elements of a custom compound data type. Multiple paths can be defined within a single unit of developer input so that multiple elements of a custom data type can be manipulated by the single unit of input.