IP Library Granted Patent US 7,865,934
Granted Patent B2
US 7,865,934 · App. 11/419,145 · Granted Jan 4, 2011

Access-control permissions with inter-process message-based communications

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,865,934
App. No.
11/419,145
Granted
Jan 4, 2011
Kind
B2
Abstract

Described herein are one or more implementations that facilitate message-passing over a communication conduit between software processes in a computing environment. More particularly, the implementations described restrict access of one process to another via messages passed over a particular conduit connecting the processes and the access-control restrictions are defined by a contract associated with that particular conduit.

Claims (22)

1. A method comprising:

facilitating, by a processor, establishment of an inter-process message-passing conduit between a first software process and a second software process, the inter-process message-passing conduit being a bi-directional channel having exactly and only two asymmetric endpoints, wherein the first software process owns one endpoint and the second software process owns the other endpoint;

obtaining a processor-readable conduit contract, the conduit contract specifying permissions for access-operations that are allowed to be sent by one or more messages from the first software process to the second software process by the inter-process message-passing conduit, wherein one or more permissions are specified by the conduit contract; and

permitting an exchange of one or more messages by the inter-process message-passing conduit from the first software process to the second software process, the exchange being permitted only when one or more of the to-be-exchanged messages explicitly meet the positively specified permissions of the conduit contract, wherein the positively specified permissions of the conduit contract comprise a specified set of access-operation types that are allowed to be sent by a message through the inter-process message-passing conduit, and wherein the positively specified permissions of the conduit contract further comprise a defined pattern of the access-operations types that are allowed to be sent by the one or more messages through the inter-process message-passing conduit.

2. The method as recited in claim 1 , wherein one or more permissions are specified by the conduit contract by providing a qualifying condition when one or more permissions are active and a definition of the one or more access-operations permitted when that qualifying condition occurs.

3. The method as recited in claim 1 , wherein the method further comprises analyzing the first software process to confirm that first software process sends-by one or more messages through the inter-process message-passing conduit-only access-operations that are permitted in accordance with the specified permissions of the conduit contract.

4. The method as recited in claim 1 , wherein the permissions specified by the conduit contract define a super-type set, the super-type set being hierarchical related to one or more sub-type permissions.

5. The method as recited in claim 1 , wherein obtaining further comprises the second software process providing the first software process with the processor-readable conduit contract.

6. An operating system comprising the method as recited in claim 1 .

7. A method comprising:

facilitating, by a processor, establishment of an inter-process message-passing conduit between a first process and a second process, the inter-process message-passing conduit comprising a bi-directional channel having a first end point associated with the first process and a second endpoint associated with the second process, wherein the first endpoint is structurally different than the second endpoint;

obtaining a processor-readable conduit contract, the conduit contract being associated with the established inter-process message-passing conduit and the conduit contract positively specifying permissions for access-operations that are allowed to be sent by one or more messages from one of the conduit-linked software processes to a particular other conduit-linked software processes by the inter-process message-passing conduit; and

permitting an exchange of one or more messages by the inter-process message-passing conduit from the one of the conduit-linked software processes to the particular other conduit-linked software processes, the exchange being permitted only when one or more of the to-be-exchanged messages explicitly meet the positively specified permissions of the conduit contract, and the one or more permitted messages include only those messages which include access-operations explicitly permitted by the conduit contract, wherein the specified permissions of the conduit contract comprise a specified set of access-operation types that are allowed to be sent by the one or more messages through the inter-process message-passing conduit, and wherein the specified permissions of the conduit contract further comprise a defined pattern of the access-operations types that are allowed to be sent by the one or more messages through the inter-process message-passing conduit.

8. The method as recited in claim 7 , wherein one or more permissions are specified by the conduit contract by providing an identifying name of the one or more permissions and a definition of the one or more access-operations permitted.

9. The method as recited in claim 7 , wherein one or more permissions are specified by the conduit contract by providing a qualifying condition when one or more permissions are active and a definition of the one or more access-operations permitted when that qualifying condition occurs.

10. The method as recited in claim 7 , wherein the inter-process message-passing conduit is a bi-directional channel having at least two endpoints.

11. The method as recited in claim 7 , wherein obtaining further comprises the particular other of the conduit-linked software processes providing the one of the conduit-linked software processes with the processor-readable conduit contract.

12. A method comprising:

establishing, by a processor, an inter-process message-passing conduit between a first software process and a second software process, wherein the inter-process message-passing conduit is a bi-directional channel having two asymmetrical endpoints, wherein the first software process owns one endpoint and the second software process owns the other endpoint, wherein establishing the inter-process message-passing conduit between the first software process and the second software process comprises:

facilitating sending of a processor-readable conduit contract from the second software process to the first software process, the conduit contract specifying permissions for access-operations that are allowed to be sent by one or more messages from the first software processes to the second software processes by the inter-process message-passing conduit, wherein one or more permissions are specified by the conduit contract by providing an identifying name of the one or more permissions and a definition of the one or more access-operations permitted; and

after the establishing, preventing an exchange of one or more messages by the inter-process message-passing conduit from the first software process to the second software process, the exchange being prevented when one or more of the to-be-exchanged messages include access-operations that fail to meet the specified permissions of the conduit contract, wherein the specified permissions of the conduit contract comprise a specified set of access-operation types that are allowed to be sent by one or more messages through the inter-process message-passing conduit, and wherein the specified permissions of the conduit contract further comprise a defined pattern of the access-operations types that are allowed to be sent by the one or more messages through the inter-process message-passing conduit.

13. The method as recited in claim 12 , wherein one or more permissions are specified by the conduit contract by providing a qualifying condition when one or more permissions are active and a definition of the one or more access-operations permitted when that qualifying condition occurs.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2006
From: WOBBER, EDWARD P.; FAHNDRICH, MANUEL A.; ERLINGSSON, ULFAR; ABADI, MARTIN
To: MICROSOFT CORPORATION
Reel/Frame 017810/0163 →