Enabling clients to expose secured files via virtual hosts
AssigneeHomeAway.com, Inc.
InventorsBryon Kristen Jacob, Ronald William Corbett
Life of this patent
Estimating the term…
Abstract
Various embodiments relate generally to a system, a device and a method provide for enabling clients to expose secured files via virtual hosts. A request may be received from a user device such that the request is associated with a content item. The request may include a file path and a content identifier. A host name of the file path may be determined from the request. Data representing a physical location of the content item within a file storage system may then be determined based on a mapped bucket associated with the host name and the content identifier. The content item may be retrieved based on the data representing the physical location within the file storage system and provided to the user device responsive to the request.
Claims19
A computer-implemented method comprising:
- under control of a computing system configured to execute specific computer executable instructions,
- receiving, from a user device, a request associated with a content item, the request having a file path and a content identifier;
- identifying a host name from the file path;
- determining data representing a location of the content item within a file storage system, wherein the data representing the location of the content item is determined based at least partly on the content identifier and a mapped storage collection associated with the host name;
- generating an encoded representation of the location of the content item;
- identifying a first ending subsequence of bits of the encoded representation;
- identifying a first interface of a plurality of interfaces based at least partly on the first ending subsequence of bits of the encoded representation;
- determining that the content item is not stored in a file storage device accessible via the first interface;
- identifying a second ending subsequence of bits of the encoded representation, wherein the second ending subsequence of bits of the encoded representation is different than the first ending subsequence of bits of the encoded representation;
- identifying a second interface of the plurality of interfaces based at least partly on the second ending subsequence of bits of the encoded representation;
- determining that the content item is stored in a file storage device accessible via the second interface;
- retrieving the content item from the file storage system using the second interface;
- and
- providing the content item to the user device responsive to the request.
A system comprising:
- a first server comprising one or more hardware processors, wherein the first server is configured to at least:
- receive a request associated with a content item, the request having a file path and a content identifier;
- and
- identify a host name from the file path;
- and
- a second server comprising one or more hardware processors, wherein the second server is configured to at least:
- determine data representing a location of the content item within a file storage system, wherein the data representing the location of the content item is determined based at least partly on the content identifier and a mapped storage collection associated with the host name;
- generate an encoded representation of the location of the content item;
- identify a first ending subsequence of bits of the encoded representation;
- identify a first interface of a plurality of interfaces to the file storage system based at least partly on the first ending subsequence of bits;
- identify a second ending subsequence of bits of the encoded representation different than the first ending subsequence of bits;
- identify a second interface of the plurality of interfaces based at least partly on the second ending subsequence of bits;
- determine, based at least partly on a first search associated with the first interface and a second search associated with the second interface, that the content item is stored in a file storage device accessible via the second interface;
- and
- retrieve the content item from the file storage device using the second interface;
- wherein the first server is further configured to provide the content item to the user device.
A non-transitory computer storage system storing executable instructions, wherein the executable instructions configure a computing system to perform a process comprising:
- receiving, from a user device, a request associated with a content item, the request having a file path and a content identifier;
- identifying a host name from the file path;
- determining data representing a location of the content item within a file storage system, wherein the data representing the location of the content item is determined based at least partly on the content identifier and a mapped storage collection associated with the host name;
- generating an encoded representation of the location of the content item;
- identifying a first ending subsequence of bits of the encoded representation;
- performing a first search of a first subset of a plurality of interfaces to the file storage system using the first ending subsequence of bits and a first algorithm;
- determining that the content item is not stored in a file storage device associated with any of the first subset of the plurality of interfaces;
- identifying a second ending subsequence of bits of the encoded representation different than the first portion ending subsequence of bits of the encoded representation;
- performing a second search of a second subset of the plurality of interfaces using the second ending subsequence of bits and a second algorithm;
- retrieving the content item from the file storage system using the second interface;
- and
- providing the content item to the user device responsive to the request.
Dependencies are inferred from the claim text.