IP Library Granted Patent US 9,110,577
Granted Patent B1
US 9,110,577 · App. 12/890,224 · Granted Aug 18, 2015

Method and system for capturing, inferring, and/or navigating dependencies between mashups and their data sources and consumers

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,110,577
App. No.
12/890,224
Granted
Aug 18, 2015
Kind
B1
Abstract

A computer system, includes a display interface; a user input device interface; and a processor cooperatively operable with the display interface and the user input device interface. The processor is configured to interacting with a user to selectively browse, via the user input device interface and the display interface, relationship dependencies between a selected mashup or service and mashup assets one level removed from the selected mashup or service.

Claims (43)

1. A computer system, comprising:

a memory; and

a processor cooperatively operable with the memory, and configured to, based on instructions stored in memory:

determine, for a mashup, at a first level and then recursively at subsequent levels to a predetermined number, all of the different services external to the mashup which are used by the mashup, and all mashups which are external to the mashup which are used by the mashup, as underlying data sources, such that all underlying data sources of data used by the mashup are determined,

wherein the underlying data sources are those which directly provide data consumed by the mashup and those which provide data, via an intervening mashup or service, which is consumed by the mashup;

determine, for each of the underlying data sources, whether a user who executes the mashup is permitted to use the underlying data source, according to a security profile of the underlying data source, and indicate an authorization failure when the user is not determined to be permitted to use at least one of the underlying data sources according to the security profile of the underlying data source, wherein the user of the mashup has permission to execute the mashup;

when the authorization failure is indicated, refuse execution of the mashup even though the user has permission to execute the mashup; and

when the authorization failure is not indicated, permit execution of the mashup;

responsive to a request to dispose of a selected mashup in a mashup server, introspect the mashup to determine whether the selected mashup is connected in a “used by” relationship, directly or indirectly, to at least one other mashup in the mashup server;

when it is determined that the selected mashup is not connected in the “used by” relationship, directly or indirectly, to at least one other mashup in the mashup server, dispose of the selected mashup from the mashup server; and

when it is not determined that the selected mashup is connected in the “used by” relationship, directly or indirectly, refuse to dispose of the selected mashup from the mashup server.

2. The computer system of claim 1 , further comprising a browser user interface which presents a selected mashup in a focus window, “used by” relationships of the selected mashup in a “used by” window, and “uses” relationships of the selected mashup in a “uses” window; and

wherein the processor is configured to selectively switch the focus window to a different selected mashup in one of the “used by” window or the “uses” window, in response to a user command thereto.

3. The computer system of claim 2 , further comprising storing a list of services and mashups used by each mashup in a database, and using the database to browse from the selected mashup or service to the mashup assets one level removed.

4. The computer system of claim 1 , further comprising introspecting a mashup to discover data sources directly and indirectly used by the mashup.

5. A mashup system comprising the computer system of claim 1 acting as a mashup client, and a separate mashup server cooperatively connected to and in communication with the mashup client, to coordinate access to “consumed by” and “consumes” relationship information by the mashup client through the mashup server.

6. A non-transitory computer-readable medium storing instructions for executing the method of claim 1 .

7. A computer-implemented method, implemented on a computer system, for navigating mashup dependencies, comprising:

determining, at a processor, for a mashup, at a first level and then recursively at subsequent levels to a predetermined number, all of the different services external to the mashup which are used by the mashup, and all mashups which are external to the mashup which are used by the mashup, as underlying data sources, such that all underlying data sources of data used by the mashup are determined,

wherein the underlying data sources are those which directly provide data consumed by the mashup and those which provide data, via an intervening mashup or service, which is consumed by the mashup;

determining, by the processor, for each of the underlying data sources, whether a user who executes the mashup is permitted to use the underlying data source, according to a security profile of the underlying data source, and indicating an authorization failure when the user is not determined to be permitted to use at least one of the underlying data sources according to the security profile of the underlying data source, wherein the user of the mashup has permission to execute the mashup;

when the authorization failure is indicated, refusing execution by the processor of the mashup even though the user has permission to execute the mashup; and

when the authorization failure is not indicated, permitting execution by the processor of the mashup;

responsive to a request to dispose of a selected mashup in a mashup server, introspecting, by the processor, the mashup to determine whether the selected mashup is connected in a “used by” relationship, directly or indirectly, to at least one other mashup in the mashup server;

