Independent data access in a segmented file system
US-8935307-B1 · Jan 13, 2015 · US
US9712608B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9712608-B2 |
| Application number | US-201313830493-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 14, 2013 |
| Priority date | Mar 14, 2013 |
| Publication date | Jul 18, 2017 |
| Grant date | Jul 18, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A server set may provide a document service to one or more clients, and may be configured to do so in view of various considerations such as availability, fault tolerance, flexibility, and performance. Presented herein are document service architectures that involve partitioning the document set into at least two document ranges, and configuring respective servers of the server set to host one or more agents to which are respectively assigned one or more document ranges. A request for an operation involving at least one document may be routed to a server hosting an agent managing the document ranges of the documents involved in the operation. Moreover, respective servers may retain detailed information about neighboring servers (e.g., according to a logical or physical proximity) and scant information about distant servers, thereby avoiding both the extensive information exchange of highly informed network architectures and the inefficiency of uninformed routing algorithms.
Opening claim text (preview).
What is claimed is: 1. A method of provisioning a server having a processor to participate in a document service of a document set by a server set, the method comprising: partitioning the document set into at least two document ranges; assigning respective document ranges to an agent that is deployable to any server of the service set to service documents within the document range; hosting on the server at least one agent; and fulfilling a request to apply an operation to a selected document by: identifying the document range of the selected document; if a selected agent hosted on the server services the document range, invoking the selected agent to apply the operation to the selected document; and if no agents on the server service the document range: identifying a second server of the server set hosting an agent servicing the document range; and forwarding the operation to the second server. 2. The method of claim 1 : respective documents comprising a document identifier; partitioning the document set comprising: partitioning the document set into at least two document identifier ranges; and identifying the document range of the selected document comprising: identifying the document identifier range comprising the document identifier of the selected document. 3. The method of claim 1 , wherein identifying the second server further comprises: sending to an agent locating service a request to identify an address of a second server hosting an agent selected to service the document range; and forwarding the operation to the address of the second server provided by the agent locating service. 4. The method of claim 3 , wherein: the server comprising an agent locating cache associating respective document ranges with an address of a server hosting at least one agent servicing the document range; and the method further comprises: receiving the address of the second server, store in the agent locating cache the address of the second server hosting an agent associated with the document range; and sending the operation to the agent locating service comprising: before sending the operation to the agent locating service, searching the agent locating cache for the address of the second server. 5. The method of claim 2 : partitioning the document set further comprising: generating a partitioning map identifying, for respective document identifier ranges, the agent hosting the document identifier range; and identifying the document range of a selected document comprising: examining the partitioning map to identify the agent hosting the document identifier range including the document identifier of the selected document. 6. The method of claim 5 , further comprising: receiving a reassignment of a selected document from the agent identified by the partitioning map to a second agent; generating an updated partitioning map identifying the second agent reassigned to service the selected document; and distributing the updated partitioning map to at least one second server. 7. The method of claim 1 : the server set servicing the documents of at least two document sets; the server assigned to a server role comprising: a dedicated server hosting only the agents servicing the documents of a selected document set; and a shared server hosting a first agent servicing at least one document of a first document set and a second agent servicing at least one document of a second document set. 8. The method of claim 7 , wherein: respective document sets are associated with a service level agreement; and the method further comprising: selecting the server role of the server to satisfy the service level agreement of at least one document set. 9. The method of claim 1 , the server hosting a first agent servicing a document range of a document set replica that is redundantly serviced by a second agent on a second server. 10. The method of claim 9 : the server hosted in a first geographic region; and the second server hosted in a second geographic region that is not near the first geographic region. 11. The method of claim 1 , further comprising: measuring a first computational load applied to the server; and in view of the first computational load and a second computational load applied to a second server of the server set, repartitioning at least one document range serviced by an agent hosted by one of the server and the second server between the server and the second server into an updated document range. 12. The method of claim 1 , the document set partitioned across the servers of the server set according to a ring topology. 13. The method of claim 12 , further comprising: identifying at least one neighbor document range serviced by an agent hosted by a neighboring server that is near the server in the ring topology; and identifying at least one distant document range serviced by an agent hosted by a distant server that is not near the server in the ring topology. 14. The method of claim 13 , further comprising: receiving a request involving a document having a document identifier that is not serviced by the agents hosted on the server; among the at least one neighbor document range and the at least one distant document range, identifying a second server hosting an agent servicing a selected document range that is near the document identifier; and forwarding the operation to the second server. 15. The method of claim 14 , wherein forwarding the operation to the second server further comprises: handling a failure to contact a second server that is not near the server in the ring topology by: identifying a neighboring server that is near the second server in the ring topology; and forwarding the operation to the neighboring server. 16. The method of claim 14 , wherein forwarding the operation to the second server further comprises: handling a failure to contact a neighboring server by repartitioning the document ranges serviced by the agents hosted by the neighboring server. 17. The method of claim 16 , repartitioning the document range comprising: identifying a second neighboring server that is near the neighboring server; and repartitioning the document range between the server and the second neighboring server. 18. The method of claim 13 , further comprising: joining the server set in the ring topology; identifying at least one neighboring server that is near the server in the ring topology; and repartitioning at least one document range serviced by at least one agent hosted by the neighboring server. 19. A system for provisioning a server having a processor and a memory to participate in a document service of a document set by a server set, the system comprising: a partition identifying component comprising instructions stored in the memory, wherein execution of the instructions by the processor causes the server to: partition the document set into at least two document ranges; and assign respective document ranges to an agent that is deployable to any server of the service set to service documents within the document range; an agent hosting component comprising instructions stored in the memory that, when executed on the processor, cause the server to host on the server at least one agent, respective agents hosted on the server selected to service at least one document range; and an operation applying component comprising instructions stored in the memory that, when executed on the processor, cause the server to fulfill a request to apply an operation to a selected document b
with static server selection, e.g. the same server being selected for a specific client · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.