IP Library Granted Patent US 8,504,557
Granted Patent B2
US 8,504,557 · App. 12/764,820 · Granted Aug 6, 2013

System, method and computer program product for querying data relationships over a network

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,504,557
App. No.
12/764,820
Granted
Aug 6, 2013
Kind
B2
Abstract

In accordance with embodiments, there are provided mechanisms and methods for querying data relationships over a network. These mechanisms and methods for querying data relationships over a network can enable embodiments to provide the capability to query for more than a single entity at a time. The ability of embodiments to query for more than a single entity at a time can enable improved network throughput, faster response time and more efficient utilization of resources.

Claims (36)

1. A method for querying data relationships over a network, comprising:

receiving a single query including at least one hierarchical relationship between a first entity and a second entity over a network, wherein the first entity, the second entity, and the hierarchical relationship between the first entity and the second entity are stored in at least one database;

retrieving, from the at least one database storing the first entity, the second entity, and the hierarchical relationship between the first entity and the second entity, only that amount of data related to the first entity and the second entity that is able to be efficiently returned responsive to the single query; and

transmitting the retrieved data related to the first entity and the second entity over the network in response to the single query.

2. The method of claim 1 , wherein receiving a query including at least one relationship between a first entity and a second entity over a network includes:

receiving the query utilizing a web services protocol.

3. The method of claim 2 , wherein the web services protocol is selected from the group consisting of simple object access protocol (SOAP) and extensible markup language (XML).

4. The method of claim 1 , wherein receiving a query including at least one relationship between a first entity and a second entity over a network includes:

receiving the query over a network that is asynchronous and latent.

5. The method of claim 1 , wherein at least one of the first entity and the second entity includes a custom entity.

6. The method of claim 1 , wherein receiving a query including at least one relationship between a first entity and a second entity over a network includes:

receiving the query utilizing a server.

7. The method of claim 1 , wherein retrieving, from at least one database, only that amount of data related to the first entity and the second entity that is able to be efficiently returned responsive to the query includes:

interfacing with a multi-tenant database system.

8. The method of claim 7 , wherein the first entity includes an account and the second entity includes at least one contact.

9. The method of claim 1 , wherein retrieving, from at least one database, only that amount of data related to the first entity and the second entity that is able to be efficiently returned responsive to the query includes:

cursoring over the first entity and the second entity.

10. The method of claim 9 , further comprising tracking a total number of entities.

11. The method of claim 10 , further comprising determining whether the total number of the entities exceeds a threshold.

12. The method of claim 11 , further comprising deleting at least one of the entities when the threshold is exceeded.

13. The method of claim 1 , wherein the relationship has a unique label.

14. The method of claim 13 , wherein a first label is assigned to the first entity for identifying the relationship and a second label is assigned to the second entity for identifying the relationship.

15. The method of claim 14 , wherein the first label and the second label are different.

16. The method of claim 1 , wherein the query is constructed utilizing a query language.

17. The method of claim 1 , wherein a pointer exists between the first entity and the second entity.

18. The method of claim 1 , wherein the query includes a describe call that identifies the relationship.

19. The method of claim 1 , wherein retrieving only that amount of data related to the first entity and the second entity that is able to be efficiently returned responsive to the single query includes retrieving a subset of data related to the first entity and the second entity that is able to be efficiently returned responsive to the single query, when a size of the data related to the first entity and the second entity necessitates dividing the data into a plurality of subsets for transmission.

20. A computer program product embodied on a non-transitory computer readable medium for querying data relationships over a network, comprising:

computer code for receiving a single query including at least one hierarchical relationship between a first entity and a second entity over a network, wherein the first entity, the second entity, and the hierarchical relationship between the first entity and the second entity are stored in at least one database;

computer code for retrieving, from the at least one database storing the first entity, the second entity, and the hierarchical relationship between the first entity and the second entity, only that amount of data related to the first entity and the second entity that is able to be efficiently returned responsive to the single query; and

computer code for transmitting the retrieved data related to the first entity and the second entity over the network in response to the single query.

21. A system, comprising:

a processor for:

receiving a single query including at least one hierarchical relationship between a first entity and a second entity over a network, wherein the first entity, the second entity, and the hierarchical relationship between the first entity and the second entity are stored in at least one database;

retrieving, from the at least one database storing the first entity, the second entity, and the hierarchical relationship between the first entity and the second entity, only that amount of data related to the first entity and the second entity that is able to be efficiently returned responsive to the single query; and

transmitting the retrieved data related to the first entity and the second entity over the network in response to the single query.

Assignments (2)
CHANGE OF NAME Recorded Oct 24, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069268/0550 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2010
From: FELL, SIMON Z.; JASIK, BENJI H.; MAWSON, SVEN E.; WEISSMAN, CRAIG
To: SALESFORCE.COM, INC.
Reel/Frame 024269/0524 →