IP Library Granted Patent US 9,515,948
Granted Patent B2
US 9,515,948 · App. 13/864,693 · Granted Dec 6, 2016

Techniques for generically accessing data

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,515,948
App. No.
13/864,693
Granted
Dec 6, 2016
Kind
B2
Abstract

Techniques for generic data access are provided. A middle-tier server agent uses data providers that can communicate with backend resources. A request received in a first format is used to identify a specific data provider by the middle-tier server agent; the data provider uses the first format to communicate with a specific backend resource in a second format. Results from the specific backend resource are returned from the data provider in the first format and passed to a client that initially made the request.

Claims (30)

1. A method implemented and residing within a non-transitory computer-readable storage medium for execution by one or more processors, the method comprising:

locating, over a network, a data provider to handle a request from a client for access to a backend resource, wherein locating further includes consulting a registration service with a backend resource identifier for the backend resource to locate the data provider;

using, over the network, the data provider to process the request on behalf of the client, the data provider translating the request from a first format provided by the client to a second format recognized by the backend resource; and

acquiring audit information for results provided in metadata associated with the results and the request and maintaining the results and the request in the first format for auditing, and wherein acquiring further includes obtaining from the metadata: a principal identifier for a principal making a request from the client, a data provider identifier for the data provider, an operation identifier for any operation performed with the request, a date and time stamp, and an indication as to policy used and whether that policy was violated, and using the policy to take actions based on the results, the results provided by the backend resource in response to processing the request in the second format and processing the metadata for enforcing security, auditing, logging, and reporting.

2. The method of claim 1 further comprising, synchronizing the results with the client.

3. The method of claim 2 further comprising, synchronizing a server cache with a client cache of the client to include the results.

4. The method of claim 1 further comprising, filtering the results provided by the backend resource before providing to the client based on the policy.

5. The method of claim 1 further comprising, joining or merging the results with other results previously provided based on the policy.

6. The method of claim 1 , wherein using further includes translating the request to a generic format and providing to the data provider in the generic format as the first format.

7. The method of claim 1 , wherein acquiring further includes receiving the results directly from the data provider in the generic format when the backend resource produces the results in the second format.

8. The method of claim 1 further comprising, using the auditing information to enforce security against the client on the results.

9. The method of claim 1 further comprising, reporting based on the auditing information.

10. The method of claim 1 further comprising, logging based on the auditing information.

11. A method implemented and residing within a non-transitory computer-readable storage medium for execution by one or more processors, the method comprising:

translating a data request received over a network from a client device from a first format into a generic format, the data request directed by the client device to a backend resource unavailable on the client device;

searching for a data provider to handle the data request using the generic format, the data provider translates the generic format to a second format handled by the backend resource, wherein searching further includes consulting a registration service with a backend resource identifier to locate the data provider;

instructing the data provider to interact with the backend resource to produce results for the data request in the second format while maintaining the data request and the results in the first format for auditing;

receiving from the data provider the results and metadata in the generic format and obtaining audit information from the metadata that includes: a principal identifier for a principal making a request from the client device, a data provider identifier for the data provider, an operation identifier for any operation performed with the data request, a date and time stamp, and an indication as to policy used and whether that policy was violated and processing the metadata for enforcing security, auditing; logging, and reporting; and

enforcing the policy based on the results before providing the results to the client device.

12. The method of claim 11 , wherein enforcing further includes enforcing security on portions of the results provided to the client device based on the policy.

13. The method of claim 11 , wherein enforcing further includes imposing auditing on access to the results by the client device based on the policy.

14. The method of claim 11 , wherein enforcing further includes reporting and logging the results and access of the client device to the results based on the policy.

15. The method of claim 11 , wherein enforcing further includes filtering out some of the results before providing to the client device based on the policy.

16. The method of claim 11 further comprising, synchronizing the results with a cache of the client device.

17. The method of claim 16 , wherein synchronizing further includes synchronizing the results of a sever cache for a server with the cache of the client device.

18. A method implemented and residing within a non-transitory computer-readable storage medium for execution by one or more processors, the method comprising:

issuing, from a client, a request for data directed to a backend resource, the request in a first format and the backend resource recognizing a second format to handle the request and including, by the client, audit information in the request as metadata for the request, the metadata at least including: a principal identifier for a principal making a request from the client and a date and time stamp and the backend resource processing the metadata for enforcing security, auditing, logging, and reporting;

receiving, on the client, filtered results in the first format from a data provider acting on behalf of the client with the backend resource and maintaining the request and the filtered results in the first format for auditing, wherein receiving further includes consulting a registration service with a backend resource identifier to locate the data provider, and wherein the filtered results processed based on policy evaluation by a server that locates the data provider and receives results from the data provider before the client and filters them based on the policy into the filtered results.

19. The method of claim 18 further comprising, caching the filtered results in a cache of the client for subsequent use on the client.

20. The method of claim 18 further comprising, enforcing security on the client based on parsed security restrictions that accompany the filtered results.

Assignments (8)
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
CHANGE OF NAME Recorded Sep 13, 2016
From: NOVELL, INC.
To: MICRO FOCUS SOFTWARE INC.
Reel/Frame 040020/0703 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2013
From: LOWRY, LEE EDWARD; THURGOOD, BRENT; CARTER, STEPHEN R.
To: NOVELL, INC.
Reel/Frame 030971/0812 →