IP Library Granted Patent US 8,306,991
Granted Patent B2
US 8,306,991 · App. 10/862,504 · Granted Nov 6, 2012

System and method for providing a programming-language-independent interface for querying file system content

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 8,306,991
App. No.
10/862,504
Granted
Nov 6, 2012
Kind
B2
Abstract

A system and method for providing a programming-language-independent interface for querying file system content. In one embodiment, the system may include a storage device configured to store a plurality of files and a file system configured to manage access to the storage device and to store file system content. The file system may include a programming-language-independent interface whereby an application queries the file system content. In various specific implementations of the system, file system content may include file data stored in one or more of the plurality of files, or metadata stored in a named stream corresponding to a given file, respectively. In another specific implementation of the system, the application querying file system content may include the application generating a query in a query language, the application submitting the query to a query engine via the programming-language-independent interface, and the query engine evaluating said query.

Claims (32)

1. A system, comprising:

a storage device configured to store a plurality of files; and

a host device configured to implement a file system, wherein the file system is configured to manage access to said storage device and to store file system content on said storage device, wherein said file system content comprises metadata stored in Extensible Markup Language (XML) format, wherein said file system comprises a programming-language-independent interface configured to receive a query directed to said file system content from an application, wherein said programming-language-independent interface is further configured to receive said query from said application without dependence on a programming language in which said application is implemented;

wherein said programming-language-independent interface comprises a program that is executable by said host device in response to a generic system call by said application, wherein said generic system call is executable by said application with one or more parameters that specify one or more programs external to said application, wherein said generic system call is further executable to cause said one or more programs external to said application to be executed by said host device.

2. The system as recited in claim 1 , wherein said file system content comprises file data stored in one or more of said plurality of files.

3. The system as recited in claim 1 , wherein said file system content comprises metadata stored in a named stream corresponding to a given file.

4. The system as recited in claim 1 , wherein in response to being invoked by said generic system call, said programming-language-independent interface is executable to read said query from a text file.

5. The system as recited in claim 1 , wherein in response to being invoked by said generic system call, said programming-language-independent interface is executable to read said query dependent upon command-line parameters associated with said generic system call.

6. The system as recited in claim 1 , wherein said file system implements a security model, and wherein said file system is further configured to evaluate application queries of said file system content contingently dependent upon said security model.

7. The system as recited in claim 1 , wherein said programming-language-independent interface is further configured to allow each of a plurality of applications to query said file system content, wherein at least two of said plurality of applications are implemented in different programming languages.

8. A method, comprising:

a file system storing file system content on a storage device configured to store a plurality of files, wherein said file system is implemented by a host device, and wherein said file system content comprises metadata stored in Extensible Markup Language (XML) format;

an application executing a generic system call with a parameter specifying a programming-language independent interface, wherein the programming-language independent interface comprises an executable program external to said application, wherein the generic system call is executable by said application with one or more parameters that specify one or more programs external to said application, wherein said generic system call is further executable to cause said one or more programs external to said application to be executed by said host device;

in response to said application executing said generic system call, said programming-language-independent interface receiving a query directed to said file system content from said application, wherein said receiving occurs without dependence on a programming language in which said application is implemented.

9. The method as recited in claim 8 , wherein said file system content comprises file data stored in one or more files.

10. The method as recited in claim 8 , wherein said file system content comprises metadata stored in a named stream corresponding to a given file.

11. The method as recited in claim 8 , wherein said programming-language-independent interface receiving said query further comprises said programming-language-independent interface reading said query from a text file.

12. The method as recited in claim 8 , wherein said programming-language-independent interface receiving said query further comprises said programming-language-independent interface reading said query dependent upon command-line parameters associated with said generic system call.

13. The method as recited in claim 8 , further comprising said file system evaluating application queries of said file system content dependent upon a security model implemented by said file system.

14. The method as recited in claim 8 , further comprising each of a plurality of applications querying said file system content via said programming-language-independent interface, wherein at least two of said plurality of applications are implemented in different programming languages.

15. A tangible, computer-accessible storage medium comprising program instructions, wherein the program instructions are computer-executable to implement a file system configured to:

store file system content on a storage device configured to store a plurality of files, wherein said file system content comprises metadata stored in Extensible Markup Language (XML) format; and

present a programming-language-independent interface to an application, wherein said programming-language-independent interface is configured to receive a query directed to said file system content from said application without dependence on a programming language in which said application is implemented;

wherein said programming-language-independent interface comprises a program that is executable by said host device in response to a generic system call by said application, wherein said generic system call is executable by said application with one or more parameters that specify one or more programs external to said application, wherein said generic system call is further executable to cause said one or more programs external to said application to be executed by said host device.

16. The computer-accessible storage medium as recited in claim 15 , wherein said file system content comprises file data stored in one or more files.

17. The computer-accessible storage medium as recited in claim 15 , wherein said file system content comprises metadata stored in a named stream corresponding to a given file.

18. The computer-accessible storage medium as recited in claim 15 , wherein said program instructions are further executable to implement a security model and to evaluate application queries of said file system content dependent upon said security model.

19. The computer-accessible storage medium as recited in claim 15 , wherein said programming-language-independent interface is further configured to allow each of a plurality of applications to query said file system content, wherein at least two of said plurality of applications are implemented in different programming languages.

20. A system, comprising:

a storage device configured to store a plurality of files; and

a host device configured to implement a file system, wherein the file system is configured to manage access to said storage device and to store file system content on said storage device, wherein said file system comprises an XML Query (XQuery) query language interface configured to receive a query directed to said file system content from an application, wherein said file system content comprises metadata stored in Extensible Markup Language (XML) format;

wherein said XQuery query language interface comprises a program that is executable by said host device in response to a generic system call by said application, wherein said generic system call is executable by said application with one or more parameters that specify one or more programs external to said application, wherein said generic system call is further executable to cause said one or more programs external to said application to be executed by said host device.

Assignments (18)
SECURITY INTEREST Recorded Dec 12, 2025
From: ARCTERA US LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073951/0470 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
SECURITY INTEREST Recorded Dec 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019872 FRAME 979. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE IS SYMANTEC OPERATING CORPORATION. Recorded Mar 5, 2012
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 027819/0462 →
CHANGE OF NAME Recorded Sep 26, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 019872/0979 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2004
From: BORTHAKUR, DHRUBAJYOTI; PREMO, NUR
To: VERITAS OPERATING CORPORATION
Reel/Frame 015447/0731 →