IP Library Granted Patent US 10,175,953
Granted Patent B2
US 10,175,953 · App. 14/306,095 · Granted Jan 8, 2019

User interface control and communication

Inventors: Brad Olenick (Redmond, WA); Alaa Shaker (Bellevue, WA); Leon Ezequiel Welicki (Issaquah, WA); Alvaro Rahul Dias (Bellevue, WA); Syed Nadir Ahmed (Redmond, WA); Mo Wang (Seattle, WA); Ryan A. Jansen (Kirkland, WA); Mark D. Overholt (Redmond, WA); Prabir Krishna Shrestha (Bellevue, WA); Amin Bagheri (Seattle, WA); Zhao Yu (Redmond, WA); Julio O. Casal Terreros (Redmond, WA); Dasaradha Ramu Yalamanchili (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F8/34G06F8/35G06F8/38G06F9/451G06F9/54H04L67/10H04L67/42
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 10,175,953
App. No.
14/306,095
Granted
Jan 8, 2019
Kind
B2
Abstract

A user interface control that has different logic components for processing different role logic depending on a role that is played by the user interface control. The user interface control may also have a general function component that performs general functions that may be common across multiple user interface controls. Also, a protocol for use in communicating between two user interface controls to establish a communications link. A first user interface control requests information from a second user interface control, which then obtains the requested information. The second user interface control then provides the requested information to the first user interface control, and then awaits the validation of the requested information.

Claims (37)

1. A computer-implemented method performed by one or more processors of a computing system which includes a memory containing computer-executable instructions which cause the one or more processors to perform the computer-implemented method, and wherein the computer-implemented method generates a user interface control capable of implementing any of several roles, the computer-implemented method comprising the following acts:

receiving control creation data and a template selected from a plurality of templates for a user interface control, the template providing a plurality of role logic components enabling each of a plurality of roles to be instantiated from the template, and the template also providing a general function component for performing one or more general functions that are common to each instance of the user interface control instantiated from the template;

receiving a first role identifier (roleID) corresponding to a first role;

creating a first instance of the user interface control corresponding to the first roleID, the first instance of the user interface control comprising logic corresponding to the first roleID and including the one or more general functions, the logic corresponding to the first roleID and the one or more general functions provided by the template;

creating a second instance of the user interface control corresponding to a second roleID corresponding to a second role, the second instance of the user interface control comprising logic corresponding to the second roleID and including the one or more general functions, the logic corresponding to the second roleID and the one or more general functions provided by the template; and

wherein at least one of the general functions is executable by each of the first and second user interface controls, wherein the at least one of the general functions enables communication between the first and second user interface controls, and wherein the at least one of the general functions enables the first and second user interface controls to provide data to and to receive data from one another.

2. The computer-implemented method in accordance with claim 1 , wherein the first role comprises a collector role which enables the first user interface control to collect data from the second user interface control.

3. The computer-implemented method in accordance with claim 2 , wherein the second role comprises a provider role which enables the second user interface control to provide data to the first user interface control.

4. The computer-implemented method in accordance with claim 3 , wherein the first user interface control performing the first role and the second user interface control performing the second role constitute a communications link in which the second user interface control provides data requested by the first user interface control to the first user interface control.

5. The computer-implemented method in accordance with claim 1 , wherein the user interface control performs the first role and the second role at the same time with respect to different communications links.

6. The computer-implemented method in accordance with claim 1 , wherein at least one of the general functions of the general function component is a role management function which, when executed, maintains a record of a current role or roles of a corresponding user interface control.

7. The computer-implemented method in accordance with claim 1 , wherein one of the role logic components comprises a third role that provides, when executed, a provisioning role for the user interface control.

8. The computer-implemented method in accordance with claim 1 , wherein the general function component is part of the template selection.

9. A computer program product comprising one or more computer-readable storage devices containing computer-executable instructions which cause one or more processors to perform a computer-implemented method for generating a user interface control capable of implementing any of several roles, and thereafter using multiple instances of the user interface control in different processing flows, and wherein the computer-implemented method comprises acts of:

receiving control creation data and a template selection selected from a plurality of templates for a user interface control, the template providing a plurality of role logic components enabling each of a plurality of roles to be instantiated from the template, and the template also providing a general function component for performing one or more general functions that are common to each instance of the user interface control instantiated from the template;

instantiating a first user interface control for use in a first processing flow by creating a first instance of the user interface control by executing a first role logic component that performs a first role;

instantiating a second user interface control for use in a second processing flow by creating a second instance of the user interface control by executing a second role logic component that performs a second role different from the first role; and

wherein at least one of the general functions is executable by each of the first and second user interface controls, wherein the at least one of the general functions enables communication between the first and second user interface controls, and wherein the at least one of the general functions enables the first and second interface controls to provide data to and to receive data from one another.

10. The computer program product in accordance with claim 9 , wherein the first role comprises a collector role which enables the first user interface control to collect data from the second user interface control.

11. The computer program product in accordance with claim 10 , wherein the second role comprises a provider role which enables the second user interface control to provide data to the first user interface control.

12. The computer program product in accordance with claim 11 , wherein the first user interface control performing the first role and the second user interface control performing the second role constitute a communications link in which the second user interface control provides data requested by the first user interface control to the first user interface control.

13. The computer program product in accordance with claim 9 , wherein the user interface control performs the first role and the second role at the same time with respect to different communications links.

14. The computer program product in accordance with claim 9 , wherein at least one of the general functions of the general function component is a role management function which, when executed, maintains a record of a current role or roles of a corresponding user interface control.

15. The computer program product in accordance with claim 9 wherein one of the role logic components comprises a third role that provides, when executed, a provisioning role for the user interface control.

16. The computer program product in accordance with claim 9 , wherein the general function component is part of the template selection.

17. A system for a computer architecture comprising:

one or more processors;

a display;

a memory containing computer-executable instructions which, when executed by the one or more processors perform a computer-implemented method performed by one or more processors of a computing system which generates a user interface control at a display, the user interface control capable of implementing any of several roles, and thereafter using multiple instances of the user interface control in different processing flows, the computer-implemented method comprising:

receiving control creation data and a template selected from a plurality of templates, the template providing a plurality of role logic components enabling each of a plurality of roles to be instantiated from the template, and the template also providing a general function component for performing one or more general functions that are common to each instance of the user interface control instantiated from the template;

receiving a first role identifier (roleID) corresponding to a first role;

creating a first instance of the user interface control corresponding to the first roleID, the first instance of the user interface control comprising logic corresponding to the first roleID and including the one or more general functions, the logic corresponding to the first roleID and the one or more general functions provided by the template;

creating a second instance of the user interface control corresponding to a second roleID corresponding to a second role, the second instance of the user interface control comprising logic corresponding to the second roleID and including the one or more general functions, the logic corresponding to the second roleID and the one or more general functions provided by the template; and

wherein at least one of the general functions is executable by each of the first and second user interface controls, wherein the at least one of the general functions enables communication between the first and second user interface controls, and wherein the at least one of the general functions enables the first and second interface controls to provide data to and to receive data from one another.

18. The system in accordance with claim 17 , wherein the first role comprises a collector role which enables the first user interface control to collect data from the second user interface control.

19. The system in accordance with claim 18 , wherein the second role comprises a provider role which enables the second user interface control to provide data to the first user interface control.

20. The system in accordance with claim 19 , wherein the first user interface control performing the first role and the second user interface control performing the second role constitute a communications link in which the second user interface control provides data requested by the first user interface control to the first user interface control.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2015
From: JANSEN, RYAN A.; OVERHOLT, MARK D.; SHRESTHA, PRABIR KRISHNA; BAGHERI, AMIN; YU, ZHAO; CASAL TERREROS, JULIO O.; YALAMANCHILI, DASARADHA RAMU
To: MICROSOFT CORPORATION
Reel/Frame 035836/0707 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 039025/0454 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2014
From: OLENICK, BRAD; SHAKER, ALAA; WELICKI, LEON EZEQUIEL; DIAS, ALVARO RAHUL; AHMED, SYED NADIR; WANG, MO
To: MICROSOFT CORPORATION
Reel/Frame 033142/0974 →
Continuity (2)
Provisional Application 61974185 · Apr 2, 2014
Related Publication 20150288747A1 · Oct 8, 2015