Intelligent role selection for dual-role devices
US-10122576-B2 · Nov 6, 2018 · US
US10715381B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10715381-B2 |
| Application number | US-201816155162-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 9, 2018 |
| Priority date | Mar 17, 2015 |
| Publication date | Jul 14, 2020 |
| Grant date | Jul 14, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Embodiments described herein are directed to mechanisms that enable roles (e.g., host vs. function, power provider vs. power consumer, master vs. slave, server vs. client, source vs. sink, upstream vs. downstream) to be dynamically assigned between two interconnected dual-role devices in an intelligent and deterministic manner based on the available context on each device.
Opening claim text (preview).
What is claimed is: 1. A method performed by a software-implemented role manager executing on a first device that is communicatively connected to a second device, comprising: determining that a first role is to be assigned to the first device and a second role is to be assigned to the second device, the first role and the second role defining an operating relationship between the first device and second device; causing the first role to be assigned to the first device and the second role to be assigned to the second device; receiving information indicative of a change of capability or operational state of one or more of the first device and the second device; determining that a role assignment swap is to be implemented based at least in part on the information; and based at least on the determining that the role assignment swap is to be implemented, initiating the role assignment swap causing the first role to be assigned to the second device and causing the second role to be assigned to the first device, the initiating comprising causing a connector manager to: assign the second role to the first device by selectively activating one of a first driver stack or a second driver stack of the first device; and assign the first role to the second device by interacting with the second device. 2. The method of claim 1 , wherein the first role and the second role respectively comprise: a host and a function; a power supplier and a power consumer; a master and a slave; a server and a client; a source and a sink; or an upstream and a downstream. 3. The method of claim 1 , wherein receiving information indicative of the change of capability or operational state of one or more of the first device and the second device comprises receiving information indicative of one or more of: an addition, removal, activation or deactivation of a subsystem of the first device or the second device; a change of a state of a subsystem of the first device or the second device; a change of user preference input with respect to role assignment for the first device and second device; a change in configuration information of the first device or the second device; a connection or disconnection of at least a third device to or from the first device or the second device; a change of role requirements by at least one application executing on the first device or the second device; a change of power source by the first device or the second device; a change of a state of a power source currently being used to supply power to the first device or the second device; and a change in a level of consumption of a resource by the first device or the second device. 4. The method of claim 1 , wherein determining that the first role is to be assigned to the first device and the second role is to be assigned to the second device comprises: querying the second device for capability and operational state information associated with the second device; receiving from the second device the capability and operational state information associated with the second device; obtaining capability and operational state information associated with the first device; and determining that the first role is to be assigned to the first device and the second role is to be assigned to the second device based on the capability and operational state information associated with the first device and the second device. 5. The method of claim 1 , wherein determining that the first role is to be assigned to the first device and the second role is to be assigned to the second device comprises: determining that the first role is to be assigned to the first device and the second role is to be assigned to the second device based at least on prior role assignment information for the first device and the second device. 6. The method of claim 1 , wherein determining that the first role is to be assigned to the first device and the second role is to be assigned to the second device comprises: determining that the first role is to be assigned to the first device and the second role is to be assigned to the second device based at least on one historical role usage model. 7. The method of claim 1 , wherein determining that the first role is to be assigned to the first device and the second role is to be assigned to the second device comprises: determining that the first role is to be assigned to the first device and the second role is to be assigned to the second device based at least on user preference information received via one or more of a user interface of the first device and a user interface of the second device. 8. The method of claim 1 , wherein determining that the first role is to be assigned to the first device and the second role is to be assigned to the second device comprises: determining that the first role is to be assigned to the first device and the second role is to be assigned to the second device based at least on role requirement information provided by at least one application executing on the first device or second device. 9. A first device, comprising: at least one processor circuit; and at least one memory that stores program code configured to be executed by the at least one processor circuit, the program code comprising: a role manager configured to: determine that a first role is to be assigned to the first device and a second role is to be assigned to a second device that is communicatively connected to the first device, the first role and the second role defining an operating relationship between the first device and second device; cause the first role to be assigned to the first device and the second role to be assigned to the second device; receive information indicative of a change of capability or operational state of one or more of the first device and the second device; determine that a role assignment swap is to be implemented based at least in part on the information; based at least on the determination that the role assignment swap is to be implemented, initiate the role assignment swap causing the first role to be assigned to the second device and causing the second role to be assigned to the first device, by causing a connector manager to: assign the second role to the first device by selectively activating one of a first driver stack or a second driver stack of the first device; and assign the first role to the second device by interacting with the second device. 10. The first device of claim 9 , wherein the first role and the second role respectively comprise: a host and a function; a power supplier and a power consumer; a master and a slave; a server and a client; a source and a sink; or an upstream and a downstream. 11. The first device of claim 9 , wherein the role manager is configured to receive information indicative of the change of operational state of one or more of the first device and the second device by receiving information indicative of one or more of: an addition, removal, activation or deactivation of a subsystem of the first device or the second device; a change of a state of a subsystem of the first device or the second device; a change of user preference input with respect to role assignment for the first device and second device; a change in configuration information of the first device or the second device; a connection or disconnection of at least a third device to or from the first device or the second device; a change of role requirements by at least one application executing on the first device or the second device; a change of power source by the first device or the second device; a change of a state of a power source currently bei
Leader-follower arrangements · CPC title
managing power supply demand, e.g. depending on battery level · CPC title
Configuration setting · CPC title
in wireless communication networks · CPC title
Cross-Sectional Technologies · mapped topic
Related publications grouped by family.
Answers are generated from the same data shown on this page.