Patent classifications
G06F2209/548
DELAYED PROCESSING FOR ELECTRONIC DATA MESSAGES IN A DISTRIBUTED COMPUTER SYSTEM
A distributed computer system is provided. The distributed computer system includes at least one sequencer computing node and at least one matcher computing node. Electronic data messages are sequenced by the sequencer and sent to at least matcher computing node. The matcher computing node receives the electronic data messages and a reference value from an external computing source. New electronic data messages are put into a pending list before they can be acted upon by the matcher. A timer is started based on a comparison of the reference value (or a calculation based thereon) to at least one attribute or value of a new electronic data message. When the timer expires, the electronic data message is moved from the pending list to another list—where it is eligible to be matched against other, contra-side electronic data messages.
Subscription based event notifications
Systems and methods for providing targeted event notifications to subscribers are disclosed. In an example embodiment, events may be received from a publisher. The events may be categorized into a plurality of topics. The events may be distributed among brokers to process a topic selected from the plurality of topics based on the events. Further, it may be determined whether the topic exists in a list of topics handled by the brokers. Authentication credentials of the publisher may be validated, based on the determination. Based on the validation, queues of the events may be formed based on an order of receipt of the events. The events present in the queues may be filtered based on subscriptions of the events. For the fileted events, targeted even notifications may be forwarded to the subscribers.
System and method for increasing robustness of heterogeneous computing systems
Disclosed is a method for task pruning that can be utilized in existing resource allocation systems to improve the systems' robustness without requiring changing to existing mapping heuristics. The pruning mechanism leverages a probability model, which calculates the probability of a task competing before its deadline in the presence of task dropping, and only schedules tasks that are likely to succeed. Pruning tasks whose chance of success is low improves the chance of success for other tasks. Tasks that are unlikely to succeed are either deferred from current scheduling event or are preemptively dropped from the system. The pruning method can benefit service providers by allowing them to utilize their resources more efficiently and use them only for tasks that can meet their deadlines. The pruning method further helps end users by making the system more robust in allowing more tasks to complete on time.
Link optimization for callout request messages
A method and technique for link optimization for callout request messages includes monitoring one or more time-based parameters for each of a plurality of links between a communication pipe of a host system and one or more service systems. The links are used to send callout request messages between one or more applications running on the host system and the one or more service systems that process the callout request messages. The one or more time-based parameters are associated with different stages of callout request message processing by the communication pipe and the one or more service systems. The method also includes creating control data based on values of the one or more time-based parameters, creating the callout request messages to include the control data, and distributing the callout request messages to the one or more service systems via the links.
Concurrent process execution
Among other things, a node is enabled to participate, with other nodes, in forming and using transport layer features in a communication network, the transport layer features being extensible to support ten million or more simultaneous reliable conversations between or among applications running on respective participant nodes.
Workload-driven techniques for providing biased service level guarantees
Techniques and architectures for workload management. A stream of messages is received with servers coupled to provide access to shared system resources. The servers are organized as at least two groups with a first group providing message queuing services and a second group providing message queuing services under first conditions and modified message queuing services under second conditions. Message queuing services are provided with the first group by treating all jobs as equal, processing jobs asynchronously and processing jobs in the background to defer to foreground, non-message queuing services, jobs. Message queuing services are provided with the second group by treating all jobs as equal, processing jobs asynchronously and processing jobs in the background to defer to foreground, non-message queuing services, jobs under the first conditions. Modified message queuing services are provided with the second group by shortest-slack-first scheduling under the second conditions.
EVENT QUEUE MANAGEMENT FOR EMBEDDED SYSTEMS
An event management structure for an embedded system, which supports multiple waiters waiting on the same event without replicating the events for each waiter, is provided. Notifications of events are received from entities within an embedded system. The event management architecture then posts the events to a central queue and generates a unique identification tag for each posted event. Additionally, entities within the embedded system are allowed to wait on specific events. More specifically, entities may request access to specific events based on the unique identification tag associated with a particular event. In further implementations, data associated with queued events may be provided to the waiters. In some implementations, events matching a specific description since a particular event, identified by its unique identification tag, may be requested by entities in the embedded system.
Multi-User Application System Environment Engine
A multi-user application system environment engine has an application system that, in turn, includes a simulation engine and a virtualized software environment. The simulation engine runs on top of the virtualized software environment and includes a declaration processor, a scene tree object manager, a persistence processor in communication with the scene tree object manager, a visual editor, an editor broadcaster, an editor listener, and a rendering processor, coupled to the virtualized software environment, to requisition hardware resources to cause physical manifestation of an instantiated scene tree of objects.
Method and system for loading resources
Loading resources is disclosed including sending, using a first thread, a resource loading request to a second thread, the resource loading request including a request for a resource, the first thread and the second thread being located in one process; and the first thread running on a dynamic language runtime platform, receiving, using the first thread, an instruction sent back by the second thread in response to the resource loading request, and based on the instruction and the resource preloaded by the process, loading, using the first thread, the resource included in the resource loading request, the resource being preloaded by the process comprises a web engine.
Managed scaling of a processing service
A system implements managed scaling of a processing service in response to message traffic. Producers produce messages or other data and the messages are stored in a queue or message system. On behalf of consumers of the messages, workers of a client of the queue poll the queue or message service to obtain the messages. For example, a primary worker of the client polls the queue for messages and upon receiving a message, activates a secondary worker from a pool of secondary workers to start polling the queue for message. Now both workers are obtaining messages from the queue, and both workers may activate other secondary workers, exponentially scaling the message processing service in embodiments. When a secondary worker receives an empty polling response, the secondary deactivates back to the pool. The primary thread does not deactivate, even when empty polling responses are received.