P
US9825965B2ActiveUtilityPatentIndex 62

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

Assignee: SALESFORCE COM INCPriority: Nov 3, 2008Filed: Oct 13, 2016Granted: Nov 21, 2017
Est. expiryNov 3, 2028(~2.3 yrs left)· nominal 20-yr term from priority
Inventors:CINARKAYA BULENTTAMM STEVENSURESHCHANDRA JAYESHWARSHAVSKY ALEXBULUMULLA IRANDI UPEKAFRY BENJAMINSCOTT KENNETH DOUGLASBROOKS DAVID
G06F 17/30887H04L 63/102G06F 17/30893G06F 21/6227G06F 21/6218G06F 21/60G06F 21/10G06F 17/30867G06F 17/30864G06F 2221/0717G06F 17/30589H04L 63/104H04L 67/02G06F 16/9566G06F 16/282G06F 16/951G06F 16/972G06F 16/9535G06F 21/1012G06F 21/1015
62
PatentIndex Score
1
Cited by
236
References
20
Claims

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

exact text as granted — not AI-modified
The invention claimed is: 
     
       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.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.