IP Library Granted Patent US 9,092,800
Granted Patent B2
US 9,092,800 · App. 14/463,019 · Granted Jul 28, 2015

Click detection method, apparatus and system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,092,800
App. No.
14/463,019
Granted
Jul 28, 2015
Kind
B2
Abstract

A click detection method, apparatus and system is provided. An embodiment includes a method that receives a request from a client destined for a server and a unique identifier for the client. The method also includes generating a representation of the unique identifier, and forwarding the representation of the unique identifier and the request to the server.

Claims (66)

1. A method for modifying requests from a client device having a unique identifier, the method comprising:

receiving a plurality of requests at a processor from said client device at different respective times of receipt, each request including said unique identifier;

responsive to receiving said requests, generating respective representations of said unique identifier for said requests at said processor by repeating, for each said request:

obtaining a numerical string representing a current time period corresponding to said time of receipt;

concatenating said numerical string with said unique identifier; and

applying a hashing operation to said concatenated unique identifier and numerical string;

modifying each said request by replacing said unique identifier with the respective one of said representations; and

processing said modified requests without storing said current time periods.

2. The method of claim 1 wherein said representations are anonymous such that said unique identifier cannot be recovered from said representations.

3. The method of claim 1 wherein at least two of said current time periods, corresponding to at least two of said different times of receipt, are equal.

4. The method of claim 1 wherein said current time period is one of a year containing the corresponding time of receipt, a month containing the corresponding time of receipt, a week containing the corresponding time of receipt, a day containing the corresponding time of receipt, and an hour containing the corresponding time of receipt.

5. The method of claim 1 wherein said numerical string is a random number derived from said current time period.

6. The method of claim 1 wherein processing said modified requests comprises forwarding said modified requests via said processor to a web server to which said requests are addressed.

7. The method of claim 1 wherein said request comprises a request to access a web page link stored at a web server, the link identifying a web page stored at a content server.

8. The method of claim 7 wherein processing said modified requests comprises:

recording said modified requests in a memory connected to said processor;

determining whether a predefined number of said modified requests contain matching representations;

when the determination is negative, forwarding a charge instruction to said content server; and

when the determination is affirmative, omitting said charge instruction.

9. The method of claim 8 , further comprising:

responding to said request with a redirect instruction identifying said content server.

10. A server, comprising:

a network interface for communicating with a client device;

a memory; and

a processor interconnected with said network interface and said memory, said processor configured to:

receive a plurality of requests from said client device at different respective times of receipt, each request including said unique identifier;

responsive to receiving said requests, generate respective representations of said unique identifier for said requests by repeating, for each said request:

obtaining a numerical string representing a current time period corresponding to said time of receipt;

concatenating said numerical string with said unique identifier; and

applying a hashing operation to said concatenated unique identifier and numerical string;

modify each said request by replacing said unique identifier with the respective one of said representations; and

process said modified requests without storing said current time periods in said memory.

11. The server of claim 10 wherein said representations are anonymous such that said unique identifier cannot be recovered from said representations.

12. The server of claim 10 wherein at least two of said current time periods, corresponding to at least two of said different times of receipt, are equal.

13. The server of claim 10 wherein said current time period is one of a year containing the corresponding time of receipt, a month containing the corresponding time of receipt, a week containing the corresponding time of receipt, a day containing the corresponding time of receipt, and an hour containing the corresponding time of receipt.

14. The server of claim 10 wherein said numerical string is a random number derived from said current time period.

15. The server of claim 10 , said processor further configured to process said modified requests by forwarding said modified requests via said network interface to a web server to which said requests are addressed.

16. The server of claim 10 wherein said request comprises a request to access a web page link stored at a web server, the link identifying a web page stored at a content server.

17. The server of claim 16 , said processor further configured to process said modified requests by:

recording said modified requests in said memory;

determining whether a predefined number of said modified requests contain matching representations;

when the determination is negative, forwarding a charge instruction to said content server; and

when the determination is affirmative, omitting said charge instruction.

18. The server of claim 17 , said processor further configured to:

respond to said request with a redirect instruction identifying said content server.

19. A non-transitory computer readable medium storing a plurality of computer-readable instructions for execution by a processor of a server, to implement a method for modifying requests from a client device having a unique identifier, the method comprising:

receiving a plurality of requests at a processor from said client device at different respective times of receipt, each request including said unique identifier;

responsive to receiving said requests, generating respective representations of said unique identifier for said requests at said processor by repeating, for each said request:

obtaining a numerical string representing a current time period corresponding to said time of receipt;

concatenating said numerical string with said unique identifier; and

applying a hashing operation to said concatenated unique identifier and numerical string;

modifying each said request by replacing said unique identifier with the respective one of said representations; and

processing said modified requests without storing said current time periods.

20. A system, comprising:

an intermediate server; and

a web server connected to said intermediate server via a network;

said intermediate server configured to:

receive a plurality of requests from said client device at different respective times of receipt, each request including said unique identifier;

responsive to receiving said requests, generate respective representations of said unique identifier for said requests by repeating, for each said request:

obtaining a numerical string representing a current time period corresponding to said time of receipt;

concatenating said numerical string with said unique identifier; and

applying a hashing operation to said concatenated unique identifier and numerical string;

modify each said request by replacing said unique identifier with the respective one of said representations; and

forward said modified requests to said web server without storing said current time periods; and

said web server configured to:

receive said modified requests and send responses to said modified requests to said client device.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Jun 1, 2015
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 035805/0534 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2014
From: OWEN, RUSSELL; BROWN, MICHAEL; LITTLE, HERBERT
To: RESEARCH IN MOTION LIMITED
Reel/Frame 033563/0987 →