IP Library Granted Patent US 9,940,591
Granted Patent B2
US 9,940,591 · App. 14/993,002 · Granted Apr 10, 2018

Customized-enterprise-software integration systems and methods

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,940,591
App. No.
14/993,002
Granted
Apr 10, 2018
Kind
B2
Abstract

A third-party provider may integrate services with a customized enterprise-software tenancy via a tenant service context determined using an uncustomized data model and a tenant-customized data model from the enterprise-software provider. A difference map is generated for the tenant-customized data model with respect to the uncustomized data model, and is used to determine a mapped integrated-service data model, which facilitates integrating services with those of the enterprise-software provider. The mapped integrated-service data model is merged with the tenant-customized data model to obtain the tenant service context for the tenant. When a user provides an instruction to interact with the multi-tenant enterprise-software provider, the tenant service context is used to determine an action based on an interpretation of the instruction, and the enterprise-software provider is commanded to perform the action.

Claims (86)

1. A method for providing services that integrate with a customized enterprise-software tenancy, the method comprising:

obtaining, by a first device, a reference data model and a tenant data model, said tenant data model customized by and/or for a user associated with a tenant of an enterprise-software provider;

generating, by the first device, a relationship map for said tenant data model with respect to said reference data model;

determining, by the first device, a mapped integrated-service data model using said relationship map such that said mapped integrated-service data model is expressed in terms of said tenant data model, wherein the mapped integrated-service data model is configured to facilitate integrating services with those of said enterprise-software provider;

merging, by the first device, said mapped integrated-service data model and said tenant data model to obtain a tenant service context for said tenant; and

commanding said enterprise-software provider to perform a first action using the tenant service context.

2. The method of claim 1 , further comprising:

receiving an instruction from a remote second device to interact with said enterprise-software provider on behalf of said user;

determining an interpretation of said instruction according to said tenant service context;

determining the first action based on said interpretation;

proposing said first action to said user; and

after obtaining confirmation of said first action from said user, commanding said enterprise-software provider to perform said first action.

3. The method of claim 1 , further comprising:

receiving an instruction from a remote second device to interact with said enterprise-software provider on behalf of said user;

determining an interpretation of said instruction according to said tenant service context;

determining the first action based on said interpretation;

determining that said enterprise-software provider failed to perform said first action; and

consequently obtaining an updated tenant service context.

4. The method of claim 3 , further comprising:

receiving a subsequent instruction;

determining a subsequent action based on an updated interpretation of said subsequent instruction according to said updated tenant service context; and

commanding said enterprise-software provider to perform said subsequent action.

5. The method of claim 2 , wherein receiving said instruction comprises:

receiving a recording of an utterance spoken by said user; and

determining said instruction based at least in part on said recording.

6. The method of claim 1 , wherein merging said mapped integrated-service data model and said tenant data model to obtain said tenant service context further comprises generating a derivative data model based on said tenant service context.

7. The method of claim 6 , further comprising:

receiving an instruction from a remote second device to interact with said enterprise-software provider on behalf of said user;

determining an interpretation of said instruction according to said tenant service context, wherein determining said interpretation of said instruction comprises interpreting said instruction according to said derivative data model; and

determining a different second action based on said interpretation.

8. A computing apparatus for providing services that integrate with a customized enterprise-software tenancy, the apparatus comprising a processor and a memory storing instructions that, when executed by the processor, configure the apparatus to:

obtain a reference data model and a tenant data model, said tenant data model customized by and/or for a user associated with a tenant of an enterprise-software provider;

generate a relationship map for said tenant data model with respect to said reference data model;

determine a mapped integrated-service data model using said relationship map such that said mapped integrated-service data model is expressed in terms of said tenant data model, wherein the mapped integrated-service data model is configured to facilitate integrating services with those of said enterprise-software provider;

merge said mapped integrated-service data model and said tenant data model to obtain a tenant service context for said tenant; and

command said enterprise-software provider to perform a first action using the tenant service context.

9. The apparatus of claim 8 , wherein the memory stores further instructions that further configure the apparatus to:

receive an instruction from a remote device to interact with said enterprise-software provider on behalf of said user;

determine an interpretation of said instruction according to said tenant service context;

determine the first action based on said interpretation;

propose said first action to said user; and

