Message Using Queue Patents (Class 719/314)
  • Patent number: 7941808
    Abstract: A messaging service is described that incorporates messages into cached link lists. The messages are not yet acknowledged as having been received by one or more consumers to whom the messages were sent. A separate link list exists for each of a plurality of different message priority levels. Messages within a same link list are ordered in their link list in the same order in which they where received by the messaging service. At least one of the link lists contains an element that represents one or more messages that are persisted but are not cached in any of the cached link lists.
    Type: Grant
    Filed: December 29, 2005
    Date of Patent: May 10, 2011
    Assignee: SAP AG
    Inventors: Radoslav I. Nikolov, Desislav V. Bantchovski, Stoyan M. Vellev
  • Publication number: 20110107350
    Abstract: A method of queuing messages for communications between a first computer program and a second computer program, comprises: placing a plurality of messages in a queue, wherein each message has a message body; placing selector information on each message, wherein the selector information contains information as to which message is to be processed next; and using the selector information on a message to identify a next message for processing.
    Type: Application
    Filed: October 29, 2009
    Publication date: May 5, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: William Bittles, Simon Gormley, Christ Matthewson, Paul Titheridge
  • Patent number: 7937433
    Abstract: A system for delivering messages to a business component is provided. A Java Message Service (JMS) enabled connector from a first JMS enabled queue, and from a second queue, a file based queue using a polling notification type of architecture, which will act as a JMS enabled queue with a publication/subscription notification type of architecture through the use of a JMS enabled wrapper which acts on the second queue. The JMS enabled connector serves as the interface to the business component, and is operable to transform the message, and further operable to record, in a standard format, information about messages delivered from the first queue and from the second queue. A method for delivering messages to a business component is also provided.
    Type: Grant
    Filed: September 23, 2003
    Date of Patent: May 3, 2011
    Assignee: Embarq Holdings Company, LLC
    Inventor: Nandhu Kumar
  • Publication number: 20110099557
    Abstract: Systems and methods are provided for controlling a device. In one aspect, a method for controlling a device includes exposing a plurality of virtual device interfaces (13) for a device (11), wherein each virtual device interface (13) enables client control of a discrete function of the device, and controlling concurrent communication between the device (11) and two or more virtual device interfaces (13) operating on a single shared I/O connection (15) using a shared I/O port controlled by a device I/O module (12). The device I/O module (12) enables independent development of multiple device interfaces (13) that can seamlessly and independently operate on a single (physical) device communication connection (15), wherein the device shared I/O (input/output) module (12) implements functions to arbitrate and coordinate I/O activity between the device interfaces (13) and target device (11).
    Type: Application
    Filed: June 25, 2008
    Publication date: April 28, 2011
    Applicant: Thomson Licensing
    Inventor: Gerald Philip Wilson
  • Patent number: 7925699
    Abstract: A technique for exchanging messages in a computer network using a public data template and a message transfer protocol with interdependent request and confirmation messages is described. A request message includes a first data structure obtained by packing application data that requires confirmation in the public data template. A network component receiving the request message unpacks the application data and provides the unpacked application data to a confirmation process. At the same time, the unpacked application data provided to the confirmation process is repacked in the public data template to generate a second data structure. The second data structure is sent with a confirmation message via the computer network to the sender of the request message. By comparing the content of the first data structure with the content of the second data structure, inconsistencies degrading the accuracy and trustworthiness of the confirmation process may be detected.
    Type: Grant
    Filed: January 28, 2005
    Date of Patent: April 12, 2011
    Assignee: SAP Ag
    Inventors: Paola Sala, Georg Podhajsky, Ralf Sievers, Andre Wagner
  • Patent number: 7925761
    Abstract: Method and system for implementing a dead man dependency technique in a cluster comprising a plurality of interconnected nodes, one of the nodes comprising a cluster resource manager (CRM), and one of the nodes comprising a policy engine (PE), the PE maintaining at least one dependency associated with a first resource executing on one of the nodes. In an embodiment, the method comprises, responsive to a status change of an attribute associated with the first resource, the PE receiving from the CRM an indication of the status change and information regarding a configuration of the cluster; responsive to receipt of the status change indication and the configuration information, identifying by the PE a manner of terminating and migrating the first resource to another one of the nodes; and providing by the PE to the CRM an instruction sequence for causing the identified manner of terminating and migrating the first resource.
    Type: Grant
    Filed: June 30, 2009
    Date of Patent: April 12, 2011
    Assignee: Novell, Inc.
    Inventors: Lars Marowsky-Bree, Andrew John Beekhof
  • Publication number: 20110067037
    Abstract: A system and method for processing message threads is provided. A plurality of messages, each comprising a message body, is grouped by conversation thread. The message bodies of the messages are compared. Each message recursively contained in at least one other message is identified as a near duplicate message. An attachment sequence is generated for at least part of each attachment associated with one or more of the messages. The attachment sequences associated with the near duplicate messages are compared. Each near duplicate message having an attachment sequence not matching the attachment sequence of any other near duplicate message is identified as a unique message.
    Type: Application
    Filed: November 15, 2010
    Publication date: March 17, 2011
    Inventors: Kenji Kawai, David T. McDonald
  • Publication number: 20110067036
    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: Application
    Filed: September 16, 2010
    Publication date: March 17, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Matthew Hickford, Nicholas Mathias, Gavin Potter, Edward Warrillow, Matthew Whitehead, Stuart Wilkinson
  • Publication number: 20110061062
    Abstract: A method of communication in at least one electronic device is presented. In the method, a first execution thread and a second execution thread are created in the at least one electronic device. Also created is a message service for receiving messages for the first thread. A message to be transferred from the second thread to the message service of the first thread is generated. Outside of control by either the first or second threads, one of multiple data transfer mechanisms is selected for transferring the message from the second thread to the message service of the first thread based on a relationship between the first and second threads. This relationship may be one in which the first and second threads are executing within a single process, within different processes of the same device, or within different devices. The message is transferred to the message service of the first thread using the selected data transfer mechanism and processed in the first thread.
    Type: Application
    Filed: July 29, 2010
    Publication date: March 10, 2011
    Applicant: ECHOSTAR TECHNOLOGIES L.L.C.
    Inventors: Shiqiang Chu, Kan Man Wong, Mark Templeman
  • Publication number: 20110055522
    Abstract: A request control device, request control method, and a multiprocessor cooperation architecture. The request control device is connected to a request storage module and includes a comparing means and an identifier means. The comparing means is configured to determine if an incoming first queue unit corresponds to the same message with a queue unit that has existed in the request storage module. The identifier setting means is configured to set a save identifier of the queue unit that has existed in the request storage module to indicate not to save a state associated with the message if the first queue unit corresponds to the same message with the queue unit that has existed in the request storage module. According to the technical solution of the invention, the access to the memory caused by saving/loading the states is reduced and thereby increases the processing speed of the processor.
    Type: Application
    Filed: August 18, 2010
    Publication date: March 3, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Xiao Tao Chang, Wei Liu, Kun Wang, Hong Bo Zeng
  • Patent number: 7895329
    Abstract: In a flow control method, operation flow is controlled on a per connection basis. The method comprises managing a sending peer to prevent overflow of a receiving peer's receiver credits and allocating a number of send buffers at the sending peer greater than or equal to the maximum number of receiver credits that can be indicated by the receiving peer. The technique prevents the sending peer from overflowing its set of send buffers, arising due to re-use, without taking completions on operations queued to a Send Queue.
    Type: Grant
    Filed: January 12, 2006
    Date of Patent: February 22, 2011
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Amitabha Biswas, Prashant Modi
  • Patent number: 7895602
    Abstract: Provided are a system and article of manufacture for duplicate message elimination during recovery when multiple threads are delivering messages from a message store to a destination queue. A plurality of message threads process operations to deliver messages from a message store to a destination queue, wherein one message thread processes one message. An in-doubt list is generated identifying messages that are in-progress of being delivered form the message store to the destination queue by the message threads. One message thread processing one message adds an entry including the message identifier and the thread identifier to a monitor queue. The message thread further adds the message to the destination queue. A recovery thread is generated in response to detecting a failure in the processing by the threads to deliver the messages from the message store to the destination queue.
    Type: Grant
    Filed: November 25, 2008
    Date of Patent: February 22, 2011
    Assignee: International Business Machines Corporation
    Inventors: Kenneth L. Astl, Subramanyam Agraharam Gooty, Arul Sundaramurthy, Kai Mike Zhang
  • Patent number: 7895601
    Abstract: Mechanisms for collective send operations on a system area network are provided. The mechanisms of the illustrative embodiments provide for the creation, modification, and removal of collective send queues (CSQs) that allow the upper level protocol (ULP) used by a consumer to send the same message to a collective set of queue pairs (QPs). In order to use the transport services of a CSQ, a consumer process posts a write work request (WR) to the CSQ. The write WR causes a write work queue element (WQE) to be generated and placed in the CSQ. A channel interface (CI) is provided that effectively copies the write WQE to all of the send queues (SQs) of the QPs in the QP set associated with the CSQ. When all the QPs complete processing of their respective write WQEs, the HCA releases all data segments referenced by the write WR.
    Type: Grant
    Filed: January 10, 2007
    Date of Patent: February 22, 2011
    Assignee: International Business Machines Corporation
    Inventors: Alan F. Benner, Michael A. Ko, Gregory F. Pfister, Renato J. Recio, Jacobo A. Vargas
  • Patent number: 7895599
    Abstract: Methods and apparatuses enable providing asynchronous data loading from a remote or separate interface. A data loader provides a synchronous interface for receiving and queuing requests to execute functions on a distributed object tree. The data loader dequeues and executes the functions asynchronously with respect to the requests for execution. A user interface is asynchronously updated as the execution is performed in a background process.
    Type: Grant
    Filed: May 23, 2007
    Date of Patent: February 22, 2011
    Assignee: SAP AG
    Inventor: Fabrizio Muscarella
  • Patent number: 7895600
    Abstract: A method of optimizing propagation of non-persistent messages from a source database management system (DBMS) to a destination database management system (DBMS) is described and provided. The method comprises receiving one or more nonpersistent messages from a source non-persistent message queue of the source DBMS at a destination non-persistent message queue of the destination DBMS. The nonpersistent messages are consumed from the destination non-persistent message queue such that consumed non-persistent messages are removed from the destination non-persistent message queue.
    Type: Grant
    Filed: June 19, 2006
    Date of Patent: February 22, 2011
    Assignee: Oracle International Corporation
    Inventors: Kapil Surlaker, Nimar Singh Arora
  • Publication number: 20110041138
    Abstract: A method of presenting data entities of standard device applications in wireless devices is provided. Component-based applications are hosted on a wireless device providing an application runtime environment for hosting at least one component-based application. Component definitions are hosted for developing the component-based application. A standard data component implements a standard data component definition; the standard data component definition is embedded into the component-based application definition during development. The standard data component providing access to a standard device data entity by invoking device dependent APIs the standard data component presenting the standard device data entity as a user defined data component. The application runtime environment automatically making functionality available of the user defined data components available to standard data component.
    Type: Application
    Filed: October 22, 2010
    Publication date: February 17, 2011
    Applicant: RESEARCH IN MOTION LIMITED
    Inventors: Richard QING, Kenneth WALLIS, Viera BIBR, Cameron BATEMAN, Michael SHENFIELD, Kamen VITANOV
  • Patent number: 7890958
    Abstract: Provided are a system and article of manufacture for automatic adjustment of time a consumer waits to access data from a queue during a waiting phase and transmission phase at the queue. A determination is made as to whether a queue is in a waiting phase or a transmission phase for data in response to waiting for a waiting phase wait time when initiating an operation to access data from the queue. During the waiting phase data is not available in the queue for reading. An incremental wait time is waited in response to determining that the queue is in the waiting phase. A determination is made as to whether the queue is in the waiting phase or the transmission phase in response to waiting the incremental wait time. A total wait time is recorded in response to determining that the queue is in the transmission phase. The at least one recorded total wait time is used to determine the waiting phase wait time to use when initiating the operation to access data from the queue.
    Type: Grant
    Filed: August 18, 2008
    Date of Patent: February 15, 2011
    Assignee: International Business Machines Corporation
    Inventor: Hai-Yann Hwang
  • Patent number: 7890959
    Abstract: A system and method for message lifetime management. According to an embodiment of the invention, a front-end application process identifies during a user interface interaction cycle of the front-end application process at least one stateful message reported to the front-end application process by a back-end service process during a prior user interface interaction cycle of the front-end application process, the at least one stateful message having been stored in a message buffer by the front-end application process, queries the back-end service process to determine whether the at least one stateful message is currently valid, and removes the at least one stateful message from the message buffer if it is determined not to be currently valid.
    Type: Grant
    Filed: March 30, 2007
    Date of Patent: February 15, 2011
    Assignee: SAP AG
    Inventors: Frank Brunswig, Ioannis Grammatikakis, Dinu Pavithran, Guenter Pecht-Seibert, Michael Picht, Alexander Rauh, Holger Schmidt
  • Patent number: 7890954
    Abstract: A system and method for communicating across multiple heterogeneous hosts using a two-tier software infrastructure where messaging software is used to handle all intra- and inter-host messaging and application software is divided into functional blocks called software entities where these entities communicate with one another through the messaging software. The messaging software communicates with other hosts using TCP/IP connection, where information about the registered entities such as location and state are communicated using a routing protocol such as RIP. This framework provides a new means of communication between functionally well-separated software components.
    Type: Grant
    Filed: December 22, 2004
    Date of Patent: February 15, 2011
    Assignee: Argela Technologies
    Inventors: Aziz Sever, Erhan Lokman, Altug Simsek, Can Ozumuztoprak, Cemalettin Bora Eliacik
  • Publication number: 20110035757
    Abstract: A system and method for management of jobs in the clustered environment is provided. Each node in the cluster executes a job manager that interfaces with a replicated database to enable cluster wide management of jobs within the cluster. Jobs are queued in the replicated database and retrieved by a job manager for execution. Each job manager ensures that jobs are processed through completion or, failing that, are requeued on another storage system for execution.
    Type: Application
    Filed: October 18, 2010
    Publication date: February 10, 2011
    Inventor: Michael Comer
  • Patent number: 7886306
    Abstract: A system and process for passing messages directly between instances of Operating System (OSs) and plurality of Coupling Facilities (CFs) through Sharable InterSystem Channels (ISCs) and without polling, in one or more Computer Electronic Complexes (CECs). Primary messages and associated secondary messages are passed by a hypervisor using a hypervisor memory.
    Type: Grant
    Filed: November 8, 2007
    Date of Patent: February 8, 2011
    Assignee: International Business Machines Corporation
    Inventors: Thomas A. Gregg, Kulwant M. Pandey
  • Patent number: 7886295
    Abstract: The present invention provides a connection manager, method, system and program product for centrally managing computer applications. Specifically, under the present invention, a connection manager is provided that centrally manages the applications through a queue broker, and communicates with components of a heartbeat manager and cleanup manager. The connection manager of the present invention provides, among other things, a centralized point for: (1) applications to directly connect to one another; (2) heartbeats of the applications to be monitored; and (3) any necessary cleanup actions to be implemented.
    Type: Grant
    Filed: February 17, 2005
    Date of Patent: February 8, 2011
    Assignee: International Business Machines Corporation
    Inventors: Ernest J. Burger, Maria T. Kapogiannis, Andrew C. Stafford, So Ying Tse-Lam
  • Patent number: 7886264
    Abstract: A computer-implemented method and an apparatus for use in a computing programming environment are disclosed. The method includes: receiving a plurality of user inputs, each user input specifying an action in a workflow; identifying a data type incompatibility between two of the specified actions; and generating a script for executing the actions in the workflow responsive to the user inputs, the script including code for performing a action for converting one of the two identified, incompatible data types to the second. The apparatus, in a first aspect, includes a program storage medium encoded with instructions that, when executed by a computing device, performs the method. In a second aspect, the apparatus includes a computing apparatus programmed to perform the method.
    Type: Grant
    Filed: June 25, 2004
    Date of Patent: February 8, 2011
    Assignee: Apple Inc.
    Inventors: Eric S. Peyton, Tim W. Bumgarner
  • Publication number: 20110029988
    Abstract: A method and apparatus for facilitating communication amongst a plurality of applications associated with at least one device is provided. The method may comprise receiving, by an extension module, a request from a first application to communicate with one or more applications, establishing a communication link between the first and at least one of the one or more applications, wherein the communication link allows the first and the at least one of the one or more applications to communicate at least one of data or control information, and storing, by the extension module, at least a portion of data communicated between the communicating applications.
    Type: Application
    Filed: August 3, 2009
    Publication date: February 3, 2011
    Applicant: QUALCOMM Incorporated
    Inventors: Vineet Mittal, Rajarshi Ray, Rajeev D. Rajan, Michael J. Koenig, Abdelkader Elmilady, Larissa Dantsker, Jatin C. Kadakia
  • Publication number: 20110022871
    Abstract: A system and method are provided for using queue status to manage power in a system-on-chip (SoC). Messages to be processed are accepted in an SoC with a plurality of selectively enabled processors, and queued. The message traffic can be from an external source via an input/output (IO) interface, or intra-SoC messages between processors. The number of queued messages is monitored and, in response to the number of queued messages exceeding a subscription threshold, one or more processors are enabled. Then, the queued messages are distributed to the enabled processors. Enabling a processor is defined by an action such as supplying power to an unpowered processor, increasing the power supply voltage levels to a processor, increasing the operating frequency of a processor, or a combination of the above-mentioned actions. Likewise, processors can be disabled in response to the number of queued messages falling below the subscription threshold.
    Type: Application
    Filed: July 21, 2009
    Publication date: January 27, 2011
    Inventors: Daniel L. Bouvier, Satish Sathe
  • Patent number: 7877757
    Abstract: Detailed herein is a technology which, among other things, monitors the flow of events between a front-end application and a backend server. In one approach is technology, a new event is received at the backend server. This new event has an event type, which is used to set a new event flag, indicating that a new event of that type has been received. The new event is added to the queuing table. One or more events from the queuing table are selected, and a failover mechanism is maintained while selected events are being processed.
    Type: Grant
    Filed: May 5, 2006
    Date of Patent: January 25, 2011
    Assignee: Microsoft Corporation
    Inventors: Jon F. Matousek, Rajesh Kamath
  • Patent number: 7873964
    Abstract: In a multi-processor system with a high degree of inter processor communication, an operating system extension is described as a kernel function to poll a receive buffer. This is an opportunistic poll that continues to run in the user context after an application process has invoked the kernel with a blocking receive function. It is also running whenever no higher priority task is running. New data packets may be received for the present user application process while avoiding context switches, and for a different user process while avoiding interrupts. A hardware implemented delay timer and a buffer fill monitor generate interrupts when the system is not polling, thus guaranteeing a maximum latency and preventing buffer overflow, but these interrupts are largely avoided by polling when the system is handling a large amount of inter processor data traffic.
    Type: Grant
    Filed: October 30, 2006
    Date of Patent: January 18, 2011
    Assignee: Liquid Computing Corporation
    Inventors: Kaiyuan Huang, Michael F. Kemp, Ernst Munter, Venkatesh Bathala, Damodharan Narayanan
  • Patent number: 7870562
    Abstract: To process media data from one or more sources, a hierarchy of media components are formed. Each media component receives as input one or more streams of media data and manipulates the media data to produce an output media stream. The media components conform to a uniform plug-in structure. The plug-in structure defines an abstraction that facilitates the hierarchical organization of the media components and that allows the media components to interact, in a decoupled manner, with each other and with processors that perform specific types of media data manipulations. The hierarchy can be reorganized dynamically.
    Type: Grant
    Filed: June 24, 2005
    Date of Patent: January 11, 2011
    Assignee: Apple Inc.
    Inventor: Craig Hansen-Sturm
  • Patent number: 7870563
    Abstract: Workflows are triggered for time-sensitive, user-specific data queued for delivery to a plurality of users. Responsive to time-sensitive data being queued, time-based triggers are created based at least in part upon content of the time-sensitive data. If the time-sensitive data is still in the queue when the time-based trigger expires, one-or-more rules are executed to change a destination of the time-sensitive data.
    Type: Grant
    Filed: September 20, 2006
    Date of Patent: January 11, 2011
    Assignee: SAP AG
    Inventor: Sudhir Krishna Satyanarayana
  • Patent number: 7870559
    Abstract: A method, system, and computer program product for continuous availability of non-persistence messages in a distributed platform are provided. The method includes providing a first client application independently in operative communication with at least two servers via a first client abstraction layer, generating a critical message by the first client application, duplicating the critical message at the first client abstraction layer for each of the servers, and transmitting the duplicate critical messages independently to each of the servers. The method further includes providing a second client application independently in operative communication with each of the servers via a second client abstraction layer, receiving one or more of the duplicate critical messages at the second client abstraction layer, selecting a critical message from the one or more duplicate critical messages, and delivering the selected critical message to the second client application.
    Type: Grant
    Filed: March 27, 2007
    Date of Patent: January 11, 2011
    Assignee: International Business Machines Corporation
    Inventors: Chandan Mallik, Benjamin W. Herta, J. Kevin Lowe, Jr.
  • Patent number: 7870560
    Abstract: There is disclosed a method, apparatus and computer program product for receiving a message, the message being processable by a component on one of a plurality of processing threads. A message is received from a first component on a current thread. The communication style that was used by the first component is determined. Responsive to receipt of the message, the communication style that is desired to be used by a second component is determined. Responsive to determining that the two components are asynchronous, communication takes place with the second component using the current thread.
    Type: Grant
    Filed: June 18, 2007
    Date of Patent: January 11, 2011
    Assignee: International Business Machines Corporation
    Inventors: Pamela H Fong, Simon A J Holdsworth
  • Patent number: 7870558
    Abstract: Sharing access to resources using an inter-process communication (“IPC”) provides a connection in which references to resources are passed from a sender to a receiver in a trusted third party environment. A sender in possession of a reference to a resource, such as a handle to an object, may initiate the connection with the receiver. In turn, the receiver may accept or refuse the connection, and may further specify the types of resources in which the receiver is interested when accepting through the connection. Sharing access to resources in this manner advantageously insures that only a process that already has access to a resource is able to share that access with another process, and further that only processes that wish to do so will accept such access.
    Type: Grant
    Filed: July 15, 2005
    Date of Patent: January 11, 2011
    Assignee: Microsoft Corporation
    Inventors: Genevieve Fernandes, Adrian Marinescu, Neill M. Clift, Robert H. Earhart, Adnan Ilik
  • Patent number: 7865887
    Abstract: Embodiments of the present invention provide improved event handling between systems. In one embodiment, the present invention includes software event handling method comprising receiving a first event from a first source system in a plurality of source systems, the first event including event information, accessing context information corresponding to the first event, generating a second event based on at least a portion of the event information and context information using one or more rules, assigning a priority to the second event, and sending the second event to a first target system in a plurality of target systems.
    Type: Grant
    Filed: November 30, 2006
    Date of Patent: January 4, 2011
    Assignee: SAP AG
    Inventors: Matthias U. Kaiser, Keith S. Klemba, Shuyuan Chen, Frankie James
  • Patent number: 7865903
    Abstract: This invention provides methods, systems and apparatus for processing a message of a large number of agents. An example of an apparatus includes: a memory; means for managing a state of an agent based on whether the agent is in the memory and whether there is a message, by determining a priority level of the agent based on a message inserted into the agent; means for assigning a thread to the agent if the agent is in the memory and for assigning a thread to the agent after calling the agent to the memory if the agent is not in the memory, on condition that the agent having a highest priority level has been detected; and message processing means for repeating message processing until a predetermined criterion is satisfied, in relation to the agent to which a thread has been assigned.
    Type: Grant
    Filed: June 23, 2008
    Date of Patent: January 4, 2011
    Assignee: International Business Machines Corporation
    Inventors: Gaku Yamamoto, Teruo Koyanagi, Yoshiaki Kobayashi
  • Publication number: 20100333099
    Abstract: A method and circuit arrangement process a workload in a multithreaded processor that includes a plurality of hardware threads. Each thread receives at least one message carrying data to process the workload through a respective inbox from among a plurality of inboxes. A plurality of messages are received at a first inbox among the plurality of inboxes, wherein the first inbox is associated with a first thread among the plurality of hardware threads, and wherein each message is associated with a priority. From the plurality of received messages, a first message is selected to process in the first thread based on that first message being associated with the highest priority among the received messages. A second message is selected to process in the first thread based on that second message being associated with the earliest time stamp among the received messages and in response to processing the first message.
    Type: Application
    Filed: June 30, 2009
    Publication date: December 30, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Mark Gary Kupferschmidt, Eric Oliver Mejdrich, Paul Emery Schardt, Frederick Jacob Ziegler
  • Publication number: 20100325640
    Abstract: In a messaging and queuing system that supports a cluster of logically associated messaging servers for controlling queues of messages, messages are processed. In response to an application program command to a first messaging server, a queue is opened, the queue having multiple instances on further messaging servers of the cluster. Responding to first messaging server putting messages on the queue, messages are distributed among the multiple instances of the queue on their respective messaging servers so as to balance. For the first message of an affinity set, access information for the particular queue instance to which it is put is obtained and stored. The access information may be used in order to send the further message to the particular queue instance and, if said further message is not part of the affinity set, it is put to an instance of the queue as determined by said predetermined rules.
    Type: Application
    Filed: June 16, 2010
    Publication date: December 23, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew J. Schofield, Philip G. Willoughby
  • Patent number: 7853956
    Abstract: A method and system for bridging services is provided. The method and system includes retrieving at last one message from a first messaging tool using at least one processing thread to retrieve message objects from a messaging queue of the first messaging tool. This aspect of the invention further includes executing a preprocessing on the retrieved message object using a predefined application programming interface (API) and placing the preprocessed message on an API of a second messaging tool. A computer program product comprising a computer useable medium including a computer readable program which, when executed causes the computer to implement the steps of the method.
    Type: Grant
    Filed: April 29, 2005
    Date of Patent: December 14, 2010
    Assignee: International Business Machines Corporation
    Inventor: Robert W. Eckert
  • Patent number: 7853616
    Abstract: Methods and apparatus, including computer program products, are provided for processing messages including structured data, such as objects and business objects. The method may include a receiver inhibiting processing of a first message including a first object referencing a second object, when the receiver of the first message does not include key mapping information for the second object. The receiver may then receive key mapping information determined for the second object, when a second message, received at the receiver, includes the second object without references to another dependent object. The mapping information may be representative of a location of the second object. The receiver may then automatically resume processing of the first message, when the key mapping information is received. Related apparatus, systems, methods, and articles are also described.
    Type: Grant
    Filed: May 14, 2007
    Date of Patent: December 14, 2010
    Assignee: SAP AG
    Inventors: Daniel Buchmann, Uwe E. Fischer, Jochen Hoenig
  • Patent number: 7849468
    Abstract: Arrangements for enhancing browsing of messages in a message queue are disclosed. Embodiments include hardware and/or software for tracking records browsed by one or more agents. The agents can collect, process, and/or re-format data for an upperware application, a data warehouse, and/or similar systems. When the agent sets up communications with a queue, the agent may generate an attribute setting that instructs the middleware to track the last record browsed and/or the next record to browse. In response to setting the attribute, an agent identification (AID)) can be utilized to record the current record number, row number, queue identifier, and/or the like in a database. When the agent re-establishes communication with the middleware queue, the middleware can retrieve the current record number utilizing the AID.
    Type: Grant
    Filed: November 11, 2008
    Date of Patent: December 7, 2010
    Assignee: International Business Machines Corporation
    Inventors: Hung The Dinh, Teng Hu, Phong A. Pham
  • Publication number: 20100306786
    Abstract: In one embodiment, systems and methods are provided for tracking events wherein an event system monitors certain areas of a system. When an event occurs in one area of the system, the event system notifies the processes listening to that area of the system of the event.
    Type: Application
    Filed: May 27, 2010
    Publication date: December 2, 2010
    Applicant: ISILON SYSTEMS, INC.
    Inventors: Aaron J. Passey, Neal T. Fachan
  • Patent number: 7844973
    Abstract: A system to control access to a resource by a group of threads requiring access to the resource provides exclusive access to the resource within a computerized device on behalf of a first thread by allowing the first thread exclusive access of a monitor associated with the resource. An entry list of threads is maintained that are awaiting access to the monitor using block-free list joining mechanisms including a thread chaining technique, a push/pop technique, and a detach, modify, reattach technique to allow threads to join the entry list of threads without blocking operation of the threads. Upon completion of access to the resource by the first thread, the system operates the first thread to manipulate the entry list of threads to identify a successor thread as being a candidate thread to obtain exclusive access of the monitor to gain exclusive access to the resource.
    Type: Grant
    Filed: December 9, 2004
    Date of Patent: November 30, 2010
    Assignee: Oracle America, Inc.
    Inventor: David Dice
  • Patent number: 7839983
    Abstract: A method for providing voice telephony services can include the step of receiving a call via a telephone gateway. The telephone gateway can convey call identifying data to a resource connector. A media port can be responsively established within a media converter that is communicatively linked to the telephone gateway through a port associated with the call. A call description object can be constructed that includes the call identifying data and an identifier for the media port. The call description object can be conveyed to a telephony application server that provides at least one speech service for the call. The telephony application server can initiate at least one programmatic action of a communicatively linked speech engine. The speech engine can convey results of the programmatic action to the media converter through the media port. The media converter can stream speech signals for the call based upon the results.
    Type: Grant
    Filed: July 2, 2008
    Date of Patent: November 23, 2010
    Assignee: Nuance Communications, Inc.
    Inventors: Thomas E. Creamer, Victor S. Moore, Wendi L. Nusbickel, Ricardo Dos Santos, James J. Sliwa
  • Patent number: 7840969
    Abstract: A system and method for management of jobs in the cluster environment is provided. Each node a cluster executes a job manager that interfaces with a replicated database to enable cluster wide management of jobs within the cluster. Jobs are queued in the replicated database and retrieved by a job manager for execution. Each job manager ensures that jobs are processed through completion or, failing that, are re-queued on another storage system for execution.
    Type: Grant
    Filed: April 28, 2006
    Date of Patent: November 23, 2010
    Assignee: NetApp, Inc.
    Inventor: Michael Comer
  • Patent number: 7836228
    Abstract: A scalable first-in-first-out queue implementation adjusts to load on a host system. The scalable FIFO queue implementation is lock-free and linearizable, and scales to large numbers of threads. The FIFO queue implementation includes a central queue and an elimination structure for eliminating enqueue-dequeue operation pairs. The elimination mechanism tracks enqueue operations and/or dequeue operations and eliminates without synchronizing on the FIFO queue implementation.
    Type: Grant
    Filed: October 15, 2004
    Date of Patent: November 16, 2010
    Assignee: Oracle America, Inc.
    Inventors: Mark Moir, Ori Shalev, Nir Shavit
  • Publication number: 20100287564
    Abstract: Providing controlled access for a destination in a messaging system includes: selecting a destination for storing messages in a messaging system, one or more of the messages comprising one or more message properties; associating each of a set of message requestors with a set of message selectors; and in response to an access request for the destination from a message requestor, determining the set of said message selectors associated with the message requestor and using the identified set of message selectors to check against messages on the destination comprising a corresponding set of message properties for providing a response to the access request.
    Type: Application
    Filed: March 22, 2010
    Publication date: November 11, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Philip G. Willoughby
  • Publication number: 20100287565
    Abstract: A method, apparatus and/or computer program product manage a request for a message destination. A request to create a new temporary destination at a receiving computer is intercepted, and generation of the new temporary destination is suppressed. A pre-defined destination that is operable to store the message instead of the new temporary destination is selected. An identifier, which is assigned to the new temporary destination, is associated with the pre-defined destination.
    Type: Application
    Filed: May 6, 2010
    Publication date: November 11, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: JASON C. EDMEADES, AVINASH GUPTA KONDA, PHILIP G. WILLOUGHBY
  • Publication number: 20100281491
    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: Application
    Filed: July 13, 2010
    Publication date: November 4, 2010
    Inventors: Kapil Surlaker, Neerja Bhatt, Shailendra Mishra
  • Patent number: 7823170
    Abstract: A system, computer program product and method of processing function calls in a distributed application environment are provided. A number of function calls for communication from a sending application to a receiving application are queued in a database. Dependencies among at least a portion of the function calls that are being queued are determined while the function calls are stored in the queues. A schedule of execution of the function calls is then generated based on the determined dependencies.
    Type: Grant
    Filed: August 31, 2005
    Date of Patent: October 26, 2010
    Assignee: SAP AG
    Inventors: Masoud Aghadavoodi Jolfaei, Wolfgang Baur, Kai Baumgarten, Thomas C. Becker, Andreas Blumenthal, Rolf Hammer, Wolfgang G. Mueller, Helmut Prestel, Werner Rehm, Wolfgang Roeder, Carl Philipp Staszkiewicz, Volker Wiechers, Guenter Zachmann
  • Patent number: 7818757
    Abstract: A method for processing messages ensures that every message that enters a continuous processing system is fully processed in its entirety, even in the event of a failure within the system. Messages are pushed through an execution plan that includes a set of connected “primitives” that process the message, where the primitives may be distributed across a group of servers. Messages are pushed through in accordance with a protocol that does not permit unprocessed messages to be permanently lost as they travel from input sources, between primitives, and to output sources within the execution plan. The input queue, output queue, and state (if any) associated with each primitive are saved in persistent storage at select checkpoints. If a failure occurs on a server, the server, after it starts up again, restores the primitives on that server to the input queues, output queues, and states saved at the last applicable checkpoint.
    Type: Grant
    Filed: July 17, 2006
    Date of Patent: October 19, 2010
    Assignee: Sybase, Inc.
    Inventors: Mark Tsimelzon, Aleksey Sanin, Alexander Zeyliger
  • Patent number: 7818426
    Abstract: A method for processing a message by a message provider that includes receiving, for a topic, a mutual exclusion function from each application instance of a plurality of application instances, receiving the message for the topic, and sending the message to one application instance of the plurality of application instances based on executing each of the mutual exclusion functions, wherein the mutual exclusion functions ensure that the message is sent to a single application instance of the plurality of application instances.
    Type: Grant
    Filed: March 27, 2007
    Date of Patent: October 19, 2010
    Assignee: Oracle America, Inc.
    Inventors: Ramesh Parthasarathy, Binod P. Gangadharan, Sivakumar Thyagarajan