IP Library Granted Patent US 9,825,965
Granted Patent B2
US 9,825,965 · App. 15/292,708 · Granted Nov 21, 2017

System, method and computer program product for publicly providing web content using a multi-tenant system

Inventors: Bulent Cinarkaya (San Jose, CA); Steven Tamm (San Francisco, CA); Jayesh Sureshchandra (San Francisco, CA); Alex Warshavsky (San Francisco, CA); Irandi Upeka Bulumulla (San Francisco, CA); Benjamin Fry (San Francisco, CA); Kenneth Douglas Scott (Oakland, CA); David Brooks (San Jose, CA)
Assignee: salesforce.com, inc.
H04L63/104G06F17/30589G06F17/30864G06F17/30867G06F17/30887G06F17/30893G06F21/10G06F21/60G06F21/6218G06F21/6227H04L63/102H04L67/02G06F2221/0717
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,825,965
App. No.
15/292,708
Granted
Nov 21, 2017
Kind
B2
Abstract

In accordance with embodiments, there are provided mechanisms and methods for publicly providing web content of a tenant using a multi-tenant on-demand database service. These mechanisms and methods for publicly providing web content of a tenant using a multi-tenant on-demand database service can allow the web content to be published by a tenant using the multi-tenant on-demand database service for use by non-tenants of the multi-tenant on-demand database service.

Claims (70)

1. A system for delivering content of a plurality of subscribers to non-subscribers as a service, the system including:

a database organized to receive, store and provide data on behalf of one or more subscribers using shared common resources; and

a system server communicatively coupled with the database and operable to perform actions comprising:

receiving, by the system server, information from one of the subscribers, the information indicating web content stored on a content server and security settings for controlling access to the web content, wherein the security settings include at least one rule indicating portions of the web content that are allowed to be publicly accessed by non-subscribers of the service;

receiving, by the system server from the subscriber, a definition of a universal resource locator (URL) to be used for accessing the web content and a request to register the URL in association with the web content;

responsive to the receiving of the definition and the request from the subscriber, registering, through the database, by the system server, the URL in association with the web content;

after registering the URL in association with the web content, receiving, by the system server, a request from one of the non-subscribers for at least some of the web content, the request including the URL;

extracting, by the system server, the URL from the request;

identifying, by the system server, the web content being requested utilizing the URL from the request;

identifying, by the system server, the security settings for the web content identified;

determining, by the system server, one or more portions of the web content that the security settings allow to be publicly provided to the non-subscriber;

providing, by the system server, the portions of the web content to the non-subscriber in response to determining, based on the security settings, which portions of the web content are allowed to be publicly provided to the non-subscriber; and

preventing, by the system server, remaining portions of the web content that are not indicated by the security settings as allowed to be publicly accessed by non-subscribers of the service from being provided to the non-subscriber.

2. The system of claim 1 , wherein the system server is further operable to perform:

storing web content on the content server.

3. The system of claim 1 , wherein the system further includes one or more cache servers; and wherein the system server is further operable to perform:

controlling serving of web content from cache of the one or more cache servers.

4. The system of claim 3 , further including:

determining whether the web content is stored in the cache of the one or more cache servers; and when the web content is determined to be stored in the cache, providing the web content to a non-subscriber from the cache.

5. The system of claim 4 , further including:

forwarding the request to a content server mapped to a requested domain name associated with a requested URL of the request when the web content is determined not to be stored in the cache of the of the one or more cache servers.

6. The system of claim 3 , further including:

applying limits to a quantity of data provided responsive to a request based upon the subscriber.

7. The system of claim 6 , further including:

allowing the limits to be automatically increased by the subscriber.

8. The system of claim 6 , further including:

excluding web content that is provided from the cache of the one or more cache servers in determining whether the limits have been met.

9. The system of claim 1 , further including:

determining whether requested web content has not been received from a subscriber and when the web content to be publicly provided has not been received from a subscriber, waiting for such web content to be received from the subscriber.

10. A method for delivering content of a plurality of subscribers to non-subscribers as a service, the method including:

receiving information from one of the subscribers, the information indicating web content stored on a content server and security settings for controlling access to the web content, wherein the security settings include at least one rule indicating portions of the web content that are allowed to be publicly accessed by non-subscribers of the service;