when it is determined that the selected mashup is not connected in the “used by” relationship, directly or indirectly, to at least one other mashup in the mashup server, disposing, by the processor, of the selected mashup from the mashup server; and

when it is not determined that the selected mashup is connected in the “used by” relationship, directly or indirectly, refusing, by the processor, to dispose of the selected mashup from the mashup server.

8. The method of claim 7 , further comprising providing a browser user interface which presents a selected mashup in a focus window, “used by” relationships of the selected mashup in a “used by” window, and “uses” relationships of the selected mashup in a “uses” window; and

selectively switching the focus window to a different selected mashup in one of the “used by” window or the “uses” window, in response to a user command thereto.

9. The method of claim 8 , further comprising storing a list of services and mashups used by each mashup in a database, and using the database to browse from the selected mashup or service to the mashup assets one level removed.

10. The method of claim 7 , further comprising introspecting a mashup to discover data sources directly and indirectly used by the mashup.

11. A non-transitory computer-readable medium comprising instructions for execution by a computer, the instructions including a computer-implemented method for navigating mashup dependencies, the instructions for implementing:

determining, for a mashup, at a first level and then recursively at subsequent levels to a predetermined number, all of the different services external to the mashup which are used by the mashup, and all mashups which are external to the mashup which are used by the mashup, as underlying data sources, such that all underlying data sources of data used by the mashup are determined,

wherein the underlying data sources are those which directly provide data consumed by the mashup and those which provide data, via an intervening mashup or service, which is consumed by the mashup;

determining, for each of the underlying data sources, whether a user who executes the mashup is permitted to use the underlying data source, according to a security profile of the underlying data source, and indicating an authorization failure when the user is not determined to be permitted to use at least one of the underlying data sources according to the security profile of the underlying data source, wherein the user of the mashup has permission to execute the mashup;

when the authorization failure is indicated, refusing execution of the mashup even though the user has permission to execute the mashup; and

when the authorization failure is not indicated, permitting execution of the mashup;

responsive to a request to dispose of a selected mashup in a mashup server, introspecting the mashup to determine whether the selected mashup is connected in a “used by” relationship, directly or indirectly, to at least one other mashup in the mashup server;

when it is determined that the selected mashup is not connected in the “used by” relationship, directly or indirectly, to at least one other mashup in the mashup server, disposing of the selected mashup from the mashup server; and

when it is not determined that the selected mashup is connected in the “used by” relationship, directly or indirectly, refusing to dispose of the selected mashup from the mashup server.

12. The computer-readable medium of claim 11 , further comprising providing a browser user interface which presents a selected mashup in a focus window, “used by” relationships of the selected mashup in a “used by” window, and “uses” relationships of the selected mashup in a “uses” window; and

selectively switching the focus window to a different selected mashup in one of the “used by” window or the “uses” window, in response to a user command thereto.

13. The computer-readable medium of claim 12 , further comprising storing a list of services and mashups used by each mashup in a database, and using the database to browse from the selected mashup or service to the mashup assets one level removed.

14. The computer-readable medium of claim 11 , further comprising introspecting a mashup to discover data sources directly and indirectly used by the mashup.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2024
From: SOFTWARE AG, LLC
To: ARIS USA, INC.
Reel/Frame 069603/0614 →
ENTITY CONVERSION Recorded Dec 16, 2024
From: SOFTWARE AG, INC.
To: SAG 1, LLC
Reel/Frame 069712/0001 →
CHANGE OF NAME Recorded Nov 29, 2024
From: SOFTWARE AG, INC.
To: SAG 1, LLC
Reel/Frame 069712/0881 →
CHANGE OF NAME Recorded Sep 13, 2024
From: SAG 1, LLC
To: SOFTWARE AG, LLC
Reel/Frame 069021/0280 →
MERGER Recorded Sep 13, 2024
From: SOFTWARE AG USA, INC.
To: SOFTWARE AG, INC.
Reel/Frame 068586/0775 →
MERGER Recorded Jun 22, 2015
From: JACKBE LLC
To: SOFTWARE AG USA INC.
Reel/Frame 035996/0786 →
CHANGE OF NAME Recorded Jun 5, 2015
From: JACKBE CORPORATION
To: JACKBE LLC
Reel/Frame 035841/0540 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2010
From: ALUR, DEEPAK; KRISHNAMURTHY, RAJMOHAN; GAJENDAR, UDAY; SUBRAMANIAN, KISHORE
To: JACKBE CORPORATION
Reel/Frame 025461/0176 →