IP Library Granted Patent US 9,665,382
Granted Patent B2
US 9,665,382 · App. 13/612,285 · Granted May 30, 2017

Method and apparatus for providing a cross-device macro framework

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 9,665,382
App. No.
13/612,285
Granted
May 30, 2017
Kind
B2
Abstract

A method, apparatus and computer program product are provided in order to provide an efficient interface across multiple devices. The method, apparatus and computer program product may utilize multiple devices communicating with a macro identification module to identify macros from among input received from two or more of the devices to control operation of a target device. Input from each device may be received via a bridge module according to a framework for identifying input macros received from the multiple devices. One or more of the devices may execute the macro identification module to receive input via a bridge interface, or the macro identification module may be separate from the multiple devices. When macros are identified by the macro identification module, the macro identification module may communicate with an application executing on the target device to control the application.

Claims (41)

1. A method comprising:

receiving, via a first bridge interface aware of an operating context of a first user device of a plurality of user devices, a first user input from the first user device, the first user input comprising a first input operation performed by a user on the first user device, each of the plurality of devices configured with a processor and a memory for execution of program code;

providing, by the first bridge interface, the first user input to a macro identification module only in an instance in which the first user input is associated with macro criteria;

identifying, using a processor of the macro identification module, that at least a first rule for a macro is satisfied by the first user input, the first rule defining a first time period beginning upon receiving the first input and the macro defining at least one input operation to be performed by at least one of the plurality of devices, wherein the first rule is marked as unsatisfied by the macro identification module upon expiration of the first time period;

receiving, via a second bridge interface aware of an operating context of a second user device of the plurality of user devices and before the expiration of the first time period identified by the macro identification module, a second user input from the second user device, the second user input comprising a second input operation performed by the user on the second user device;

providing, by the second bridge interface, the second user input to the macro identification module only in an instance in which the second user input is associated with the macro criteria;

identifying, by the macro identification module, that at least a second rule for the macro is satisfied by the second user input, the second rue defining a second time period beginning upon receiving the second input, wherein the second rule is marked as unsatisfied by the macro identification module upon expiration of the second time period;

determining, by the macro identification module, that all rules for the macro have been satisfied within both the first time period and the second time period; and

sending instructions from the macro identification module corresponding to the input operation defined by the macro to the at least one of the plurality of devices in response to determining that all rues for the macro have been met.

2. The method of claim 1 , wherein the first user input further comprises an indication of a device type of the first user device, and wherein the first rule for the macro further requires that the device type of the first user device is a particular device type.

3. The method of claim 1 , wherein the first rule comprises one or more criteria, and wherein the one or more criteria each comprise at least one operator and at least one operand.

4. The method of claim 3 , wherein the criteria include at least one of an input operation, a device context, an application state, a timing value, an order value, or a device type.

5. The method of claim 1 , wherein the first user input further comprises an indication of an application executing on the first user device to which the first input was provided, and wherein the first rule for the macro further requires that the application is executing on the first user device.

6. The method of claim 1 , further comprising setting one or more rules associated with the macro to be unsatisfied in response to at least one of the first time period or the second time period expiring before all rules for the macro have been satisfied.

7. The method of claim 1 , wherein the method is performed by the at least one of the plurality of devices receiving the instructions.

8. An apparatus comprising processing circuitry configured to:

receive, via a first bridge interface aware of an operating context of a first user device of a plurality of user devices, a first user input from the first user device, the first user input comprising a first input operation performed by a user on the first user device, each of the plurality of devices configured with a processor and a memory for execution of program code;

provide, by the first bridge interface, the first user input to a macro identification module on in an instance in which the first user input is associated with macro criteria;

using the macro identification module, that at least a first rule for a macro is satisfied by the first user input, the first rule defining a first time period beginning upon receiving the first input and the macro defining at least one input operation to be performed by at least one of the plurality of devices; wherein the first rule is marked as unsatisfied by the macro identification module upon expiration of the first time period;

receive, via a second bridge interface aware of an operating context of a second user device of the plurality of user devices and before the expiration of the first time period identified try the macro identification module, a second user input from the second user device, the second user input comprising a second input operation performed by the user on the second user device;

macro identification module only in an instance in which the second user input is macro identification module only in an instance in which the second user input is associated with the macro criteria;

identify, using the macro identification module, that at least a second rule for the macro is satisfied by the second user input, the second rule defining a second time period beginning upon receiving the second input, wherein the second rule is marked as unsatisfied by the macro identification module upon expiration of the second time period;

determine, by the macro identification module, that all rules for the macro have been satisfied within both the first time period and the second time period; and

send instructions from the macro identification module corresponding to the input operation defined by the macro to the at least one of the plurality of devices in response to determining that all rules for the macro have been met.

9. The apparatus of claim 8 , wherein the first user input further comprises an indication of a device type of the first user device, and wherein the first rule for the macro further requires that the device type of the first user device is a particular device.

10. The apparatus of claim 8 , wherein the first rule comprises one or more criteria, and wherein the one or more criteria each comprise at least one operator and at least one operand.

