Message Using Queue Patents (Class 719/314)
  • Patent number: 8495654
    Abstract: Intranode data communications in a parallel computer that includes compute nodes configured to execute processes, where the data communications include: allocating, upon initialization of a first process of a compute node, a region of shared memory; establishing, by the first process, a predefined number of message buffers, each message buffer associated with a process to be initialized on the compute node; sending, to a second process on the same compute node, a data communications message without determining whether the second process has been initialized, including storing the data communications message in the message buffer of the second process; and upon initialization of the second process: retrieving, by the second process, a pointer to the second process's message buffer; and retrieving, by the second process from the second process's message buffer in dependence upon the pointer, the data communications message sent by the first process.
    Type: Grant
    Filed: November 7, 2011
    Date of Patent: July 23, 2013
    Assignee: International Business Machines Corporation
    Inventors: Charles J. Archer, Michael A. Blocksome, Douglas R. Miller, Joseph D. Ratterman, Brian E. Smith
  • Patent number: 8489693
    Abstract: A messaging system and method which allows parallel execution of related requests according their context-based sequence. A serialization processor receives each incoming message request from a messaging client, extracts a transaction identifier (TI), searches a state table for the TI, and, if the TI is found active in the state table, stores the request in a serialization queue and makes an entry for that TI with the state “queued” in the state table. After execution of the active request, its entry in the state table is cleared, and the queued request with the same TI is executed, whereupon its entry is changed from queued to active.
    Type: Grant
    Filed: January 18, 2011
    Date of Patent: July 16, 2013
    Assignee: International Business Machines Corporation
    Inventors: Wolfgang Eibach, Dietmar Kuebler
  • Patent number: 8484659
    Abstract: A system and method for distributing processing utilizing message queues as a method of distributing binary objects as “messages” and invoking the embedded logic of the received message to perform a portion of a distributed application is disclosed. More particularly, but not by way of limitation, a system and method for the integrated distribution and execution of objects as they are retrieved or extracted from a message queue on a remote system to provide executable functionality portions of a distributed application. In one embodiment a failed processing step results in the message being retained in the message queue to allow for subsequent retry processing.
    Type: Grant
    Filed: April 20, 2010
    Date of Patent: July 9, 2013
    Assignee: Management Systems Resources, Inc.
    Inventors: Paul J. Davies, Nouman Zaheer, Steven Lloyd Crozier
  • Patent number: 8479219
    Abstract: Allocating space for storing heterogeneous messages in a message queue according to message classification. The classification may comprise message type, application type, network type, and so forth. Messages of multiple classification values may be queued in a single queue, referred to as a primary queue. When the allocated portion of the primary queue is reached for a particular message classification, then subsequent messages having that classification are sent to a secondary queue for queueing. The secondary queue also allocates space according to message classification. When space for a particular message classification becomes available in the primary queue, one or more messages having that classification may be moved from the secondary queue to the primary queue.
    Type: Grant
    Filed: June 30, 2010
    Date of Patent: July 2, 2013
    Assignee: International Business Machines Corporation
    Inventors: Neeraj K. Gopalakrishna, Sanjay M. Kesavan, Lohitashwa Thyagaraj
  • Patent number: 8473966
    Abstract: An inter-processor communication approach is applicable to a message passing pattern called iterative exchange. In such patterns, two processors exchange messages, then perform a computation, and then this process is repeated. If two sets of send and receive buffers are used, then it is possible to guarantee that a receive buffer on the receiver's side is always available to receive the message. A message passing system controls which buffers are used for sending and receiving. These buffers are registered beforehand, thereby avoiding repeated registration at the time messages are sent. The sender is initially informed of all the possible receive buffers that the receiver will use, and the sender then uses these receive buffers alternately. Examples of this approach can avoid the use of multiple-step rendezvous protocols, memory copies, and memory registrations when a message needs to be sent.
    Type: Grant
    Filed: October 1, 2007
    Date of Patent: June 25, 2013
    Assignee: D.E. Shaw Research, LLC
    Inventor: Edmond Chow
  • Publication number: 20130160028
    Abstract: A computing device, a communication/synchronization path or channel apparatus and a method for parallel processing of a plurality of processors. The parallel processing computing device includes a first processor having a first central processing unit (CPU) core, at least one second processor having a second central processing unit (CPU) core, and at least one communication/synchronization (com/syn) path or channel coupled between the first CPU core and the at least one second CPU core. The communication/synchronization channel can include a request message queue configured to receive request messages from the first CPU core and to send request messages to the second CPU core, and a response message queue configured to receive response messages from the second CPU core and to send response messages to the first CPU core.
    Type: Application
    Filed: December 14, 2011
    Publication date: June 20, 2013
    Inventor: John E. Black
  • Patent number: 8468547
    Abstract: Systems and methods for synchronizing thread wavefronts and associated events are disclosed. According to an embodiment, a method for synchronizing one or more thread wavefronts and associated events includes inserting a first event associated with a first data output from a first thread wavefront into an event synchronizer. The event synchronizer is configured to release the first event before releasing events inserted subsequent to the first event. The method further includes releasing the first event from the event synchronizer after the first data is stored in the memory. Corresponding system and computer readable medium embodiments are also disclosed.
    Type: Grant
    Filed: November 23, 2010
    Date of Patent: June 18, 2013
    Assignees: Advanced Micro Devices, Inc., ATI Technologies ULC
    Inventors: Laurent LeFebvre, Michael Mantor, Deborah Lynne Szasz
  • Patent number: 8468546
    Abstract: A mechanism is provided for merging in a network processor results from a parser and results from an external coprocessor providing processing support requested by said parser. The mechanism enqueues in a result queue both parser results needing to be merged with a coprocessor result and parser results which have no need to be merged with a coprocessor result. An additional queue is used to enqueue the addresses of the result queue where the parser results are stored. The result from the coprocessor is received in a simple response register. The coprocessor result is read by the result queue management logic from the response register and merged to the corresponding incomplete parser result read in the result queue at the address enqueued in the additional queue.
    Type: Grant
    Filed: February 3, 2012
    Date of Patent: June 18, 2013
    Assignee: International Business Machines Corporation
    Inventors: Claude Basso, Jean L. Calvignac, Chih-jen Chang, Philippe Damon, Natarajan Vaidhyanathan, Fabrice J. Verplanken, Colin B. Verrilli
  • Patent number: 8464275
    Abstract: A method of using a plurality of subscriber types in managing a message queue of a database management system is described and provided. The method comprises creating a subscriber with a set of rules to the message queue. The subscriber is designated as one or more of the plurality of subscriber types. Moreover, an event notification registration representing a request to be notified if a message to the message queue satisfies the set of rules may be created. In response to a new message for enqueuing to the message queue, it is determined whether the new message satisfies the set of rules. If the new message satisfies the set of rules and if so determined by a triggered event notification registration, a notification is performed according to the triggered event notification registration. A requirement that a receiver of the notification dequeue the new message from the message queue depends on the subscriber type designation.
    Type: Grant
    Filed: June 19, 2006
    Date of Patent: June 11, 2013
    Assignee: Oracle International Corporation
    Inventors: Kapil Surlaker, Neerja Bhatt
  • Patent number: 8463855
    Abstract: A system and method for packaging electronic messages for delivery to a communication device is provided. Where the electronic message comprises at least one quoted parent message, the quoted parent message is identified by means of delimiters within the body of the electronic message, and the quoted message thus identified is replaced with an identifying instruction referring to an identifier corresponding to a previously received message comprising the quoted parent message. The edited electronic message is then transmitted to a recipient device, which uses the identifying instruction to reconstruct the original message by querying a data store using the identifier to locate a copy of the quoted parent message. If no quoted parent message is found, a request is issued by the recipient device to transmit a full version of the original electronic message.
    Type: Grant
    Filed: November 6, 2006
    Date of Patent: June 11, 2013
    Assignee: Research In Motion Limited
    Inventors: Neil P. Adams, Michael S. Brown, Herbert A. Little
  • Patent number: 8464276
    Abstract: A method, system, and medium are provided for monitoring channels running on a queue manager. Both the total number of channel instances and instances of each named channel running on a queue manager may be monitored. An alarm may be generated when the total number of channel instances exceeds a threshold value. An alarm may also be generated when the instances of a particular named channel exceed a threshold value for the particular named channel.
    Type: Grant
    Filed: January 11, 2010
    Date of Patent: June 11, 2013
    Assignee: Sprint Communications Company L.P.
    Inventors: Mark D. Leonard, Terriss L. Ford
  • Patent number: 8458721
    Abstract: The system and methods described herein may be used to implement a scalable, hierarchal, queue-based lock using flat combining. A thread executing on a processor core in a cluster of cores that share a memory may post a request to acquire a shared lock in a node of a publication list for the cluster using a non-atomic operation. A combiner thread may build an ordered (logical) local request queue that includes its own node and nodes of other threads (in the cluster) that include lock requests. The combiner thread may splice the local request queue into a (logical) global request queue for the shared lock as a sub-queue. A thread whose request has been posted in a node that has been combined into a local sub-queue and spliced into the global request queue may spin on a lock ownership indicator in its node until it is granted the shared lock.
    Type: Grant
    Filed: June 2, 2011
    Date of Patent: June 4, 2013
    Assignee: Oracle International Corporation
    Inventors: Virendra J. Marathe, Nir N. Shavit, David Dice
  • Patent number: 8448186
    Abstract: Techniques for processing events in parallel are provided. Multiple publishers publish events in parallel to a plurality of channels. Each channel is a queue that maintains a list of events that are awaiting to be processed by one or more slave processes. In one approach, all events that need to be persistent are published to a persistent channel, whereas all events that do not need to be persistent are published to one or more in-memory channels. In another approach, for each event, a publisher determines which channel of the plurality of channel to publish the event. The determination is based, at least in part, on the number of events in each channel and, optionally, the type of each event in each channel. In either approach, each event from a single publisher is published to the same channel.
    Type: Grant
    Filed: July 13, 2007
    Date of Patent: May 21, 2013
    Assignee: Oracle International Corporation
    Inventors: Abhishek Saxena, Neerja Bhatt
  • Publication number: 20130125139
    Abstract: Logging in a computer system that includes high speed, low latency computer memory and non-volatile computer memory, including: for each transaction of a plurality of transactions in a transaction-based application: beginning execution of the transaction; storing one or more log messages in a message bundle in the high speed, low latency computer memory during execution of the transaction; and upon completion of the transaction, storing the message bundle in a messaging queue; asynchronously with regard to transaction execution: processing, by a logging module, the messaging queue, including identifying one or more log messages stored in message bundles in the messaging queue; and for each identified log message, writing, by the logging module, the log message to the non-volatile computer memory.
    Type: Application
    Filed: November 16, 2011
    Publication date: May 16, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Waseem A. Roshen
  • Publication number: 20130125140
    Abstract: Internode data communications in a parallel computer that includes compute nodes that each include main memory and a messaging unit, the messaging unit including computer memory and coupling compute nodes for data communications, in which, for each compute node at compute node boot time: a messaging unit allocates, in the messaging unit's computer memory, a predefined number of message buffers, each message buffer associated with a process to be initialized on the compute node; receives, prior to initialization of a particular process on the compute node, a data communications message intended for the particular process; and stores the data communications message in the message buffer associated with the particular process. Upon initialization of the particular process, the process establishes a messaging buffer in main memory of the compute node and copies the data communications message from the message buffer of the messaging unit into the message buffer of main memory.
    Type: Application
    Filed: December 11, 2012
    Publication date: May 16, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: INTERNATIONAL BUSINESS MACHINES CORPORATION
  • Patent number: 8443375
    Abstract: A method for passing data from a first processing thread to a second processing thread, wherein the first processing thread produces data to be processed by the second processing thread. The data from the first processing thread may be inserted into objects that in turn are inserted into a queue of objects to be processed by the second thread. The queue may be a circular array, wherein the array includes a pointer to a head and a pointer to a tail, wherein only the first processing thread modifies the tail pointer and only the second processing thread modifies the head pointer.
    Type: Grant
    Filed: December 14, 2009
    Date of Patent: May 14, 2013
    Assignee: Verisign, Inc.
    Inventors: Roberto Rodrigues, Suresh Bhogavilli
  • Patent number: 8443379
    Abstract: A queue management system may store a queue of messages in a main queue. When a message is processed by an application, the message may be moved to a subqueue. In the subqueue, the message may be locked from other applications. After processing the message, the application may delete the message from the subqueue and complete the action required. If the application fails to respond in a timely manner, the message may be moved from the subqueue to the main queue and released for another application to service the message. If the application responds after the time out period, a fault may occur when the application attempts to delete the message from the subqueue. Such an arrangement allows a “peek and lock” functionality to be implemented using a subqueue.
    Type: Grant
    Filed: June 18, 2008
    Date of Patent: May 14, 2013
    Assignee: Microsoft Corporation
    Inventors: Affan Arshad Dar, Sanjib Saha
  • Patent number: 8443377
    Abstract: On a parallel processing system by an OS for single processors which operates, on a multiprocessor, an OS for single processors and an existing application to realize parallel processing by the multiprocessor with respect to the application, each processor includes a communication proxy unit which transfers data between tasks spreading over the processors by proxy and the communication proxy unit on a processor in which a task on a transmission side operates holds information about an address, on a processor, of a task on a reception side to receive data transferred from the task on the transmission side as proxy for the task on the reception side.
    Type: Grant
    Filed: March 16, 2005
    Date of Patent: May 14, 2013
    Assignee: NEC Corporation
    Inventors: Hiroaki Inoue, Junji Sakai, Tsuyoshi Abe, Masato Edahiro
  • Publication number: 20130117764
    Abstract: Internode data communications in a parallel computer that includes compute nodes that each include main memory and a messaging unit, the messaging unit including computer memory and coupling compute nodes for data communications, in which, for each compute node at compute node boot time: a messaging unit allocates, in the messaging unit's computer memory, a predefined number of message buffers, each message buffer associated with a process to be initialized on the compute node; receives, prior to initialization of a particular process on the compute node, a data communications message intended for the particular process; and stores the data communications message in the message buffer associated with the particular process. Upon initialization of the particular process, the process establishes a messaging buffer in main memory of the compute node and copies the data communications message from the message buffer of the messaging unit into the message buffer of main memory.
    Type: Application
    Filed: November 7, 2011
    Publication date: May 9, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Charles J. Archer, Michael A. Blocksome, Douglas R. Miller, Jeffrey J. Parker, Joseph D. Ratterman, Brian E. Smith
  • Publication number: 20130111499
    Abstract: An LDAP bridge service retrieves a generic LDAP message request, placed in a request queue by a message queuing application, from the request queue. The LDAP bridge service formats the generic LDAP request into a particular API call for at least one LDAP API. The LDAP bridge service calls at least one LDAP API with the particular API call for requesting at least one LDAP service from at least one LDAP server managing a distributed directory. Responsive to the LDAP bridge service receiving at least one LDAP specific response from at least one LDAP API, the LDAP bridge service translates the LDAP specific response into a response message comprising a generic LDAP response. The API bridge service, places the response message in a response queue of the message queuing network, wherein the message queuing application listens to the response queue for the response message.
    Type: Application
    Filed: October 28, 2011
    Publication date: May 2, 2013
    Applicant: International Business Machines Corporation
    Inventors: Bret W. Dixon, Scot Dixon
  • Publication number: 20130111500
    Abstract: An API bridge service retrieves a generic API message request, placed in a request queue of a message queuing network by a message queuing application, from the request queue. The API bridge service formats the generic API request into a particular API call for at least one specific API. The API bridge service calls at least one specific API with the particular API call. Responsive to the API bridge service receiving at least one API specific response from at least one specific API, the API bridge service translates at least one API specific response into a response message comprising a generic API response. The API bridge service, places the response message in a response queue of the message queuing network, wherein the message queuing application listens to the response queue for the response message.
    Type: Application
    Filed: October 28, 2011
    Publication date: May 2, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Bret W. Dixon, Scot Dixon
  • Patent number: 8429672
    Abstract: For implementation of a transfer of data between two program elements, a buffer object is provided between and linking the program elements. One of the program elements writes data into the buffer and the other program element reads data from the buffer, thus driving data transfer. The program element writing the data causes the buffer to call the reading program element. The program element reading the data causes the buffer object to call the writing program element.
    Type: Grant
    Filed: May 31, 2006
    Date of Patent: April 23, 2013
    Assignee: Océ Printing Systems GmbH
    Inventor: Herman Lankreijer
  • Patent number: 8424002
    Abstract: An information output method for displaying information of a computer system executing a plurality of tasks including: reading out task construction information corresponding to a task executed by the computer system from a storage device and displaying by an output device the task construction information in a task construction display area inside an output area; reading out logical construction information associated with the task construction information from the storage device and displaying by the output device the logical construction information in a logical construction display area inside the output area; and reading out physical construction information associated with the logical construction information from the storage device and displaying by the output device the physical construction information in a physical construction display area inside the output area.
    Type: Grant
    Filed: March 16, 2006
    Date of Patent: April 16, 2013
    Assignee: Hitachi, Ltd.
    Inventors: Yuji Akamatsu, Shuji Fujino
  • Patent number: 8424019
    Abstract: A method, system, and medium are provided for terminating individual instances of a channel, without terminating all instances of the channel. Embodiments of the invention may be practiced in a messaging-middleware environment. The channels are used to communicate messages between components associated with the messaging-middleware application. For example, the channels may communicate messages between a client application and a queue manager. Embodiments of the present invention may present a user interface that displays individual channel instances and provides a mechanism for the user to select channel instances for termination.
    Type: Grant
    Filed: February 19, 2010
    Date of Patent: April 16, 2013
    Assignee: Sprint Communications Company L.P.
    Inventor: Mark D. Leonard
  • Patent number: 8424017
    Abstract: The method determines whether a particular process is currently executing or not executing. The method embeds process identification information and a process name in a process pathname that binds to a socket. The method creates a socket and binds to the socket a process name and associated process identifier if that process is currently executing. A status file may store the socket pathnames of those processes currently executing. A socket pathname appears in the status file if a corresponding process is executing, but does not appear in the status file if the process is not executing. To determine if a particular process is currently executing, the method tests the status file to determine if the status file contains a match for the socket pathname associated with the particular process under test. The presence of a match for the socket pathname in the status file indicates that the particular process associated therewith is currently executing.
    Type: Grant
    Filed: April 30, 2010
    Date of Patent: April 16, 2013
    Assignee: International Business Machines Corporation
    Inventors: Abigail Ann O'Niell, Daniel P Ottavio
  • Patent number: 8413143
    Abstract: A system receives a notification at an operating system image of a change in allocation of queue pair resources to the operating system image. The system queries a physical network adapter through a hypervisor to obtain a new queue pair resource count that will exist in the virtualized system after the change in allocation. The system performs a hashing operation in the operating system image using the new queue pair resource count to distribute transmit traffic among the queue pair resources that will exist in the virtualized system after the change in allocation.
    Type: Grant
    Filed: April 12, 2010
    Date of Patent: April 2, 2013
    Assignee: International Business Machines Corporation
    Inventors: Omar Cardona, Jeffrey P Messing, Patrick T Vo
  • Publication number: 20130081063
    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: Application
    Filed: March 4, 2012
    Publication date: March 28, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: John Hosie, John A. Reeve
  • Publication number: 20130081061
    Abstract: A method, system, and medium are disclosed for facilitating communication between multiple concurrent threads of execution using a multi-lane concurrent bag. The bag comprises a plurality of independently-accessible concurrent intermediaries (lanes) that are each configured to store data elements. The bag provides an insert function executable to insert a given data element into the bag by selecting one of the intermediaries and inserting the data element into the selected intermediary. The bag also provides a consume function executable to consume a data element from the bag by choosing one of the intermediaries and consuming (removing and returning) a data element stored in the chosen intermediary. The bag guarantees that execution of the consume function consumes a data element if the bag is non-empty and permits multiple threads to execute the insert or consume functions concurrently.
    Type: Application
    Filed: September 22, 2011
    Publication date: March 28, 2013
    Inventors: David Dice, Oleksandr Otenko
  • Publication number: 20130081060
    Abstract: A method, system, and medium are disclosed for facilitating communication between multiple concurrent threads of execution using an efficient concurrent queue. The efficient concurrent queue provides an insert function usable by producer threads to insert messages concurrently. The queue also includes a consume function usable by consumer threads to read the messages from the queue concurrently. The consume function is configured to guarantee a per-producer ordering, such that, for any producer, messages inserted by the producer are read only once and in the order in which the producer inserted those messages.
    Type: Application
    Filed: September 22, 2011
    Publication date: March 28, 2013
    Inventor: Oleksandr Otenko
  • Publication number: 20130081062
    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: Application
    Filed: September 23, 2011
    Publication date: March 28, 2013
    Applicant: International Business Machines Corporation
    Inventors: John Hosie, John A. Reeve
  • Publication number: 20130067490
    Abstract: One or more techniques and/or systems are provided for suspending logically related processes associated with an application, determining whether to resume a suspended process based upon one or more wake policies, and/or managing an application state of an application, such as timer and/or system message data. That is, logically related processes associated with an application, such as child processes, may be identified and suspended based upon logical relationships between the processes (e.g., a logical container hierarchy may be traversed to identify logically related processes). A suspended process may be resumed based upon a set of wake policies. For example, a suspended process may be resumed based upon an inter-process communication call policy that may be triggered by an application attempting to communicate with the suspended process. Application data may be managed while an application is suspended so that the application may be resumed in a current and/or relevant state.
    Type: Application
    Filed: September 12, 2011
    Publication date: March 14, 2013
    Applicant: Microsoft Corporation
    Inventors: Neeraj Kumar Singh, Hari Pulapaka, Arun Kishan
  • Publication number: 20130067489
    Abstract: In one or more embodiments, an application program interface (API) is provided and enables an entity, such as an application, script, or other computing object to register to receive callbacks immediately and, without specifying a time constraint. In this approach, the API does not rely on a timer, such as a system timer. Rather, a non-timer based queue, such as a message queue-type approach is utilized. Specifically, callbacks that are registered through this API can be placed on the message queue and work associated with the registered callback can be performed through the normal course of processing messages and events in the message queue. Over time, such results in a callback pattern that allows an associated web browser and applications such as web applications to remain responsive, while increasing performance and power efficiencies.
    Type: Application
    Filed: September 9, 2011
    Publication date: March 14, 2013
    Applicant: Microsoft Corporation
    Inventors: M. David Fields, JR., Cenk Ergan, Qiang Chen, Michael D. Decker, Kedar Sanjeev Hirve, Walter V. von Koch, Jason J. Weber, Katerina V. Sedova, Karen Elizabeth Parker Anderson
  • Patent number: 8397244
    Abstract: Techniques for managing messages in computer systems are provided. In one embodiment, in response to a publisher attempting to enqueue a message in a queue, a determination is made whether a condition is satisfied. The condition is based on the current usage of the queue by the publisher. Based on whether the condition is satisfied, a decision is made whether to enqueue the message in the queue. The decision whether to enqueue the message may comprise restricting the publisher from enqueueing any more messages in the queue until the same or a different condition is satisfied.
    Type: Grant
    Filed: July 13, 2010
    Date of Patent: March 12, 2013
    Assignee: Oracle International Corporation
    Inventors: Kapil Surlaker, Neerja Bhatt, Shailendra Mishra
  • Publication number: 20130061247
    Abstract: Methods and systems are provided for a message network interface unit (a message interface unit), coupled to a processor, that is used for allowing the processor to send messages to a hardware unit. Methods and systems are also provided for a message interface unit, coupled to a processor, that is used for allowing a processor to receive messages from a hardware unit. The message network interface unit described herein may allow for the implementation data-intensive, real time applications, which require a substantially low message response latency and a substantially high message throughput.
    Type: Application
    Filed: February 9, 2012
    Publication date: March 7, 2013
    Applicant: ALTERA CORPORATION
    Inventors: Steven Perry, Gareth Duncan
  • Publication number: 20130055287
    Abstract: A data processing system comprising: an operating system providing an application programming interface; an application supported by the operating system and operable to make calls to the application programming interface; an intercept library configured to intercept calls of a predetermined set of call types made by the application to the application programming interface; and a configuration data structure defining at least one action to be performed for each of a plurality of sequences of one or more calls having predefined characteristics, the one or more calls being of the predetermined set of call types; wherein the intercept library is configured to, on intercepting a sequence of one or more calls defined in the configuration data structure, perform the corresponding action(s) defined by the configuration data structure.
    Type: Application
    Filed: October 27, 2011
    Publication date: February 28, 2013
    Applicant: SOLARFLARE COMMUNICATIONS, INC.
    Inventors: STEVEN L. POPE, DAVID J. RIDDOCH, Kieran Mansley
  • Patent number: 8385354
    Abstract: Methods and apparatus for minimizing resources for handling time-outs of read requests to a work queue in a work queue memory are described. According to one embodiment of the invention, a work queue execution engine receives a first read request when the work queue is configured in a blocking mode and is empty. A time-out timer is started in response to receiving the first read request. The work queue execution engine receives a second read request while the first read request is still pending, and the work queue is still empty. When the time-out timer expires for the first read request, the work queue execution engine sends an error response for the first read request and restarts the time-out timer for the second read request taking into account an amount of time the second read request has already been pending.
    Type: Grant
    Filed: July 18, 2011
    Date of Patent: February 26, 2013
    Assignee: Telefonaktiebolaget L M Ericsson (Publ)
    Inventor: Lakshmi Narasimha Murthy Nukala
  • Patent number: 8381230
    Abstract: In an embodiment, a reception thread receives a source node identifier, a type, and a data pointer from an application and, in response, creates a receive request. If the source node identifier specifies a source node, the reception thread adds the receive request to a fast-post queue. If a message received from a network does not match a receive request on a posted queue, a polling thread adds a receive request that represents the message to an unexpected queue. If the fast-post queue contains the receive request, the polling thread removes the receive request from the fast-post queue. If the receive request that was removed from the fast-post queue does not match the receive request on the unexpected queue, the polling thread adds the receive request that was removed from the fast-post queue to the posted queue. The reception thread and the polling thread execute asynchronously from each other.
    Type: Grant
    Filed: April 21, 2010
    Date of Patent: February 19, 2013
    Inventors: Gabor J. Dozsa, Philip Heidelberger, Sameer Kumar, Joseph D. Ratterman, Burkhard Steinmacher-Burow
  • Patent number: 8370448
    Abstract: A method is described that involves, at a worker node, receiving a notification of a request from a queue. The notification contains a handle for a shared memory connection. The queue is implemented with a second shared memory connection. The method involves receiving the request from the shared memory through the connection. The method also involves generating a response to the request at the worker node and sending the response over the shared memory connection.
    Type: Grant
    Filed: December 28, 2004
    Date of Patent: February 5, 2013
    Assignee: SAP AG
    Inventor: Galin Galchev
  • Patent number: 8370851
    Abstract: A system and method for processing messages in an enterprise resource planning (ERP) system is provided. A processing service generates a snapshot of a message queue, which contains a plurality of messages to be processed by the ERP system. Each message has an associated conversation, identified by a unique combination of an endpoint, channel, and subconversation identifier. For each conversation, the processing service determines whether messages of the conversation are to be processed in serial or in parallel, based on the subconversation identifier of the conversation. When the messages of the conversation are to be processed in serial, a task is created to process the messages serially. Alternatively, when the messages of the conversation are to be processed in parallel, a task is created for each of the messages. The messages of each task are processed serially by the task, while each task is executed in parallel with other tasks.
    Type: Grant
    Filed: June 6, 2008
    Date of Patent: February 5, 2013
    Assignee: Microsoft Corporation
    Inventors: Ashok Srinivasan, Michael Merz, Rohit Kapoor, Vinod Kumar
  • Patent number: 8365190
    Abstract: A message identifier of a first event is provided to a correlation engine. The correlation engine is to correlate the first event to one or more second events according to a predetermined correlation technique. The message identifiers of the second events are received from the correlation engine. A correlated message identified for the first event is generated based on the message identifier of the first event and on the message identifiers of the second events. The correlated message identifier for the first event is output.
    Type: Grant
    Filed: June 16, 2008
    Date of Patent: January 29, 2013
    Assignee: International Business Machines Corporation
    Inventor: Rohit Shetty
  • Patent number: 8365193
    Abstract: An approach provides for recovery of message driven directors responsible for dynamically allocating resources within a multi-node database system. The receipt of a message, the action taken in response to it, and other messages sent in furtherance of the action, are performed within a single transaction. In this way, the messages and other data are left in a state consistent with the message and action taken in response being fully processed or not processed at all. A standby director, stepping in for a crashed director, inherits a state consistent with where a crashed director last successfully completed an action. The approach insulates directors from the special perils of performing high latency actions by delegating the performance of such actions to a job, (i.e. another process).
    Type: Grant
    Filed: August 12, 2004
    Date of Patent: January 29, 2013
    Assignee: Oracle International Corporation
    Inventors: Lakshminarayanan Chidambaran, Debashish Chatterjee
  • Patent number: 8365194
    Abstract: A system using proxy actions to handle requests for actions that are not yet registered with a broker. When an action request is received and the action is not registered in the broker, a proxy action object is created and stored on a proxy action queue. Proxy action objects stored on the queue are read periodically and a check is made as to whether the actions they refer to have been registered yet. If an action for a queued proxy action object has been registered, the action request represented by the proxy action object delivered to the appropriate service provider component. If a proxy action object remains on the proxy action queue without the corresponding action being registered before a corresponding proxy action queue element lifetime timer expires, the proxy action object is removed from the proxy action queue without the action being performed.
    Type: Grant
    Filed: October 29, 2007
    Date of Patent: January 29, 2013
    Assignee: International Business Machines Corporation
    Inventor: Robert A. Balfe
  • Publication number: 20130014127
    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: September 14, 2012
    Publication date: January 10, 2013
    Applicant: American Express Travel Related Services Company, Inc.
    Inventors: Girish G. Kukreja, Yogita Talathi
  • Publication number: 20130007767
    Abstract: A method, system, and computer program product fo automatically generating service definitions for application clients of a message broker is provided. The method includes retrieving a trace of interactions between different application instances and corresponding message queues in a message brokering system. Thereafter, messages in the trace can be analyzed to identify the application instances and related message exchange data. Finally, a service definition document can be generated for each identified application instance using the related message exchange data to describe computational services provided by the identified application instance.
    Type: Application
    Filed: June 29, 2011
    Publication date: January 3, 2013
    Applicant: International Business Machines Corporation
    Inventors: Matthew W. Leming, Mark R. Phillips, Fenglian Xu
  • Patent number: 8347315
    Abstract: A method is provided comprising a server reading a first plurality of message queue objects associated with a first application transitioning from a first environment, reading a second plurality of objects associated with a baseline, and determining that a first time stamp associated with a first object in the first plurality is more recent than a second time stamp associated with the corresponding first object in the second plurality. The server reads approved changes, determines approval of the change to the first object, compares file names of objects in the first plurality with those of objects associated with the baseline, and determines that a name of a second object in the first plurality does not correspond to an object in the second plurality. The server determines that the placement of the second object in the first application is not approved, provides notification of need for approval and transitions the application.
    Type: Grant
    Filed: January 28, 2011
    Date of Patent: January 1, 2013
    Assignee: Sprint Communications Company L.P.
    Inventor: Mark D. Leonard
  • Publication number: 20120331482
    Abstract: The present invention comprises apparatus and systems for measuring, monitoring, tracking and simulating enterprise communications and processes. A central message repository or database is constructed, comprised of monitoring messages sent from process messaging systems. The database may then be accessed or queried as desired. A simulation tool assists in reviewing present and proposed processes and sub-processes before modifying existent systems or creating new systems.
    Type: Application
    Filed: September 21, 2011
    Publication date: December 27, 2012
    Applicant: YYZ LLC
    Inventors: Vincent R. Cyr, Kenneth Fritz
  • Patent number: 8341316
    Abstract: A method and apparatus are provided for controlling a translation lookaside buffer in connection with the execution of an atomic instruction. The method comprises identifying load instructions within a plurality of instructions to be executed, and placing the identified load instructions in a queue prior to execution. An atomic instruction identified in the queue is prevented from executing until the atomic instruction is the oldest instruction in the queue. The apparatus comprises a queue and a translation lookaside buffer. The queue is adapted to: identify an atomic instruction within a plurality of instructions to be executed; prevent execution of the atomic instruction until it is the oldest instruction in the queue; and send a virtual address corresponding to the atomic instruction and an atomic load signal in response to determining that the atomic instruction is the oldest instruction in the queue.
    Type: Grant
    Filed: November 17, 2010
    Date of Patent: December 25, 2012
    Assignee: Advanced Micro Devices, Inc.
    Inventors: David Kaplan, Christopher D. Bryant, Stephen P. Thompson
  • Patent number: 8341233
    Abstract: Various technologies pertaining to instant messaging are described herein. A persistent instant messaging group is created, wherein the persistent instant messaging group comprises a plurality of members and persists over a plurality of instant messaging sessions. Instances of an instant messaging application are installed on mobile telephones, and the instant messaging application is used to transmit instant messages between members of the persistent instant messaging group. Messages directed towards offline members of the persistent instant messaging group are transmitted to such members when they come online.
    Type: Grant
    Filed: November 28, 2011
    Date of Patent: December 25, 2012
    Assignee: Microsoft Corporation
    Inventors: Brian Scott Moudy, Aarthi Natarajan, Asta Roseway, Geeven Singh, George Joy, Ranjib Singh Badh, Richard Michael Eames, Marcella C. S. Rader, Alexander K. Heron, Vasudha Chandrasekaran, Nicole Danielle Steinbok, Steven Abrahams, Troy A. Schauls, Amy Wai-Yee Ip, Melora Zaner-Godsey, Seshagiri Panchapagesan, Jeroen Van Turennout, Vlad Cretu
  • Patent number: 8336057
    Abstract: The present invention provides a method, system and computer program product for automatically generating message queue scripts for defining one or more Websphere® Message Queue™ (WMQ) objects on one or more queue managers. A user provides parameters corresponding to the WMQ objects as input in an input parameter file. The parameters include the name of the WMQ objects and the queue managers. Further, a message queue environment consistency check is performed on the input parameter file for validating the parameters provided. The validation is performed by using a database that stores information about the message queue environment. After successful validation of the input parameter file, one or more message queue scripts are generated for defining the WMQ objects on the queue managers. Fallback scripts may also be generated for rolling back the modifications performed on the queue managers, if required at a later stage.
    Type: Grant
    Filed: September 28, 2009
    Date of Patent: December 18, 2012
    Assignee: Infosys Technologies Limited
    Inventor: Kiran Ramchandra Shirgaonkar
  • Patent number: 8336058
    Abstract: Disclosed are various embodiments for balancing a load on a queue among multiple consumers. A target polling hit rate is derived for at least one queue from a consumer load. The consumer load dictates a read rate of the at least one queue. The consumer load on the at least one queue is adjusted responsive to a difference between the target polling hit rate and an observed polling hit rate for the at least one queue.
    Type: Grant
    Filed: June 23, 2010
    Date of Patent: December 18, 2012
    Assignee: Amazon Technologies, Inc.
    Inventors: Nile Josiah Geisinger, Joseph J. Gleason