Inter-process communication channel

US9507653B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9507653-B2
Application numberUS-201213612299-A
CountryUS
Kind codeB2
Filing dateSep 12, 2012
Priority dateSep 12, 2012
Publication dateNov 29, 2016
Grant dateNov 29, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques are described herein that are capable of constructing an inter-process communication channel, for example, between a requesting component and a targeted process. The communication channel may have one or more links, such that each link is defined by a respective node pair in a plurality of nodes. The plurality of nodes includes the requesting component, the targeted process, and optionally one or more intermediate nodes. An attachment request is received via a user interface. The requesting component is attached to the targeted process. For instance, the links may be traversed to discover the targeted process. The communication channel is established. For instance, in each node of a subset of the plurality of nodes, node information may be retained to indicate a next consecutive node of the plurality of nodes to which messages from the requesting component to the targeted process are to be delivered.

First claim

Opening claim text (preview).

What is claimed is: 1. A system to construct a communication channel between a requesting component and a specified targeted process, the system comprising: at least one element including at least one of (a) one or more processors or (b) hardware logic/electrical circuitry; query logic, implemented using the at least one element, to provide an availability query to the requesting component in response to receipt of an attachment request via a user interface, the attachment request indicating that the requesting component is to be attached to the specified targeted process, the attachment request including a node indicator that specifies an order of a plurality of nodes with respect to which the communication channel is to be constructed, the requesting component being an originating node of the plurality of nodes, the specified targeted process being a destination node of the plurality of nodes, the requesting component being external to the specified targeted process, the availability query causing the requesting component to determine a plurality of available nodes based on receipt of a plurality of availability indicators from the plurality of respective available nodes, each of the plurality of availability indicators specifying that the respective available node is capable of communicating with the requesting component; selection logic to select the specified targeted process from the plurality of available nodes based on the node indicator; attachment logic to attach the requesting component to the specified targeted process to establish the communication channel therebetween in response to selection of the specified targeted process, the attachment logic to automatically generate a first port object that is associated with the requesting component, the first port object to serialize messages that are provided from the requesting component using the communication channel, the attachment logic to automatically generate a second port object that is associated with the specified targeted process in response to a determination that the requesting component is to be attached to the specified targeted process, the second port object to de-serialize messages that are received at the specified targeted process via the communication channel; storage logic to store a reference to the specified targeted process, the reference indicating that messages from the requesting component are to be sent to the specified targeted process via the communication channel while the requesting component is attached to the specified targeted process; and synchronization logic to synchronize a state of a tooling window of the requesting component with a state of the specified targeted process based on information regarding the specified targeted process that is received asynchronously at the requesting component via the communication channel, the tooling window to enable diagnostic operations to be performed with respect to the specified targeted process via an execution engine that is included in the specified targeted process, the execution engine having an execution context that is different from an execution context of the specified targeted process, which includes the execution engine, to at least hinder execution of the execution engine from interfering with execution of the specified targeted process. 2. The system of claim 1 , wherein the first port object is further to de-serialize messages that are received at the requesting component from the specified targeted process; wherein the second port object is further to serialize messages that are provided from the specified targeted process to the requesting component; and wherein the storage logic is to store a second reference to the requesting component, the second reference indicating that messages from the specified targeted process are to be sent to the requesting component while the requesting component is attached to the specified targeted process. 3. The system of claim 2 , further comprising: determination logic to determine whether a designated port object is disabled, the designated port object being the first port object or the second port object, the determination logic further to send an instruction to causation logic that instructs the causation logic to cause the first port object or the second port object that is not the designated port object to be disabled; and the causation logic to cause the first port object or the second port object that is not the designated port object to be disabled in response to receipt of the instruction from the determination logic as a result of the designated port object being disabled. 4. The system of claim 2 , further comprising: determination logic to determine whether an error occurs with regard to the communication channel; causation logic to halt attempts to cause communication between the first port object and the second port object via the communication channel in response to a determination that the error occurs with regard to the communication channel; and error logic to provide an error indicator via the user interface to indicate that the error occurs with regard to the communication channel. 5. The system of claim 1 , wherein the requesting component executes on a first machine; wherein the specified targeted process executes on a second machine that is different from the first machine; wherein the query logic is further to provide an accessibility query to the requesting component, the accessibility query causing the requesting component to determine one or more accessible machines in a networked computer system that are accessible to the first machine in accordance with a computer networking protocol, the one or more accessible machines including the second machine; wherein the system further comprises: selection logic to select the second machine from the one or more accessible machines based on a selection instruction that is received in response to a determination of the one or more accessible machines; and wherein the attachment logic is to cause an agent to execute on the second machine, the agent to facilitate the construction of the communication channel between the requesting component and the specified targeted process. 6. The system of claim 5 , wherein the first port object is to serialize messages that are provided from the requesting component toward the agent; wherein the attachment logic is to automatically generate a third port object that is associated with the agent, the third port object to de-serialize messages that are received at the agent from the requesting component; and wherein the attachment logic is to automatically generate a fourth port object that is associated with the agent, the fourth port object to serialize messages that are provided from the agent toward the specified targeted process. 7. The system of claim 6 , wherein the first port object is further to de-serialize messages that are received at the requesting component from the agent; wherein the third port object is further to serialize messages that are provided from the agent toward the requesting component; wherein the fourth port object is further de-serialize messages that are received at the agent from the specified targeted process; wherein the second port object is further to serialize messages that are provided form the specified targeted process toward the agent; and wherein the storage logic is to store a second reference to the requesting component, the second reference indicating that messages from the specified targeted process are to be sent to the requesting component while the requesting component is attached to the specified targeted process. 8. The system of claim 1 , further comprising: causation logic to cause a dynam

Assignees

Inventors

Classifications

  • G06F9/546Primary

    Message passing systems or structures, e.g. queues · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9507653B2 cover?
Techniques are described herein that are capable of constructing an inter-process communication channel, for example, between a requesting component and a targeted process. The communication channel may have one or more links, such that each link is defined by a respective node pair in a plurality of nodes. The plurality of nodes includes the requesting component, the targeted process, and opti…
Who is the assignee on this patent?
Anderson Benjamin J, Fanning Michael C, Rice Timothy S, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F9/546. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 29 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).