IP Library Granted Patent US 7,698,269
Granted Patent B2
US 7,698,269 · App. 11/288,596 · Granted Apr 13, 2010

URL shortening and authentication with reverse hash lookup

Assignee: Yahoo! Inc.
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 7,698,269
App. No.
11/288,596
Granted
Apr 13, 2010
Kind
B2
Abstract

A shortened identifier, such as a shortened URL, is used to access data, a service, and/or another resource that is associated with a full identifier, such as a full URL. In an exemplary embodiment, a hash key is generated from the full URL and included with a domain identifier to form a shortened URL. Other codes can also be included in the shortened URL. The shortened URL can be included in a message, page, and/or other data element that is generally too small for the full URL. When received from a client, a property code, a user ID, and/or other data is used to locate one or more full URLs. A selected hash function is applied to the full URLs to generate a table of hash keys. If a match exists with the hash key from the shortened URL, the resource is accessed at the corresponding full URL.

Claims (46)

1. An article of manufacture including a processor-readable storage medium having processor-executable code encoded therein, which when executed by one or more processors, enables actions for enabling access to a resource, comprising:

applying a hash operation to at least a portion of a full identifier of the resource, producing a hash key;

detecting that a message includes a shortened identifier selectively indicated by a user to request the resource, wherein the shortened identifier is in a predefined format, and is smaller than the full identifier;

comparing the hash key to a portion of the shortened identifier, wherein the portion of the shortened identifier is arranged to include at least one hash key and another portion of the shortened identifier includes a code for handling access to the resource of a plurality of codes for handling access to the resource; and

determining that the shortened identifier identifies the resource if the hash key matches the portion of the shortened identifier that includes the at least one hash key, wherein each different code for handling access to the resource of the plurality of codes for handling access to the resource has a corresponding different hash operation for generating the hash key from the full identifier.

2. The article of manufacture of claim 1 , the actions further comprising:

creating the shortened identifier based at least in part on a domain associated with the resource and on the hash key; and

communicating the shortened identifier to a network node.

3. The article of manufacture of claim 1 , the actions further comprising:

receiving the shortened identifier from a network node; and directing the network node to the resource based on the full identifier.

4. The article of manufacture of claim 1 , wherein the full identifier comprises a uniform resource locator (URL).

5. The article of manufacture of claim 1 , the actions further comprising accessing the full identifier based at least in part on one of the following; a service identifier and a user identifier.

6. The article of manufacture of claim 1 , wherein the hash operation is selected from a plurality of hash operations, each hash operation being associated at least in part with a particular service.

7. A server device for enabling access to a resource, comprising:

a memory for storing instructions and data; and

a processor in communication with the memory, wherein the processor performs actions based at least in part on the stored instructions, including:

applying a hash operation to at least a portion of a full identifier of the resource, producing a hash key;

detecting that a message includes a shortened identifier selectively indicated by a user to request the resource, wherein the shortened identifier is in a predefined format, and is smaller than the full identifier;

comparing the hash key to a portion of the shortened identifier, wherein the portion of the shortened identifier is arranged to include at least one hash key and another portion of the shortened identifier includes a code for handling access to the resource of a plurality of codes for handling access to the resource; and

determining that the shortened identifier identifies the resource if the hash key matches the portion of the shortened identifier that includes the at least one hash key, wherein each different code for handling access to the resource of the plurality of codes for handling access to the resource has a corresponding different hash operation for generating the hash key from the full identifier.

8. The server device of claim 7 , further comprising a communication interface in communication with the processor and with a client, and wherein the processor further performs the actions of:

creating the shortened identifier based at least in part on a domain associated with the resource and on the hash key; and

communicating the shortened identifier to a network node.

9. The server device of claim 7 , further comprising a communication interface in communication with the processor and with a client, and wherein the processor further performs the actions of:

receiving the shortened identifier from a network node; and

directing the network node to the resource based on the full identifier.

10. The server device of claim 7 , wherein the full identifier comprises a uniform resource locator (URL).

11. The server device of claim 7 , wherein the processor further performs the action of accessing the full identifier based at least in part on at least one of the following; a service identifier and a user identifier.

12. The server device of claim 7 , wherein the hash operation is selected from a plurality of hash operations, each hash operation being associated at least in part with a particular service.

13. An article of manufacture including a processor-readable storage medium having processor-executable code encoded therein, which when executed by one or more processors, enables actions for accessing a resource, comprising:

enabling a user to indicate a shortened identifier, wherein the shortened identifier is in a predefined format, and wherein a portion of the shortened identifier is arranged to include at least one hash key and another portion of the shortened identifier includes a code for handling access to the resource of a plurality of codes for handling access to the resource;

communicating the shortened identifier to a communication director for comparing the hash key to a result of a hash operation applied to a full identifier of the resource; and accessing the resource if the hash key matches the result of the hash operation, wherein each different code for handling access to the resource of the plurality of codes for handling access to the resource has a corresponding different hash operation for generating the hash key from the full identifier.

14. The article of manufacture of claim 13 , the actions further comprising storing the shortened identifier within a data element that is sized smaller than a storage size of the full identifier.

15. The article of manufacture of claim 13 , the actions further comprising communicating to the communication director a code for use at least in part to locate the full identifier.

16. The article of manufacture of claim 13 , wherein the shortened identifier includes a code for identifying one of a plurality of hash operations to apply to the full identifier of the resource.

17. A client device for accessing a resource comprising:

a user interface;

a communication interface in communication with a client communication director;

a memory for storing instructions and data; and

a processor in communication with the communication interface, with the user interface, and with the memory, wherein the processor performs actions based at least in part on the stored instructions, including:

enabling a user to indicate a shortened identifier through the user interface, wherein the shortened identifier is in a predefined format, and wherein a portion of the shortened identifier is arranged to include at least one hash key and another portion of the shortened identifier includes a code for handling access to the resource of a plurality of codes for handling access to the resource;

communicating the shortened identifier in a resource request message to a communication director for comparing the hash key to a result of a hash operation applied to a full identifier of the resource, wherein the shortened identifier is smaller than the full identifier, and wherein the portion of the shortened identifier is a part of the shortened identifier; and

accessing the resource if the hash key matches the result of the hash operation, wherein each different code for handling access to the resource of the plurality of codes for handling access to the resource has a corresponding different hash operation for generating the hash key from the full identifier.

18. The client device of claim 17 , wherein the processor further performs the action of storing the shortened identifier within a data element that is sized smaller than a storage size of the full identifier.

19. The client device of claim 17 , wherein the processor further performs the action of communicating to the communication director a code for use at least in part to locate the full identifier.

20. The client device of claim 17 , wherein the client device comprises a mobile device.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 29, 2021
From: R2 SOLUTIONS LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 056832/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 053654 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST GRANTED PURSUANT TO THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED. Recorded Dec 30, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: R2 SOLUTIONS LLC
Reel/Frame 054981/0377 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 8, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
Reel/Frame 053654/0254 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2020
From: EXCALIBUR IP, LLC
To: R2 SOLUTIONS LLC
Reel/Frame 053459/0059 →
PATENT SECURITY AGREEMENT Recorded Jun 5, 2020
From: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MERTON ACQUISITION HOLDCO LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 052853/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038950/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2016
From: EXCALIBUR IP, LLC
To: YAHOO! INC.
Reel/Frame 038951/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038383/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2006
From: ZHOU, MIN; JIANG, ZHAOWEI CHARLIE; TEMKIN, MICHAEL JEREMY
To: YAHOO! INC.
Reel/Frame 017233/0668 →
Continuity (1)
Related Publication 20070136279A1 · Jun 14, 2007