11. The apparatus of claim 8 , wherein the criteria include at least one of an input operation, a device context, an application state, a timing value, an order value, or a device type.

12. The apparatus of claim 8 , wherein the first user input further comprises an indication of an application executing on the first user device to which the first input was provided, and wherein the first rule for the macro further requires that the application is executing on the first user device.

13. The apparatus of claim 8 , wherein the processing circuitry is further configured to set one or more rules associated with the macro to be unsatisfied in response to at least one of the first time period or the second time period expiring before all rules for the macro have been satisfied.

14. The apparatus of claim 8 , wherein the apparatus is the at least one of the plurality of devices receiving the instructions.

15. A computer program product comprising at least one non-transitory computer-readable storage medium bearing computer program instructions embodied therein for use with a computer, the computer program instructions comprising program instructions configured to:

receive, via a first bridge interface aware of an operating context of a first user device of a plurality of user devices, a first user input from the first user device, the first user input comprising a first input operation performed by a user on the first user device, each of the plurality of devices configured with a processor and a memory for execution of program code;

provide, by the first bridge interface, the first user input to a macro identification module only in an instance in which the first user input is associated with macro criteria;

identify, using the macro identification module, that at least a first rule for a macro is satisfied by the first user input, the first rule defining a first time period beginning upon receiving the first input and the macro defining at least one input operation to be performed by at least one of the plurality of devices; wherein the first rule is marked as unsatisfied by the macro identification module upon expiration of the first time period;

receive, via a second bridge interface aware of an operating context of a second user device of the plurality of user devices and before the expiration of the first time period identified by the macro identification module, a second user input from the second user device, the second user input comprising a second input operation performed by the user on the second user device;

provide, by the second bridge interface, the second user input to the macro identification module only in an instance in which the second user input is associated with the macro criteria;

identify, using the macro identification module, that at least a second rule for the macro is satisfied by the second user input, the second rule defining a second time period beginning upon receiving the second input, wherein the second rule is marked as unsatisfied by the macro identification module upon expiration of the second time period;

determine, using the macro identification module that all rules for the macro have been satisfied within both the first time period and the second time period; and

send instructions from the macro identification module corresponding to the input operation defined by the macro to the at least one of the plurality of devices in response to determining that all rules for the macro have been met.

16. The computer program product of claim 15 , wherein the first user input further comprises an indication of a device type of the first user device, and wherein the first rue for the macro further requires that the device type of the first user device is a particular device.

17. The computer program product of claim 15 , wherein the first rule comprises one or more criteria, and wherein the one or more criteria each comprise at least one operator and at least one operand.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Oct 5, 2022
From: BANK OF AMERICA, N.A.
To: CHANGE HEALTHCARE RESOURCES, LLC (FORMERLY KNOWN AS ALTEGRA HEALTH OPERATING COMPANY LLC); CHANGE HEALTHCARE SOLUTIONS, LLC; CHANGE HEALTHCARE PERFORMANCE, INC. (FORMERLY KNOWN AS CHANGE HEALTHCARE, INC.); CHANGE HEALTHCARE OPERATIONS, LLC; CHANGE HEALTHCARE HOLDINGS, INC.; CHANGE HEALTHCARE TECHNOLOGIES, LLC (FORMERLY KNOWN AS MCKESSON TECHNOLOGIES LLC); CHANGE HEALTHCARE HOLDINGS, LLC
Reel/Frame 061620/0054 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2018
From: CHANGE HEALTHCARE LLC
To: CHANGE HEALTHCARE HOLDINGS, LLC
Reel/Frame 046449/0899 →
CHANGE OF ADDRESS Recorded Mar 23, 2017
From: CHANGE HEALTHCARE LLC
To: CHANGE HEALTHCARE LLC
Reel/Frame 042082/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2017
From: PF2 IP LLC
To: CHANGE HEALTHCARE LLC
Reel/Frame 041966/0356 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2017
From: MCKESSON CORPORATION
To: PF2 IP LLC
Reel/Frame 041938/0501 →
SECURITY AGREEMENT Recorded Mar 2, 2017
From: CHANGE HEALTHCARE HOLDINGS, LLC; CHANGE HEALTHCARE, INC.; CHANGE HEALTHCARE HOLDINGS, INC.; CHANGE HEALTHCARE OPERATIONS, LLC; CHANGE HEALTHCARE SOLUTIONS, LLC; ALTEGRA HEALTH OPERATING COMPANY LLC; MCKESSON TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 041858/0482 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2017
From: MCKESSON FINANCIAL HOLDINGS UNLIMITED COMPANY
To: MCKESSON CORPORATION
Reel/Frame 041355/0408 →
CHANGE OF NAME Recorded Jan 11, 2017
From: MCKESSON FINANCIAL HOLDINGS
To: MCKESSON FINANCIAL HOLDINGS UNLIMITED COMPANY
Reel/Frame 041329/0879 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2012
From: WONG, ELDON
To: MCKESSON FINANCIAL HOLDINGS
Reel/Frame 028947/0443 →