after obtaining confirmation of said first action from said user, commanding said enterprise-software provider to perform said first action.

10. The apparatus of claim 8 , wherein the memory stores further instructions that further configure the apparatus to:

receive an instruction from a remote device to interact with said enterprise-software provider on behalf of said user;

determine an interpretation of said instruction according to said tenant service context;

determine the first action based on said interpretation;

determine that said enterprise-software provider failed to perform said first action; and

consequently obtain an updated tenant service context.

11. The apparatus of claim 10 , wherein the memory stores further instructions that further configure the apparatus to:

receiving a subsequent instruction;

determine a subsequent action based on an updated interpretation of said subsequent instruction according to said updated tenant service context; and

command said enterprise-software provider to perform said subsequent action.

12. The apparatus of claim 9 , wherein the instructions that configure the apparatus to receive said instruction further comprise instructions configuring the apparatus to:

receive a recording of an utterance spoken by said user; and

determine said instruction based at least in part on said recording.

13. The apparatus of claim 8 , wherein the instructions that configure the apparatus to merge said mapped integrated-service data model and said tenant data model to obtain said tenant service context further comprise instructions configuring the apparatus to generate a derivative data model based on said tenant service context.

14. The apparatus of claim 13 , wherein the memory stores further instructions that further configure the apparatus to:

receive an instruction to interact with said enterprise-software provider on behalf of said user;

determine an interpretation of said instruction according to said tenant service context by interpreting said instruction according to said derivative data model; and

determine the first action based on said interpretation.

15. A non-transitory computer-readable storage medium having stored thereon instructions including instructions that, when executed by a processor, configure the processor to:

obtain a reference data model and a tenant data model, said tenant data model customized by and/or for a user associated with a tenant of an enterprise-software provider;

generate a relationship map for said tenant data model with respect to said reference data model;

determine a mapped integrated-service data model using said relationship map such that said mapped integrated-service data model is expressed in terms of said tenant data model, wherein the mapped integrated-service data model is configured to facilitate integrating services with those of said enterprise-software provider;

merge said mapped integrated-service data model and said tenant data model to obtain said tenant service context for said tenant; and

command said enterprise-software provider to perform a first action using the tenant service context.

16. The non-transitory computer-readable storage medium of claim 15 , having stored thereon further instructions that further configure the processor to:

receive an instruction from a remote device to interact with said enterprise-software provider on behalf of said user;

determine an interpretation of said instruction according to said tenant service context;

determine the first action based on said interpretation;

propose said first action to said user; and

after obtaining confirmation of said first action from said user, commanding said enterprise-software provider to perform said first action.

17. The non-transitory computer-readable storage medium of claim 15 , having stored thereon further instructions that further configure the processor to:

receive an instruction from a remote device to interact with said enterprise-software provider on behalf of said user;

determine an interpretation of said instruction according to said tenant service context;

determine the first action based on said interpretation;

determine that said enterprise-software provider failed to perform said first action; and

consequently obtain an updated tenant service context.

18. The non-transitory computer-readable storage medium of claim 17 , having stored thereon further instructions that further configure the processor to:

receive a subsequent instruction;

determine a subsequent action based on an updated interpretation of said subsequent instruction according to said updated tenant service context; and

command said enterprise-software provider to perform said subsequent action.

19. The non-transitory computer-readable storage medium of claim 16 , wherein the instructions that configure the processor to receive said instruction further comprise instructions configuring the processor to:

receive a recording of an utterance spoken by said user; and

determine said instruction based at least in part on said recording.

20. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions that configure the processor to merge said mapped integrated-service data model and said tenant data model to obtain said tenant service context further comprise instructions configuring the processor to generate a derivative data model based on said tenant service context.

Assignments (4)
CHANGE OF NAME Recorded Jan 9, 2024
From: NORTEK SECURITY & CONTROL LLC
To: NICE NORTH AMERICA LLC
Reel/Frame 066242/0513 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2017
From: NUIKU INC.
To: NORTEK HOME CONTROL HOLDINGS, LLC
Reel/Frame 043751/0131 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2017
From: NORTEK HOME CONTROL HOLDINGS, LLC
To: NORTEK SECURITY & CONTROL LLC
Reel/Frame 043751/0352 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2016
From: BAKER, WILLIAM P.
To: NUIKU, INC.
Reel/Frame 037466/0519 →