Method and server device for exchanging information items with a plurality of client entities

US9471646B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9471646-B2
Application numberUS-201414341695-A
CountryUS
Kind codeB2
Filing dateJul 25, 2014
Priority dateJul 26, 2013
Publication dateOct 18, 2016
Grant dateOct 18, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The invention concerns a method of exchanging information items, e.g. HTTP headers, between a server device and a plurality of clients, and also concerns such a server device. The server device establishes connections with clients, wherein each connection involves a server-initiated indexing table for the server device to encode information items to be sent over the connection in the server-to-client direction. The method comprises the following steps performed at the server device: obtaining a same single indexing table as the server-initiated indexing table of the connections; in response to receiving a request for data from a client, pushing entries of the table to the client to configure the latter for item exchange in the server-to-client direction, encoding information items associated with the requested data using item indexing based on the table and sending the encoded information items to the client over the connection established with it.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method of exchanging information items between a server device and a plurality of client entities, the server device establishing a plurality of connections with the plurality of client entities, wherein each connection involves a server-initiated indexing table for the server device to encode information items to be sent over the connection in the server-to-client direction, the method comprising the following steps performed at the server device: obtaining a same single indexing table as the server-initiated indexing table of the connections with two or more client entities; and in response to receiving a request for data from any of the two or more client entities: pushing at least one entry of the single indexing table to the requesting client entity to configure the latter for decoding encoded information items exchanged in the server-to-client direction, encoding information items associated with the requested data using item indexing based on the single indexing table, and sending the requested data along with the encoded information items to the requesting client entity over the connection established with it, after having pushed the at least one entry to the requesting client entity. 2. The method of claim 1 , wherein all the entries of the single indexing table are pushed to the requesting client entity before sending one or more information items associated with the requested data. 3. The method of claim 1 , wherein the same single indexing table is defined as the server-initiated indexing table of all the connections the server device has established with client entities. 4. The method of claim 1 , wherein the single indexing table is used to index HTTP headers in HTTP responses. 5. The method of claim 4 , wherein a pushed entry of the single indexing table includes a template entry defined by a header name, an index and no specific header value. 6. The method of claim 1 , wherein the entries to be pushed of the single indexing table are split into two or more ordered blocks that keep the order of the entries in the single indexing table, and the resulting blocks are pushed to the requesting client entity following the order. 7. The method of claim 1 , wherein the pushed entries are pushed to the requesting client entity as new information items to index, in the same order as they are ordered in the single indexing table. 8. The method of claim 6 , wherein the pushed entries of the single indexing table are pushed to the requesting client entity using one or more PUSH_PROMISE frames defined in the HTTP/2.0 standard that keep the order of the entries in the single indexing table. 9. The method of claim 1 , wherein the response sending the requested data along with the encoded information items includes a HEADER frame defined in the HTTP/2.0 standard, and the HEADER frame includes the pushed entries keeping their order in the single indexing table, followed by a removal instruction for each pushed entry to instruct the requesting client entity to remove each corresponding information item from a current decoded information item set, further followed by the encoded information items. 10. The method of claim 9 , wherein the removal instruction in the HEADER frame to remove an information item is the same information item encoded using the corresponding index in the single indexing table. 11. The method of claim 1 , further comprising, at the server device, updating the single indexing table based on updated past statistics on the connections with the two or more client entities. 12. The method of claim 11 , wherein the updating is triggered when updated past statistics representing a hit/miss ratio of the single indexing table when encoding the information items using item indexing or when an average compression ratio of last encoded information items becomes lower than a predetermined threshold. 13. The method of claim 11 , wherein a new entry having an entry name and an entry value in the updated single indexing table is assigned the same index as an entry of the old single indexing table that matches the new entry or is assigned the same index as an entry of the old single indexing table that has the same entry name but a different entry value. 14. The method of claim 11 , wherein all entries of the updated single indexing table are pushed only to any client entity establishing a new connection with the server device, the already existing connections with the server device relying on the old single indexing table. 15. The method of claim 11 , wherein entries of the updated single indexing table are pushed to the client entities of all open connections using one or more PUSH_PROMISE frames defined in the HTTP/2.0 standard. 16. The method of claim 1 , further comprising, at the server device, augmenting the single indexing table used as server-initiated indexing table for a connection with a client entity with additional entries specific to the connection, the additional entries corresponding to encoded information items associated with data requested on the connection. 17. The method of claim 1 , further comprising using, for each connection in the server-to-client direction, the obtained single indexing table without indexing any new item selected from the encoded information items associated with the data requested on the connection. 18. A server device configured to exchange information items with a plurality of client entities, the server device including: a communication module to establish a plurality of connections with the plurality of client entities, wherein each connection involves a server-initiated indexing table for the server device to encode information items to be sent over the connection in the server-to-client direction; a memory for storing a single indexing table used as the server-initiated indexing table of the connections with two or more client entities; a processor for executing an indexing table push instruction configured, in response to receiving a request for data from any of the two or more client entities, to push at least one entry of the single indexing table to the requesting client entity to configure the latter for decoding encoded information item exchanged in the server-to-client direction; a data encoder configured to encode information items associated with the requested data using item indexing based on the single indexing table, wherein the requested data are sent along with the encoded information items to the requesting client entity over the connection established with it, after the indexing table push module has pushed the at least one entry to the requesting client entity. 19. A method of exchanging information items between a server device and a plurality of client entities, the server device generating a single server-initiated indexing table for the server device to encode information items to be sent over any connection with a client entity in the server-to-client direction, the method comprising the following steps performed at the server device: indexing an information item to be sent to any client entity, in the single server-initiated indexing table; sending the information item to the client entity, causing the client entity to also index the information item in a local indexing table and to further process the received information item locally; and pushing the information item to the other client entities of the plurality along with an indication that said pushed information item is only to be added by the other client entities to their respect

Assignees

Inventors

Classifications

  • Physics · mapped topic

  • Electricity · mapped topic

  • H04L67/02Primary

    based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title

  • H04L69/04Primary

    Protocols for data compression, e.g. ROHC · CPC title

  • in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9471646B2 cover?
The invention concerns a method of exchanging information items, e.g. HTTP headers, between a server device and a plurality of clients, and also concerns such a server device. The server device establishes connections with clients, wherein each connection involves a server-initiated indexing table for the server device to encode information items to be sent over the connection in the server-to-…
Who is the assignee on this patent?
Canon Kk
What technology area does this patent fall under?
Primary CPC classification G06F17/30545. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 18 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).