IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0250977
(2011-09-30)
|
등록번호 |
US-8635271
(2014-01-21)
|
발명자
/ 주소 |
- Adya, Atul
- Cooper, Gregory
- Myers, Daniel Sumers
- Reumann, John
|
출원인 / 주소 |
|
대리인 / 주소 |
Morgan, Lewis & Bockius LLP
|
인용정보 |
피인용 횟수 :
4 인용 특허 :
16 |
초록
▼
A distributed network system includes a distributed server system and a plurality of client devices that are communicatively coupled to the distributed server system. The distributed server system includes multiple servers, each server including a set of client devices registered with the server. Th
A distributed network system includes a distributed server system and a plurality of client devices that are communicatively coupled to the distributed server system. The distributed server system includes multiple servers, each server including a set of client devices registered with the server. Through client re-registration, a client device can move its registration from one server to another server. Through server-side data replication, an object registration request submitted by a client device to a first server is forwarded to a second server without having the client device submitting the same request to the second server.
대표청구항
▼
1. A computer-implemented method, comprising: at a server having memory and one or more processors, wherein the server has access to a plurality of client-object registration records, each record including a client identifier, a session token, and a plurality of object registration entries: receivin
1. A computer-implemented method, comprising: at a server having memory and one or more processors, wherein the server has access to a plurality of client-object registration records, each record including a client identifier, a session token, and a plurality of object registration entries: receiving a first object registration request from a client device, the first object registration request including a client identifier, a session token, and a first set of object registration entries;if the received session token is deemed to be invalid, sending an invalid session response including a new session token to the client device; andreceiving a second object registration request from the client device, the second client registration request including the client identifier, the new session token, and a second set of object registration entries, wherein there is at least one difference between the first and second sets of object registration entries; andin response to the second object registration request: updating a client-object registration record including the client identifier in accordance with the new session token and the second set of object registration entries; andsending a client registration confirmation message to the client device including the new session token. 2. The method of claim 1, wherein the session token is deemed to be invalid if the session token is issued by another server in response to a third object registration request from the client device. 3. The method of claim 1, wherein the session token is deemed to be invalid if the session token has been issued by the server for at least a predefined period of time in response to a third object registration request from the client device. 4. The method of claim 1, wherein the second object registration request includes an object's version information cached by the client device and updating a client-object registration record includes replacing the record's client-side version information with the client-cached version information if the client-cached version information is more recent than the record's client-side version information. 5. The method of claim 1, wherein the second object registration request includes an object's version information cached by the client device and updating a client-object registration record includes generating a new client-object registration record using the client identifier and the client-cached version information if no existing client-object registration record includes the client identifier. 6. The method of claim 1, wherein the invalid session response includes a third set of object registration entries selected from the client-object registration record. 7. The method of claim 6, wherein none of the third set of object registration entries is within the second set of object registration entries. 8. The method of claim 6, wherein each of the third set of object registration entries is within the second set of object registration entries. 9. The method of claim 6, wherein a first subset of the third set of object registration entries is within the second set of object registration entries and a second subset of the third set of object registration entries is not within the second set of object registration entries. 10. The method of claim 6, further comprising: selecting, among the plurality of client-object registration records, a client-object registration record including the received client identifier but not the received session token;generating the new session token for the client device and a server-side object registration map using the third set of object registration entries in the selected client-object registration record; andreturning the new session token and the server-side object registration map as at least a portion of the invalid session response to the client device. 11. The method of claim 1, wherein the server has access to a plurality of object update records, each record including an object identifier and a plurality of client identifiers associated with the object identifier, further comprising: retrieving a set of object identifiers from the client-object registration record;identifying a set of object update records in accordance with the retrieved set of object identifiers; andadding the client identifier to each of the identified set of object update records. 12. The method of claim 10, wherein the client-object registration record includes an object registration pending flag and the object registration pending flag is set to a non-null value in response to receiving the second object registration request and the object registration pending flag is set to a null value after adding the client identifier to each of the identified set of object update records. 13. The method of claim 12, wherein the non-null value is a monotonically-increasing value selected from the group consisting of a sequence number provided by the client device and a timestamp associated with the second object registration request. 14. The method of claim 1, wherein the client device corresponds to one selected from the group consisting of a desktop, a laptop, a tablet, a smartphone, and a netbook. 15. A server system, wherein the server system has access to a plurality of client-object registration records, each record including a client identifier, a session token, and a plurality of object registration entries, comprising: one or more processors for executing programs; andmemory to store data and to store one or more programs to be executed by the one or more processors, the one or more programs including instructions for: receiving a first object registration request from a client device, the first object registration request including a client identifier, a session token, and a first set of object registration entries;if the received session token is deemed to be invalid, sending an invalid session response including a new session token to the client device; andreceiving a second object registration request from the client device, the second client registration request including the client identifier, the new session token, and a second set of object registration entries, wherein there is at least one difference between the first and second sets of object registration entries; andin response to the second object registration request: updating a client-object registration record including the client identifier in accordance with the new session token and the second set of object registration entries; andsending a client registration confirmation message to the client device including the new session token. 16. The server system of claim 15, wherein the session token is deemed to be invalid if the session token is issued by another server in response to a third object registration request from the client device. 17. The server system of claim 15, wherein the session token is deemed to be invalid if the session token has been issued by the server for at least a predefined period of time in response to a third object registration request from the client device. 18. The server system of claim 15, wherein the second object registration request includes an object's version information cached by the client device and updating a client-object registration record includes replacing the record's client-side version information with the client-cached version information if the client-cached version information is more recent than the record's client-side version information. 19. The server system of claim 15, wherein the second object registration request includes an object's version information cached by the client device and updating a client-object registration record includes generating a new client-object registration record using the client identifier and the client-cached version information if no existing client-object registration record includes the client identifier. 20. The server system of claim 15, wherein the invalid session response includes a third set of object registration entries selected from the client-object registration record. 21. A non-transitory computer readable-storage medium storing one or more programs for execution by one or more processors of a server system, wherein the server system has access to a plurality of client-object registration records, each record including a client identifier, a session token, and a plurality of object registration entries, the one or more programs comprising instructions for: receiving a first object registration request from a client device, the first object registration request including a client identifier, a session token, and a first set of object registration entries;if the received session token is deemed to be invalid, sending an invalid session response including a new session token to the client device; andreceiving a second object registration request from the client device, the second client registration request including the client identifier, the new session token, and a second set of object registration entries, wherein there is at least one difference between the first and second sets of object registration entries; andin response to the second object registration request: updating a client-object registration record including the client identifier in accordance with the new session token and the second set of object registration entries; andsending a client registration confirmation message to the client device including the new session token. 22. The non-transitory computer readable-storage medium of claim 21, wherein the session token is deemed to be invalid if the session token is issued by another server in response to a third object registration request from the client device. 23. The non-transitory computer readable-storage medium of claim 21, wherein the session token is deemed to be invalid if the session token has been issued by the server for at least a predefined period of time in response to a third object registration request from the client device. 24. The non-transitory computer readable-storage medium of claim 21, wherein the second object registration request includes an object's version information cached by the client device and updating a client-object registration record includes replacing the record's client-side version information with the client-cached version information if the client-cached version information is more recent than the record's client-side version information. 25. The non-transitory computer readable-storage medium of claim 21, wherein the second object registration request includes an object's version information cached by the client device and updating a client-object registration record includes generating a new client-object registration record using the client identifier and the client-cached version information if no existing client-object registration record includes the client identifier. 26. The non-transitory computer readable-storage medium of claim 21, wherein the invalid session response includes a third set of object registration entries selected from the client-object registration record.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.