Message Using Queue Patents (Class 719/314)
  • Patent number: 8893156
    Abstract: Methods, systems, and computer-readable media are disclosed for monitoring a distributed application. A particular method identifies a plurality of components of a distributed application. The method also identifies a specific technology associated with a particular component and attaches a technology specific interceptor to the particular component based on the identified specific technology. The method includes intercepting messages that are sent by or received by the particular component using the technology specific interceptor. At least one potential work item is generated based on the intercepted messages. The method includes determining whether to schedule the at least one potential work item for execution based on a predicted impact of the at least one work potential item on performance of the distributed application.
    Type: Grant
    Filed: March 24, 2009
    Date of Patent: November 18, 2014
    Assignee: Microsoft Corporation
    Inventors: Alexandre A. Coelho, Venkata Seshu Kumar Kurapati, Ilarie G. Letca, Ashvinkumar J. Sanghvi, Dhananjay M. Mahajan, Rajeev Sudhakar, Anandha K. Ganesan
  • Patent number: 8887175
    Abstract: Administering incident pools including assigning an incident received from one or more components of the distributed processing system to a pool of incidents; assigning to each incident a particular combined minimum time for inclusion of the incident in the pool; in response to the pool closing, determining for each incident in the pool whether the incident has met its combined minimum time for inclusion in the pool; if the incident has been in the pool for its combined minimum time, including the incident in the closed pool; if the incident has not been in the pool for its combined minimum time, moving the incident from the closed pool to a next pool; applying incident suppression rules using the incidents assigned to the next pool; and applying incident creation rules to the incidents that were assigned to the next pool, while omitting any duplicate incidents caused by the assignment.
    Type: Grant
    Filed: October 18, 2011
    Date of Patent: November 11, 2014
    Assignee: International Business Machines Corporation
    Inventors: James E. Carey, Philip J. Sanders
  • Patent number: 8875155
    Abstract: A data flow processing system represents processing by a directed graph including processing nodes that generate, and process, groups of dependent messages and that can process such groups of messages in order. To identify a group of messages, the system applies message identifiers to messages. Processing of a message may generate child messages. A child message is assigned a message identifier that incorporates the message identifier of the parent message. The message identifier of the parent message is annotated to indicate the number of related child messages. The processing node maintains a buffer to store messages in the group. When a message is received, its message identifier indicates whether it is in a group and information about the group. From this information the processing node determines whether all messages within the group have been received, at which time the processing node can process the messages in order.
    Type: Grant
    Filed: July 16, 2013
    Date of Patent: October 28, 2014
    Assignee: Attivio, Inc.
    Inventors: William K. Johnson, III, Martin Anthony Serrano
  • Patent number: 8869169
    Abstract: Among other things, processing an incoming message stream includes storing context data of an application in a global database. Various messages from the incoming message stream are placed in an in-memory message queue. One of at least a first and a second phases at a first process is executed, and another of the at least first and second phases at a second process is also executed, so as to alternately execute a first phase and a second phase by a first process and a second process. The first phase includes processing at least one message from the various messages and storing at least one corresponding result in a local memory area. The first phase also includes storing al least one modification to the context data in the local memory area. The second phase includes performing a transaction of the at least one result and the at least one modification of the context data to the global database and committing the transaction.
    Type: Grant
    Filed: April 30, 2007
    Date of Patent: October 21, 2014
    Assignee: Accenture Global Services Limited
    Inventor: Alexandros Fountoukas
  • Patent number: 8863151
    Abstract: A request to post a message to a destination is intercepted in an operating environment in which processes communicate via message queues. Message content and requester information associated with the request is evaluated to determine whether the message is to be posted. The message is posted to a message queue of the destination if the message is to be posted.
    Type: Grant
    Filed: August 15, 2007
    Date of Patent: October 14, 2014
    Assignee: Red Hat, Inc.
    Inventor: James P. Schneider
  • Patent number: 8856792
    Abstract: One embodiment includes a method of performing dataflow processing. The method includes representing a first asynchronous processing node as a first future. The first future represents the lifecycle of processing of the first asynchronous processing node. The method further includes representing one or more other asynchronous operations as one or more other futures. The one or more other futures represent the asynchronous completion of one or more operations'processing. The first future and the one or more other futures are represented as a single composite future. The single composite future represents completion of processing of the combination of the first asynchronous processing node and the one or more other asynchronous operations.
    Type: Grant
    Filed: December 17, 2010
    Date of Patent: October 7, 2014
    Assignee: Microsoft Corporation
    Inventors: Zlatko V. Michailov, Niklas Gustafsson, Daniela Cristina Manu, Stephen H. Toub
  • Patent number: 8856804
    Abstract: A method for measuring application responsiveness measures the time elapsed between receiving and processing a trailing tag message inserted into the application's message queue. The method receives a message, generates a trailing tag message associated with the message, and inserts the trailing tag message into the application's message queue. The trailing tag message includes a timestamp indicating when the trailing tag message was queued. A default message handler calculates the time elapsed between when the trailing tag message was queued and when the trailing tag message was processed. The elapsed time may then be used to calculated system responsiveness.
    Type: Grant
    Filed: February 8, 2008
    Date of Patent: October 7, 2014
    Assignee: Microsoft Corporation
    Inventors: Costin Hagiu, Wilhelm R. Schmieder, Gabriel Hera
  • Publication number: 20140298357
    Abstract: An operating system for an aircraft according to an exemplary aspect of the present disclosure includes, among other things, a core services layer and a hardware interface layer that is time and space partitioned from the core services layer. The hardware interface layer is operable to control communications with hardware in a computer.
    Type: Application
    Filed: June 10, 2014
    Publication date: October 2, 2014
    Inventors: Jeffrey S. Schmidt, Mark E. Jenkinson
  • Patent number: 8850452
    Abstract: At least one presently preferred embodiment of the invention broadly contemplates correlating asynchronous transaction parts based on a unique transaction value (e.g. a unique business ID) that all the transaction parts will have access to. This avoids the need for enriching/changing the message body or message header with ARM “correlator” information.
    Type: Grant
    Filed: October 23, 2009
    Date of Patent: September 30, 2014
    Assignee: International Business Machines Corporation
    Inventor: Vishnu Namboothiri Karakkattillathu Vishnu Namboothiri
  • Patent number: 8850456
    Abstract: In one embodiment, the present invention includes a system that can optimize message passing by, at least in part, automatically determining a minimum number of fabrics and virtual channels to be activated to handle pending connection requests and data transfer requests, and preventing processing of new connection requests and data transfer requests outside of a predetermined communication pattern. Other embodiments are described and claimed.
    Type: Grant
    Filed: April 23, 2012
    Date of Patent: September 30, 2014
    Assignee: Intel Corporation
    Inventors: Vladimir D. Truschin, Alexander V. Supalov, Alexey V. Ryzhykh
  • Publication number: 20140289744
    Abstract: Transactional capable queuing is provided. A queue having an ordered list of messages is provided. A get cursor operation is provided within the queue to point to a current starting place for a getting application to start searching for a message to retrieve. A first lock is provided for putting operations, in response to there being more than one putting application, to ensure only one application is putting to the queue at a time. A second lock is provided for getting operations, in response to there being more than one getting application, to ensure that only one application is getting from the queue at a time. Putting applications and getting applications are synchronized to check and update the get cursor operation.
    Type: Application
    Filed: January 30, 2014
    Publication date: September 25, 2014
    Applicant: International Business Machines Corporation
    Inventors: Ian C. Edwards, Jonathan Levell, Trevor Lobban, Andrew J. Schofield
  • Patent number: 8843940
    Abstract: Audit objects generated by applications executing on one or more computers are received in a central queue. Each audit object is generated responsive to a transaction occurrence in the execution of an application. Each audit object includes detailed information about the transaction occurrence, including information identifying the application and the transaction that occurred. Each audit object in the central queue is transformed from a format used by the application into a common format for audit processing with respect to all of the applications. At least some of the formats used by the applications are different. Each transformed audit object is placed into a record in a central database for the respective application by populating the detailed information about the transaction occurrence from each transformed audit object into fields of the record in the database for the respective application.
    Type: Grant
    Filed: March 23, 2011
    Date of Patent: September 23, 2014
    Assignee: Cellco Partnership
    Inventor: Madhu Bharathula
  • Patent number: 8843943
    Abstract: A method and system for generating a set of service definitions relating to a computer application based on a set of activity events associated with a service. Based on an examination of an existing service of interest, a set of activity traces is extracted from the set of activity events and common activity events in each activity trace are identified. The common activity events are transformed into service actions and a service definition is generated including the service actions. The generated service definition may then be deployed on a suitable computing system, such as, for example, a Service Oriented Architecture (SOA) platform.
    Type: Grant
    Filed: April 23, 2012
    Date of Patent: September 23, 2014
    Assignee: Red Hat, Inc.
    Inventor: Gary Peter Brown
  • Publication number: 20140282613
    Abstract: Acknowledging incoming messages, including: determining, by an acknowledgement dispatching module, whether an incoming message has been received in an active message queue; responsive to determining that the incoming message has been received in the active message queue, resetting, by the acknowledgement dispatching module, an acknowledgment iteration counter; incrementing, by the acknowledgement dispatching module, the acknowledgment iteration counter; determining, by the acknowledgement dispatching module, whether the acknowledgment iteration counter has reached a predetermined threshold; and responsive to determining that the acknowledgment iteration counter has reached the predetermined threshold, processing, by the acknowledgement dispatching module, all messages in the active message queue.
    Type: Application
    Filed: March 14, 2013
    Publication date: September 18, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: INTERNATIONAL BUSINESS MACHINES CORPORATION
  • Publication number: 20140282612
    Abstract: Acknowledging incoming messages, including: determining, by an acknowledgement dispatching module, whether an incoming message has been received in an active message queue; responsive to determining that the incoming message has been received in the active message queue, resetting, by the acknowledgement dispatching module, an acknowledgment iteration counter; incrementing, by the acknowledgement dispatching module, the acknowledgment iteration counter; determining, by the acknowledgement dispatching module, whether the acknowledgment iteration counter has reached a predetermined threshold; and responsive to determining that the acknowledgment iteration counter has reached the predetermined threshold, processing, by the acknowledgement dispatching module, all messages in the active message queue.
    Type: Application
    Filed: March 13, 2013
    Publication date: September 18, 2014
    Applicant: International Business Machines Corporation
    Inventors: Tsai-Yang Jea, Serban C. Maerean, Ilie G. Tanase, Hanhong Xue
  • Patent number: 8839267
    Abstract: Disclosed embodiments include a Java messaging method for efficient inter-node and intra-node communications on computer systems with multi-core processors interconnected via high-speed network interconnections. According to one embodiment, the Java messaging method accesses the high-speed networks and memory more directly and reduces message buffering. Additionally, intra-node communications utilize shared memory transfers within the same Java Virtual Machine. The described Java messaging method does not compromise Java portability and is both user and application transparent.
    Type: Grant
    Filed: February 20, 2012
    Date of Patent: September 16, 2014
    Assignee: Universidade da Coruna-Otri
    Inventors: Guillermo Lopez Taboada, Juan Tourino Dominguez, Ramon Doallo Biempica
  • Patent number: 8839268
    Abstract: A method and system of avoiding silent data corruption in a request-response messaging system where a requester relies on tags to match request messages with response messages. The silent data corruption occurring if the requester process a response message after a tag used with the response message was reused with another request message.
    Type: Grant
    Filed: February 7, 2008
    Date of Patent: September 16, 2014
    Assignee: Oracle America, Inc.
    Inventor: John R. Feehrer
  • Patent number: 8839269
    Abstract: Management of transaction message flow utilizing a transaction message queue. The system and method are for use in financial transaction messaging systems. The system is designed to enable an administrator to monitor, distribute, control and receive alerts on the use and status of limited network and exchange resources. Users are grouped in a hierarchical manner, preferably including user level and group level, as well as possible additional levels such as account, tradable object, membership, and gateway levels. The message thresholds may be specified for each level to ensure that transmission of a given transaction does not exceed the number of messages permitted for the user, group, account, etc.
    Type: Grant
    Filed: October 17, 2013
    Date of Patent: September 16, 2014
    Assignee: Trading Technologies International, Inc.
    Inventors: Gary Allan Kemp, II, Jens-Uwe Schluetter, Sagy Pundak Mintz, David W. Garrison
  • Patent number: 8832713
    Abstract: Described are techniques for communicating between one or more producers and one or more consumers. A first consumer of an event queue registers for notification regarding occurrences of one or more events. A producer of the event queue posts one or more notifications to one or more consumers of the event queue regarding one or more occurrences of one or more events. Each of the consumers receive notification regarding occurrences of events for which said each consumer is registered. The first consumer retrieves posted event notifications regarding events for which said first consumer is registered. If the first consumer is executing in user space and an event notification list to which said event notifications for said first consumer are posted is located in shared memory, said first consumer retrieves said posted event notifications without proxying into kernel space.
    Type: Grant
    Filed: August 15, 2012
    Date of Patent: September 9, 2014
    Assignee: EMC Corporation
    Inventors: Christopher M. Gould, Peter J. McCann
  • Patent number: 8832217
    Abstract: A system and method can support different message queues in a transactional middleware machine environment. The transactional middleware machine environment includes an advertized table that comprises a first queue table and a second queue table, with the first queue table storing address information for a first message queue and the second queue table storing address information for a second message queue. The advertized table is further adaptive to be used by a first transactional client to locate a transactional service provided by a transactional server. The first transactional client operates to look up the first queue table for a key that indicates the address information of the transactional service that is stored in the second queue table.
    Type: Grant
    Filed: March 8, 2012
    Date of Patent: September 9, 2014
    Assignee: Oracle International Corporation
    Inventors: Peizhi Shi, Yongshun Jin
  • Publication number: 20140245327
    Abstract: A method for recovering and requeueing lost messages is disclosed. The lost messages are intended for delivery from a first computer program to a second computer program but are instead stranded in locations internal to the first program. The method extracts one or more of these stranded messages from the location internal to the first program, determines the original destination of each stranded message and delivers that message to the second program. Delivery of each message to the second program is facilitated by using message queues provided by middleware type software programs. The desired middleware program can be selected by the user of the method, and the method provides for the necessary formatting of each recovered message according to the selected middleware. Absent use of the present method, these stranded messages would not be routed to their original destinations.
    Type: Application
    Filed: February 17, 2014
    Publication date: August 28, 2014
    Applicant: AT&T Intellectual Property I, L.P.
    Inventor: James E. Scurlock, JR.
  • Publication number: 20140245326
    Abstract: Technologies are provided for locally processing queue requests from co-located workers. In some examples, information about the usage of remote datacenter queues by co-located workers may be used to determine one or more matched queues. Messages from local workers to a remote datacenter queue classified as a matched queue may be stored locally. Subsequently, local workers that request messages from matched queues may be provided with the locally-stored messages.
    Type: Application
    Filed: February 28, 2013
    Publication date: August 28, 2014
    Inventor: Ezekiel Kruglick
  • Publication number: 20140245325
    Abstract: According to one aspect of the present disclosure, a method and technique for link optimization for callout request messages is disclosed. The method includes: monitoring a plurality of different 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 used to send and receive callout request messages between one or more applications running on the host system and the services systems that process the callout request messages, the time-based parameters associated with different stages of callout request message processing by the communication pipe and the service systems; assessing a performance level of each of the plurality of links based on the time-based parameters; and dynamically distributing the callout request messages to select links of the plurality of links based on the performance assessment.
    Type: Application
    Filed: February 27, 2013
    Publication date: August 28, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Kenneth R. Blackman, David A. Cameron, Benjamin P. Johnson, Jack C. Yuan
  • Patent number: 8819701
    Abstract: A cloud computing monitoring system has an alert capturing system and a message transfer system that provides performance tracking and alert management to a local monitoring system. The alert capturing system may operate as part of a managed code framework and may capture and route alerts that may be transmitted to an operating system, as well as application exceptions and debugging information. A message queuing system may transmit the alerts to a local monitoring system, which may have a connector that subscribes to the cloud system's message queuing system.
    Type: Grant
    Filed: December 12, 2009
    Date of Patent: August 26, 2014
    Assignee: Microsoft Corporation
    Inventors: Bradley Wheeler, Bryan Griffin
  • Publication number: 20140229957
    Abstract: The present invention provides a multi-core processor system, including: multiple central processor units and multiple groups of level-one hardware message queues. Each central processor unit is separately connected to a group of level-one hardware message queues and is configured to process messages in the level-one hardware message queues. Each group of level-one hardware message queues includes multiple level-one hardware message queues. Moreover, in each group of level-one hardware message queues, a level-one hardware message queue having a higher priority is scheduled preferentially, and level-one hardware message queues having the same priority are scheduled in a round-robin manner according to round robin scheduling weights. Through the multi-core processor system provided in the present invention, the efficiency and performance of the multi-core processor system are improved.
    Type: Application
    Filed: April 28, 2014
    Publication date: August 14, 2014
    Applicant: HUAWEI TECHNOLOGIES CO., LTD.
    Inventors: Weiguo Zhang, Libo Wu
  • Patent number: 8806168
    Abstract: A method includes producing values with a producer thread, and providing a queue data structure including a first array of storage locations for storing the values. The first array has a first tail pointer and a first linking pointer. If a number of values stored in the first array is less than a capacity of the first array, an enqueue operation writes a new value at a storage location pointed to by the first tail pointer and advances the first tail pointer. If the number of values stored in the first array is equal to the capacity of the first array, a second array of storage locations is allocated in the queue. The second array has a second tail pointer. The first array is linked to the second array with the first linking pointer. An enqueue operation writes the new value at a storage location pointed to by the second tail pointer and advances the second tail pointer.
    Type: Grant
    Filed: September 12, 2011
    Date of Patent: August 12, 2014
    Assignee: Microsoft Corporation
    Inventors: Igor Ostrovsky, Stephen H. Toub
  • Patent number: 8806507
    Abstract: The subject matter of this specification can be implemented in, among other things, a method that includes receiving, by a processing device, one or more first requests to add multiple messages on a message queue. The first requests specify a message group for the messages. The method further includes determining, by the processing device, that the message group does not exist on the message queue in response to receiving the first requests. The method further includes automatically creating, by the processing device, the message group on the message queue in response to determining that the message group does not exist on the message queue. The method further includes adding, by the processing device, the messages to the message group on the message queue.
    Type: Grant
    Filed: January 31, 2013
    Date of Patent: August 12, 2014
    Assignee: Red Hat, Inc.
    Inventors: Theodore Langston Ross, Kenneth Anthony Giusti
  • Patent number: 8799400
    Abstract: A system and method for managing multiple queues of non-persistent messages in a networked environment are disclosed. A particular embodiment includes: receiving a non-persistent message at a gateway process, the message including information indicative of a named queue; mapping, by use of a data processor, the named queue to a queue node by use of a consistent hash of the named queue; mapping the message to a queue process at the queue node; accessing, by use of the queue process, a list of subscriber gateways; and routing the message to each of the subscriber gateways in the list.
    Type: Grant
    Filed: February 2, 2011
    Date of Patent: August 5, 2014
    Assignee: IMVU, Inc.
    Inventor: Jon Watte
  • Patent number: 8799923
    Abstract: A method for determining relationship data associated with application programs in a messaging system, comprising the steps of: responsive to at least one first message event sending a message from a first application to a first destination and at least one second message event retrieving, by a second application, the message from a second destination, intercepting message data associated with the message; analysing the intercepted message data in accordance with one or more rules in order to find one or more message parameters; and in response to finding the one or more message parameters, identifying the first message event and identifying the second message event, determining a relationship associated with the first application and the second application. An apparatus and computer program element for determining such relationship data are also provided.
    Type: Grant
    Filed: November 26, 2013
    Date of Patent: August 5, 2014
    Assignee: International Business Machines Corporation
    Inventors: Matthew Hickford, Nicholas Mathias, Gavin Potter, Edward Warrillow, Matthew Whitehead, Stuart Wilkinson
  • Publication number: 20140215492
    Abstract: The subject matter of this specification can be implemented in, among other things, a method that includes receiving, by a processing device, one or more first requests to add multiple messages on a message queue. The first requests specify a message group for the messages. The method further includes determining, by the processing device, that the message group does not exist on the message queue in response to receiving the first requests. The method further includes automatically creating, by the processing device, the message group on the message queue in response to determining that the message group does not exist on the message queue. The method further includes adding, by the processing device, the messages to the message group on the message queue.
    Type: Application
    Filed: January 31, 2013
    Publication date: July 31, 2014
    Applicant: RED HAT, INC.
    Inventors: Theodore Langston Ross, Kenneth Anthony Giusti
  • Patent number: 8793691
    Abstract: In accordance with embodiments, there are provided mechanisms and methods for transporting a task to a handler, utilizing a queue. These mechanisms and methods for transporting a task to a handler, utilizing a queue can enable improved task management, increased efficiency, dynamic task processing, etc.
    Type: Grant
    Filed: April 15, 2011
    Date of Patent: July 29, 2014
    Assignee: salesforce.com, inc.
    Inventor: Vijayanth Devadhar
  • Patent number: 8788807
    Abstract: Methods and apparatus for protecting user privacy in a shared key system. According to one aspect, a user generates a derived identity based on a key and a session variable, and sends the derived identity to an application. In one embodiment, a key server may be used to receive the derived identity from the application, and return a sub-key to the application to use for encrypting communications with the user.
    Type: Grant
    Filed: January 10, 2007
    Date of Patent: July 22, 2014
    Assignee: QUALCOMM Incorporated
    Inventors: Adrian Escott, James Semple
  • Patent number: 8789012
    Abstract: A system and method accepts source code including one or more variables or constants, and, for those variables or constants flagged as those that are to be automatically provided to a gateway, generates or provides communication code and a description that allows the values to be sent to a gateway for retrieval using a variety of formats, such as conventional web services formats.
    Type: Grant
    Filed: December 17, 2007
    Date of Patent: July 22, 2014
    Assignee: Cisco Technology, Inc.
    Inventor: Gilman Tolle
  • Patent number: 8769550
    Abstract: A method, system, and medium are provided for optimizing assignment of threads to queues within a messaging-middleware environment. Embodiments of the present invention evaluate the number of threads assigned to each individual queue and then assign a new thread to an appropriate queue based on current thread assignments. Different rules may be used to assign threads depending on the number of threads assigned to each queue. For example, initially any queue with less than a low threshold amount of active threads may be assigned threads until the low threshold is met. A different assignment methodology may be used once the low threshold is met. For example, once the low threshold is met, active queues having more than the low threshold, but less than a high threshold, may be assigned threads in a round robin fashion.
    Type: Grant
    Filed: October 24, 2012
    Date of Patent: July 1, 2014
    Assignee: Sprint Communications Company L.P.
    Inventor: Mark D. Leonard
  • Patent number: 8769134
    Abstract: A cloud computing platform contains a structured storage subsystem the provides scalable queues. The cloud computing platform monitors message throughput for the scalable queues and automatically increases or decreases subqueues that provide the operational functionality for each scalable queue. A visibility start time and cloud computing platform time are maintained for each message to provide an approximate first-in-first-out order for messages within each subqueue. A message in a subqueue may be available for processing when the current cloud computing time is greater than the visibility start of the message.
    Type: Grant
    Filed: May 15, 2012
    Date of Patent: July 1, 2014
    Assignee: Microsoft Corporation
    Inventors: Bradley Gene Calder, Niranjan Nilakantan, Padmanabha Chakravarthy Uddaraju
  • Patent number: 8763013
    Abstract: A broker may be used as an intermediary to exchange messages between producers and consumers. The broker may store and dispatch messages from a physical queue stored in a persistent memory. More specifically, the broker may enqueue messages to the physical queue that are received from producers and may dispatch messages from the physical queue to interested consumers. The broker may further utilize one or more logical queues stored in transient memory to track the status of the messages stored in persistent memory. As messages are dispatched to and acknowledged by interested consumers, the broker deletes acknowledged messages from the physical queue. The messages deleted are those proceeding a physical ACKlevel pointer that specifies the first non-acknowledged message in the physical queue. The physical ACKlevel pointer is advanced in the physical queue based on the relative position of corresponding logical ACKlevel pointers maintained by the logical queues.
    Type: Grant
    Filed: August 24, 2012
    Date of Patent: June 24, 2014
    Assignee: Amazon Technologies, Inc.
    Inventors: Maxim E. Fateev, Alan Stuart Robbins, Marvin M. Theimer
  • Patent number: 8763012
    Abstract: Scalable, parallel (i.e., concurrent) processing of messages is provided from a message queue, while at the same time enforcing sequencing within a stream. Dependencies among messages can therefore be respected. The criteria for determining which messages form a stream are not required to be known to the message dispatcher, which receives a stream name and determines whether another message in that named stream is already being processed. If so, the dispatcher determines whether the invoker should wait temporarily, or should be given a different message that was previously blocked and has now become available for processing, or should be instructed to retrieve a different message from the message queue.
    Type: Grant
    Filed: March 4, 2012
    Date of Patent: June 24, 2014
    Assignee: International Business Machines Corporation
    Inventors: John Hosie, John A. Reeve
  • Publication number: 20140173630
    Abstract: The techniques described herein implement an operating system that can reliably process time sensitive information in non real-time manner. Thus, the operating system described herein is capable of processing an instance of time sensitive input during a time period after the instance of time sensitive input is received (e.g., at a future point in time). To accomplish this, the techniques timestamp each instance of time sensitive input when it is received at a device. The techniques then store the timestamped instance of time sensitive input in a temporary queue, and make the timestamped instance available to the operating system at a time period after the time period when it is received, as indicated by the timestamp. Additional techniques described herein prioritize the activation of a driver configured to receive the time sensitive information during a boot sequence or a reboot sequence.
    Type: Application
    Filed: December 17, 2012
    Publication date: June 19, 2014
    Applicant: Itron, Inc.
    Inventors: Samuel Lee Whitfield, Gregory Shane Barrett, Michael Clarence Miller, Kevin David Guthrie
  • Publication number: 20140173631
    Abstract: An order controller stores each received event in a separate entry in one of at least two queues with a separate counter value set from an arrival order counter at the time of storage, wherein the arrival order counter is incremented after storage of each of the received events and on overflow the arrival order counter wraps back to zero. The order controller calculates an absolute value of the difference between a first counter value stored with an active first next entry in a first queue from among the at least two queues and a second counter value stored with an active second next entry in a second queue from among the at least two queues. The order controller compares the absolute value with a counter midpoint value to determine whether the first counter value was stored before the second counter value.
    Type: Application
    Filed: December 18, 2012
    Publication date: June 19, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Robert M. Dinkjian, Lyndsi R. Parker, Giang C. Nguyen, Bill N. On
  • Patent number: 8756613
    Abstract: Scalable, parallel (i.e., concurrent) processing of messages is provided from a message queue, while at the same time enforcing sequencing within a stream. Dependencies among messages can therefore be respected. The criteria for determining which messages form a stream are not required to be known to the message dispatcher, which receives a stream name and determines whether another message in that named stream is already being processed. If so, the dispatcher determines whether the invoker should wait temporarily, or should be given a different message that was previously blocked and has now become available for processing, or should be instructed to retrieve a different message from the message queue.
    Type: Grant
    Filed: September 23, 2011
    Date of Patent: June 17, 2014
    Assignee: International Business Machines Corporation
    Inventors: John Hosie, John A. Reeve
  • Patent number: 8752060
    Abstract: A multi-CPU domain mobile electronic device, includes: a first CPU domain, comprising at least a first migration agent unit, the first migration agent unit detecting a task migration condition, determining whether to migrate a migratable task, and sending an associated migration event, and a second CPU domain, comprising at least a second migration agent unit, the second migration agent unit receiving the migratable task from the first migration agent unit.
    Type: Grant
    Filed: March 8, 2011
    Date of Patent: June 10, 2014
    Assignee: MStar Semiconductor, Inc.
    Inventors: Cheng-Hsueh Hsieh, Kuo-Chuan Huang
  • Publication number: 20140149997
    Abstract: Computer-executable code is automatically generated for a message flow in a message queuing infrastructure by determining a type of the message flow, inputting message flow parameters, and generating the computer-executable code based on the type of the message flow and the message flow parameters. The generation of code can also implement a design pattern, which is input based on the determined type of message flow. The computer-executable code can be, for example, Extended Structured Query Language (ESQL) code. The type of the message flow can identify, for example, a transformation requirement of the message flow. The transformation requirement can be, for example, one of (i) transformation from a first Extensible Markup Language (XML) message to a second XML message, (ii) transformation from an XML message to a Message Repository Manager (MRM) message, and (iii) transformation from a first MRM message to a second MRM message.
    Type: Application
    Filed: January 30, 2014
    Publication date: May 29, 2014
    Applicant: American Express Travel Related Services Company, Inc.
    Inventors: Girish G. Kukreja, Yogita Talathi
  • Patent number: 8739180
    Abstract: A method and system for processing MTOM messages comprising a root document and one or more binary attachments referenced by the root document, in a Web service requester or provider. When an inbound MTOM message is received, a pipeline comprising a plurality of message handlers is selected to process the received message. The message is unpackaged by separating the binary attachments from the root document, and the pipeline properties are checked to determine if conversion of the message is required. Responsive to the result of the determination, either conversion of the message is carried out, by encoding the binary data in each of the attachments and replacing each reference in the root document to a binary attachment with the encoded data for that attachment, and processing the converted message by the pipeline, or the root document and binary attachments are processed by the pipeline.
    Type: Grant
    Filed: March 12, 2008
    Date of Patent: May 27, 2014
    Assignee: International Business Machines Corporation
    Inventors: Darren R. Beard, Fraser P. Bohm, Paul Cooper, Jonathan A. Scott, Terrance R. Warren
  • Patent number: 8732725
    Abstract: A parallel computer includes nodes, each having main memory and a messaging unit (MU). Each MU includes computer memory, which in turn includes, MU message buffers. Each MU message buffer is associated with an uninitialized process on the compute node. In the parallel computer, managing internode data communications for an uninitialized process includes: receiving, by an MU of a compute node, one or more data communications messages in an MU message buffer associated with an uninitialized process on the compute node; determining, by an application agent, that the MU message buffer associated with the uninitialized process is full prior to initialization of the uninitialized process; establishing, by the application agent, a temporary message buffer for the uninitialized process in main computer memory; and moving, by the application agent, data communications messages from the MU message buffer associated with the uninitialized process to the temporary message buffer in main computer memory.
    Type: Grant
    Filed: November 9, 2011
    Date of Patent: May 20, 2014
    Assignee: International Business Machines Corporation
    Inventors: Charles J. Archer, Michael A. Blocksome, Douglas R. Miller, Jeffrey J. Parker, Joseph D. Ratterman, Brian E. Smith
  • Patent number: 8732726
    Abstract: A parallel computer includes nodes, each having main memory and a messaging unit (MU). Each MU includes computer memory, which in turn includes, MU message buffers. Each MU message buffer is associated with an uninitialized process on the compute node. In the parallel computer, managing internode data communications for an uninitialized process includes: receiving, by an MU of a compute node, one or more data communications messages in an MU message buffer associated with an uninitialized process on the compute node; determining, by an application agent, that the MU message buffer associated with the uninitialized process is full prior to initialization of the uninitialized process; establishing, by the application agent, a temporary message buffer for the uninitialized process in main computer memory; and moving, by the application agent, data communications messages from the MU message buffer associated with the uninitialized process to the temporary message buffer in main computer memory.
    Type: Grant
    Filed: December 10, 2012
    Date of Patent: May 20, 2014
    Assignee: International Business Machines Corporation
    Inventors: Charles J. Archer, Michael A. Blocksome, Douglas R. Miller, Jeffrey J. Parker, Joseph D. Ratterman, Brian E. Smith
  • Patent number: 8719843
    Abstract: Methods and apparatus are disclosed for virtualizable, forward-compatible hardware-software interfaces. Embodiments may be used in a driver whether it is a physical driver or a virtual driver. Commands are queued from the driver and fetched to the device. An actions table is accessed to determine if drivers are permitted to perform commands. Events are queued for the drivers responsive to commands. If drivers are not permitted to perform a command, device firmware may forward the command to a privileged driver to perform the required command. If a driver is only permitted to perform a command with assistance the command is forwarded for corrections and execution. If a command is to be dropped, a completion event may be queued as if the command had executed. Drivers may have no indication of which actions were taken. The actions table may be changed for hardware/software modifications or dynamically according to configuration changes.
    Type: Grant
    Filed: July 27, 2011
    Date of Patent: May 6, 2014
    Assignee: Intel Corporation
    Inventors: Eliezer Tamir, Eliel Louzoun, Ben-Zion Friedman, Miles J. Penner
  • Patent number: 8707331
    Abstract: In an embodiment, a method is provided. In an embodiment, the method provides determining that a message has been placed in a send buffer; and transferring the message to an application on a second virtual machine by bypassing use of an operating system to process the message by directly placing the message in an application memory space from which the application can retrieve the message.
    Type: Grant
    Filed: June 14, 2012
    Date of Patent: April 22, 2014
    Assignee: Intel Corporation
    Inventors: William R. Magro, Robert J. Woodruff, Jianxin Xiong
  • Patent number: 8707332
    Abstract: A computer-based method configures a hardware circuit to transfer a message to a message queue in an operating system. The hardware circuit is used to transfer a message to the message queue in the operating system without requiring use of either the operating system or a hypervisor associated with the operating system. The using the hardware circuit uses a logical identifier associated with the message to select an entry in a mapping table of the hardware circuit. A value in the entry in the mapping table is used to select an entry in an action table. The entry in the action table is used to determine a tail pointer for the message queue. The hardware circuit appends the message to a location indicted by the tail pointer without requiring cycles of a hypervisor associated with the strand.
    Type: Grant
    Filed: August 17, 2012
    Date of Patent: April 22, 2014
    Assignee: Oracle America, Inc.
    Inventors: Ashley Saulsbury, Quinn A. Jacobson
  • Publication number: 20140109110
    Abstract: A system and method can support asynchronous message processing in a distributed data grid. A cluster node in the distributed data grid can provide a message processor running on a message processing thread. The message processor can receive a request to process an incoming message from a service thread, wherein the request is associated with a continuation data structure. Then, the message processor can wrap the continuation data structure in a return message after processing the incoming message, and forward the return message to a service queue that is associated with the service thread.
    Type: Application
    Filed: November 7, 2012
    Publication date: April 17, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventor: Gene Gleyzer
  • Patent number: 8695016
    Abstract: A method for recovering and requeueing lost messages is disclosed. The lost messages are intended for delivery from a first computer program to a second computer program but are instead stranded in locations internal to the first program. The method extracts one or more of these stranded messages from the location internal to the first program, determines the original destination of each stranded message and delivers that message to the second program. Delivery of each message to the second program is facilitated by using message queues provided by middleware type software programs. The desired middleware program can be selected by the user of the method, and the method provides for the necessary formatting of each recovered message according to the selected middleware. Absent use of the present method, these stranded messages would not be routed to their original destinations.
    Type: Grant
    Filed: July 25, 2012
    Date of Patent: April 8, 2014
    Assignee: AT&T Intellectual Property I, L.P.
    Inventor: James E. Scurlock, Jr.