7543004

Efficient Support for Workspace-Local Queries in a Repository That Supports File Versioning

PublishedJune 2, 2009
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
40 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method, implemented on a processor, comprising the steps of: maintaining, separate from a database table, a plurality of mappings; wherein the database table contains a plurality of records; wherein each mapping of the plurality of mappings corresponds to a different workspace of a plurality of workspaces; wherein each mapping of the plurality of mappings explicitly indicates which records, within the database table, are associated with the workspace to which said each mapping corresponds; receiving a first request, associated with a first workspace, for one or more records from the database table; in response to receiving the first request: accessing, from the plurality of mappings, a first mapping that is associated with the first workspace; determining, from the first mapping, which records in the database table are associated with the first workspace; and returning first information only from the records determined to be associated with the first workspace; receiving a second request, associated with a second workspace that is a different workspace from the first workspace, for one or more records from the database table; in response to receiving the second request: accessing, from the plurality of mappings, a second mapping that is associated with the second workspace and that is a different mapping from the first mapping; determining, from the second mapping, which records in the database table are associated with the second workspace; and returning second information only from the records determined to be associated with the second workspace; wherein at least one of the records determined to be associated with the first workspace is the same record as a record determined to be associated with the second workspace.

2

2. The method of claim 1 , wherein the step of receiving a request includes receiving a request that identifies the first workspace.

3

3. The method of claim 2 , wherein the step of receiving a first request includes receiving a first request that identifies a particular database table, and wherein the step of accessing a first mapping includes accessing a first mapping that is associated with the particular database table.

4

4. A machine-readable storage medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of claim 3 .

5

5. A machine-readable storage medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of claim 2 .

6

6. The method of claim 1 , wherein the first mapping is a bit vector in which each bit corresponds to a record identifier that identifies a particular row in the database table.

7

7. A machine-readable storage medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of claim 6 .

8

8. The method of claim 1 , wherein the step of returning first information includes returning a respective memory location at which each of the records, determined to be associated with the first workspace, are persistently stored.

9

9. A machine-readable storage medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of claim 8 .

10

10. The method of claim 1 , wherein the step of returning first information includes returning respective content of each of the records determined to be associated with the first workspace.

11

11. A machine-readable storage medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of claim 10 .

12

12. The method of claim 1 , wherein the database table contains records corresponding to respective versions of resources stored in a repository that supports versioning.

13

13. A machine-readable storage medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of claim 12 .

14

14. The method of claim 1 , wherein the database table contains records coffesponding to respective content of XML elements from one or more XML documents.

15

15. A machine-readable storage medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of claim 14 .

16

16. The method of claim 1 , further comprising the steps of: determining from the first request that the database table identified in the first request contains records associated with the plurality of workspaces; and rewriting the query to include a particular operator through which a routine is invoked, wherein execution of the routine causes the steps of accessing and determining to be performed.

17

17. A machine-readable storage medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of claim 16 .

18

18. The method of claim 1 , wherein the step of receiving a first request includes receiving a SQL statement that includes the first request.

19

19. A machine-readable storage medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of claim 18 .

20

20. The method of claim 1 , wherein at least one of the records determined to be associated with the first workspace is not a record determined to be associated with the second workspace.

21

21. A machine-readable storage medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of claim 20 .

22

22. A machine-readable storage medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of claim 1 .

23

23. A method, implemented on a processor, comprising the steps of: maintaining, separate from a database table, a plurality of mappings; wherein the database table contains a plurality of records; wherein each mapping of the plurality of mappings corresponds to a different workspace of a plurality of workspaces; wherein each mapping of the plurality of mappings explicitly indicates which records, within the database table, are associated with the workspace to which said each mapping corresponds; receiving a first request, associated with a first workspace, for one or more records from the database table; in response to receiving the first request: accessing, from the plurality of mappings, a first mapping that is associated with the first workspace; determining, from the first mapping, whether each of one or more records in the database table is associated with the first workspace; and returning first information that indicates whether each of the one or more records is associated with the first workspace; receiving a second request, associated with a second workspace that is a different workspace from the first workspace, for one or more records from the database table; in response to receiving the second request: accessing a second mapping that is associated with the second workspace and that is a different mapping from the first mapping, wherein the second mapping indicates which records in the database table are associated with the second workspace; determining, from the second mapping, whether each of the one or more records in the database table is associated with the second workspace; and returning second information that indicates whether each of the one or more records in the database table is associated with the second workspace; wherein at least one of the records determined to be associated with the first workspace is the same record as a record determined to be associated with the second workspace.

24

24. The method of claim 23 , wherein the step of receiving a first request includes receiving a first request that identifies the first workspace.

25

25. The method of claim 24 , wherein the step of receiving a first request includes receiving a first request that identifies a particular database table, and wherein the step of accessing a first mapping includes accessing a first mapping that is associated with the particular database table.

26

26. A machine-readable storage medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of claim 25 .

27

27. A machine-readable storage medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of claim 24 .

28

28. The method of claim 23 , wherein the first mapping is a bit vector in which each bit corresponds to a record identifier that identifies a particular row in the database table.

29

29. A machine-readable storage medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of claim 28 .

30

30. The method of claim 23 , wherein the database table contains records corresponding to respective versions of resources stored in a repository that supports versioning.

31

31. A machine-readable storage medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of claim 30 .

32

32. The method of claim 23 , wherein the database table contains records coffesponding to respective content of XML elements from one or more XML documents.

33

33. A machine-readable storage medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of claim 32 .

34

34. The method of claim 23 , further comprising the steps of: determining from the first request that the database table identified in the first request contains records associated with the plurality of workspaces; and rewriting the query to include a particular operator through which a routine is invoked, wherein execution of the routine causes the steps of accessing and determining to be performed.

35

35. A machine-readable storage medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of claim 34 .

36

36. The method of claim 23 , wherein the step of receiving a first request includes receiving a SQL statement that includes the first request.

37

37. A machine-readable storage medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of claim 36 .

38

38. The method of claim 23 , wherein at least one of the records determined to be associated with the first workspace is not a record determined to be associated with the second workspace.

39

39. A machine-readable storage medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of claim 38 .

40

40. A machine-readable storage medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of claim 23 .

Patent Metadata

Filing Date

Unknown

Publication Date

June 2, 2009

Inventors

Sam Idicula
Thomas Baby
Vikram Kapoor
Nipun Agarwal
Eric Sedlar

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “EFFICIENT SUPPORT FOR WORKSPACE-LOCAL QUERIES IN A REPOSITORY THAT SUPPORTS FILE VERSIONING” (7543004). https://patentable.app/patents/7543004

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.