receiving, from the subscriber, a definition of a universal resource locator (URL) to be used for accessing the web content and a request to register the URL in association with the web content;

responsive to the receiving of the definition and the request from the subscriber, registering, through a database organized to receive, store and provide data on behalf of one or more subscribers using shared common resources, the URL in association with the web content;

after registering the URL in association with the web content, receiving, a request from a non-subscriber for at least some of the web content, the request including the URL;

extracting the URL from the request;

identifying the web content being requested utilizing the extracted URL;

identifying the security settings for the web content identified;

determining one or more portions of the web content that the security settings allow to be publicly provided to the non-subscriber;

providing the portions of the web content to the non-subscriber in response to determining, based on the security settings, which portions of the web content are allowed to be publicly provided to the non-subscriber; and

preventing remaining portions of the web content that are not indicated by the security settings as allowed to be publicly accessed by non-subscribers of the service from being provided to the non-subscriber.

11. The method of claim 10 , further including:

storing web content on the content server.

12. The method of claim 10 , further including:

controlling serving of web content from one or more cache servers.

13. The method of claim 12 , further including:

determining whether the web content is stored in a cache of the one or more cache servers; and when the web content is determined to be stored in the cache, providing the web content to a non-subscriber from the cache.

14. The method of claim 13 , further including:

forwarding the request to a content server mapped to a requested domain name associated with a requested URL of the request when the web content is determined not to be stored in the cache of the of the one or more cache servers.

15. The method of claim 13 , further including:

applying limits to a quantity of data provided responsive to a request based upon the subscriber.

16. The method of claim 15 , further including:

allowing the limits to be automatically increased by the subscriber.

17. The method of claim 15 , further including:

excluding web content that is provided from the cache of the one or more cache servers in the determining whether the limits have been met.

18. The method of claim 10 , further including:

determining whether requested web content has not been received from a subscriber and when the web content to be publicly provided has not been received from a subscriber, waiting for such web content to be received from the subscriber.

19. A non-transitory computer readable storage medium impressed with computer program instructions, which instructions, when executed on a processor, implement the method of claim 10 .

20. A server, comprising:

a processor; and

a non-transitory machine-readable medium storing one or more sequences of instructions, which instructions when executed by the processor, cause the processor to carry out actions including:

receiving information from one of a plurality of subscribers, the information indicating web content stored on a content server and security settings for controlling access to the web content, wherein the security settings include at least one rule indicating portions of the web content that are allowed to be publicly accessed by non-subscribers;

receiving, from the subscriber, a definition of a universal resource locator (URL) to be used for accessing the web content and a request to register the URL in association with the web content;

responsive to the receiving of the definition and the request from the subscriber, registering, through a database organized to receive, store and provide data on behalf of one or more subscribers using shared common resources, the URL in association with the web content;

after registering the URL in association with the web content, receiving, a request from a non-subscriber for at least some of the web content, the request including the URL;

extracting the URL from the request;

identifying the web content being requested utilizing the extracted URL;

identifying the security settings for the web content identified;

determining one or more portions of the web content that the security settings allow to be publicly provided to the non-subscriber;

providing the portions of the web content to the non-subscriber in response to determining, based on the security settings, which portions of the web content are allowed to be publicly provided to the non-subscriber; and

preventing remaining portions of the web content that are not indicated by the security settings as allowed to be publicly accessed by non-subscribers from being provided to the non-subscriber.

Assignments (2)
CHANGE OF NAME Recorded Nov 21, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069431/0156 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2016
From: CINARKAYA, BULENT; TAMM, STEVEN; SURESHCHANDRA, JAYESH; WARSHAVSKY, ALEX; BULUMULLA, IRANDI UPEKA; FRY, BENJAMIN; SCOTT, KENNETH DOUGLAS; BROOKS, DAVID
To: SALESFORCE.COM, INC.
Reel/Frame 040007/0512 →
Continuity (8)
Continuation 15065700 · Mar 9, 2016
Continuation 13886218 · May 2, 2013
Continuation 13873116 · Apr 29, 2013
Continuation 13873122 · Apr 29, 2013
Continuation 12611697 · Nov 3, 2009
Continuation 12611697 · Nov 3, 2009
Provisional Application 61110851 · Nov 3, 2008
Related Publication 20170070512A1 · Mar 9, 2017