US20170295251A1 - Device and session identification - Google Patents

Device and session identification Download PDF

Info

Publication number
US20170295251A1
US20170295251A1 US15/633,235 US201715633235A US2017295251A1 US 20170295251 A1 US20170295251 A1 US 20170295251A1 US 201715633235 A US201715633235 A US 201715633235A US 2017295251 A1 US2017295251 A1 US 2017295251A1
Authority
US
United States
Prior art keywords
communication
identifier
internet protocol
device identifier
protocol address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US15/633,235
Inventor
Ezekiel Kruglick
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Empire Technology Development LLC
Original Assignee
Empire Technology Development LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Empire Technology Development LLC filed Critical Empire Technology Development LLC
Priority to US15/633,235 priority Critical patent/US20170295251A1/en
Publication of US20170295251A1 publication Critical patent/US20170295251A1/en
Assigned to CRESTLINE DIRECT FINANCE, L.P. reassignment CRESTLINE DIRECT FINANCE, L.P. SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: EMPIRE TECHNOLOGY DEVELOPMENT LLC
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/22
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L61/2007
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding

Definitions

  • Wireless devices may be used in telecommunications. Wireless devices commonly provide services that may be impractical or impossible with the use of wires. Wireless devices use some form of energy (e.g., radio waves) to transfer information without the use of wires. Wireless devices may transfer information over both short and long distances.
  • energy e.g., radio waves
  • the methods may include a processor receiving the first communication from the device.
  • the first communication may include requests to interact with a web page, a session identifier associated with the first communication, and a protocol address associated with the device.
  • the methods may include receiving a second communication from the device.
  • the second communication may include a device identifier associated with the device, where the device identifier may be different from the internet protocol address, and the session identifier.
  • the methods may include linking the first communication with the device identifier based on the session identifier.
  • the methods may include analyzing the first communication with respect to the device identifier to produce an analyzed first communication.
  • the methods may include a device sending the first communication from the device to a processor.
  • the processor may be at a first internet protocol address.
  • the first communication may include requests to interact with a web page, a session identifier associated with the first communication, and a second internet protocol address associated with the device.
  • the methods may include generating a device identifier for the device different from the second internet protocol address.
  • the methods may include sending a second communication from the device to the processor.
  • the second communication may include the device identifier and the session identifier.
  • systems configured to analyze a first communication from a device are generally described.
  • the systems may include the device, where the device includes a first processor, and a second processor configured to be in communication with the device over a network.
  • the first processor may be configured to send the first communication from the device to the second processor.
  • the second processor may be at a first internet protocol address.
  • the first communication may include requests to interact with a web page, a session identifier associated with the first communication, and a second internet protocol address associated with the device.
  • the first processor may generate a device identifier for the device, different from the second internet protocol address.
  • the first processor may send a second communication from the device to the second processor at the first internet protocol address.
  • the second communication may include the device identifier and the session identifier.
  • the second processor may be configured to receive the first communication from the device and receive the second communication from the device.
  • the second processor may link the first communication with the device identifier based on the session identifier.
  • the second processor may analyze the first communication with respect to the device identifier to produce an analyzed first communication.
  • FIG. 1 illustrates an example system that can be utilized to implement device and session identification
  • FIG. 2 illustrates the example system of FIG. 1 depicting further details regarding device and session identification
  • FIG. 3 illustrates a flow diagram for an example process for implementing device and session identification
  • FIG. 4 illustrates computer program products effective to implement device and session identification
  • FIG. 5 is a block diagram illustrating an example computing device that is arranged to implement device and session identification, all arranged in accordance with at least some embodiments presented herein.
  • This disclosure is generally drawn, inter alia, to technologies including methods, apparatus, systems, devices, and computer program products related to device and session identification.
  • a processor may receive a first communication from a device.
  • the first communication may include requests to interact with a web page, a session identifier associated with the first communication, and a protocol address associated with the device.
  • the processor may receive a second communication from the device.
  • the second communication may include a device identifier associated with the device, where the device identifier may be different from the internet protocol address, and the session identifier.
  • the processor may link the first communication with the device identifier based on the session identifier.
  • the processor may further analyze the first communication with respect to the device identifier to produce an analyzed first communication.
  • FIG. 1 illustrates an example system 100 that can be utilized to implement device and session identification, arranged in accordance with at least some embodiments presented herein.
  • System 100 may include a device 110 , a network 150 and a processor 120 .
  • Processor 120 may be operated by, for example, a search engine, an advertiser, an advertising network, or other suitable entity.
  • Processor 120 may include one or more processing elements disposed in one or more housings.
  • Device 110 may include a processor 116 in communication with a memory 112 .
  • Memory 112 may include instructions 114 .
  • Processor 120 may be in communication with a memory 130 including instructions 140 .
  • Device 110 may be a cell phone, tablet device, wearable device such as GOOGLE GLASS, or any other wireless communication device.
  • Network 150 may be a cellular network, a WIFI network, the Internet or any other network.
  • processor 116 may send a communication 160 from device 110 to an internet protocol address (“IP”) associated with processor 120 over network 150 .
  • Communication 160 may include a session identifier 180 and an IP address 175 associated with device 110 .
  • Session identifier 180 may include any information that may identify communication 160 .
  • session identifier 180 may include an identifier used in hypertext transfer protocol (HTTP) communications.
  • communication 160 may relate to a request or requests to access and interact with a web page 125 stored in memory 130 .
  • Processor 116 may, by executing instructions 114 , determine that communication 160 is associated with a group of services such as advertising or search services.
  • the determination may be made based the IP address or Uniform Resources Locator (“URL”) associated with processor 120 .
  • processor 116 may send a device identifier communication 170 to processor 120 over network 150 .
  • Device identifier communication 170 may be generated by an application program interface (“API”) provided by an entity associated with processor 120 .
  • API application program interface
  • Device identifier communication 170 may include session identifier 180 and a device identifier 172 .
  • device identifier 172 may enable processor 120 to perform more detailed analysis on communication 160 .
  • Processor 120 may receive communication 160 , session identifier 180 and device identifier communication 170 .
  • Processor 120 may link device identifier 172 and communication 160 . Linking may be performed by matching session identifier 180 in communication 160 with session identifier 180 in device identifier communication 170 .
  • Processor 120 may analyze communication 160 linked to device identifier 172 to produce analyzed communication 185 . For example, processor 120 may compare analyzed communication 185 with other communications, such as prior analyzed communications, associated with device identifier 172 .
  • Processor 120 may also generate analytics for communication 160 linked with device identifier 172 to detect malware induced click fraud. In an example, processor 120 may detect malware induced click fraud when multiple communications are detected as being from the same device when communication 160 includes two or more different IP addresses.
  • communication 160 may include requests for interactions with a web page 125 .
  • communication 160 may include multiple, perhaps fraudulent, clicks and/or requests on web page 125 .
  • Malware such as botnets, may operate on a device, may open a network session, and may produce fraudulent clicks. Such requests may inappropriately result in click fraud or inappropriately increase search engine optimization rankings.
  • processor 120 may be able to detect click fraud. Processor 120 may then make a decision whether to disavow a click.
  • FIG. 2 illustrates example system 100 of FIG. 1 depicting further details relating to device and session identification, arranged in accordance with at least some embodiments presented herein.
  • System 100 of FIG. 2 is substantially similar to system 100 of FIG. 1 , with additional details. Those components in FIG. 2 that are labeled identically to components of FIG. 1 will not be described again for the purposes of clarity.
  • device 110 may include a browser module 210 , a comparator module 220 , an identifier generator module 230 and/or an identifier generator rotation module 240 .
  • Comparator module 220 may include a target internet protocol (“IP”) list 222 .
  • Processor 116 may include and/or be in communication with browser module 210 , comparator module 220 , identifier generator module 230 and/or identifier generator rotation module 240 .
  • comparator module 220 may be a Bloom filter.
  • Identifier generator module 230 may be a random number generator.
  • Processor 120 may include, or be in communication with, malware correlator module 250 and/or click fraud detection module 260 . Modules may be implemented in hardware or software.
  • browser module 210 may be used to interface with a website operated by processor 120 .
  • browser module 210 may be used to send a request to a URL or IP address associated with processor 120 and/or web page 125 .
  • Processor 116 may send communication 160 over network 150 to processor 120 .
  • Processor 120 may be associated with an IP address 245 .
  • Processor 116 may use comparator module 220 and compare IP address 245 , associated with processor 120 , with target IP list 222 of IP addresses.
  • Target IP list 222 may identify URLs or IP addresses associated with search services or advertising.
  • processor 116 may, through use of comparator module 220 , determine that IP address 245 is associated with advertising or search services.
  • target IP list 222 may include a list of URLs or IP addresses associated with advertising or search services.
  • processor 116 may execute identifier generator module 230 .
  • Identifier generator module 230 may generate device identifier 172 that is associated with device 110 .
  • processor 116 may send device identifier communication 170 , including device identifier 172 and session identifier 180 , to processor 120 .
  • Identifier generator rotation module 240 may include instructions to instruct identifier generator module 230 to generate an updated device identifier 172 based on a schedule.
  • the schedule for update may be, for example, once a day, after change of a user login, or upon a reboot of device 110 .
  • identifier generator rotation module 240 may preserve a privacy of a user of device 110 .
  • Device identifier 172 may identify device 110 for a finite amount of time and, as such, may be used to detect repeated communications from device 110 .
  • Device identifier 172 may provide processor 120 with information that communications are sent from the same device. Device identifier 172 may avoid including specific information related to device 110 .
  • Processor 120 may receive communication 160 from processor 116 , including session identifier 180 and IP address 175 .
  • Processor 120 may receive device identifier communication 170 from processor 116 , including device identifier 172 and session identifier 180 .
  • Processor 120 may execute malware correlator module 250 on communication 160 and device identifier communication 170 .
  • Malware correlator module 250 may link communication 160 with device identifier 172 to produce linked communication 280 .
  • Malware correlator module 250 may link communication 160 with device identifier 172 by matching session identifier 180 from both communication 160 and device identifier communication 170 .
  • Processor 120 may execute click fraud detection module 260 on linked communication 280 to produce analyzed communication 185 .
  • Click fraud detection module 260 may analyze linked communication 280 . This analysis may determine if linked communication 280 includes fraudulent clicks. Fraudulent clicks in linked communication 280 may identify fraudulent clicks in communication 160 as linked communication 280 includes communication 160 linked with device identifier 172 .
  • Click fraud detection module 260 may have one or more criteria for determining whether linked communication 280 includes fraudulent clicks. These criteria may include, evaluating patterns and repetition of clicks in linked communication 280 . These criteria may also include a comparison with a collected history of communications which may include identified communications associated with device identifier 172 . In one example, processor 120 may send linked communication 280 , analyzed as containing fraudulent clicks, to other search engines or advertisers to be used for comparison.
  • a system in accordance with the present disclosure may be used to identify fraudulent clicks on a web site received from a mobile device.
  • a mobile device may not have a fixed internet protocol address and click fraud prevention systems typically associate communication sessions with internet protocol addresses to identify machines that repeatedly fake user clicks.
  • a system in accordance with the present disclosure may associate communication sessions from a mobile device, even from multiple IP addresses, by providing a device identifier for the device along with the session identifier.
  • Advertising click fraud such as fake user clicks on advertising located on websites, as well as search engine optimization click fraud, such as clicks to manipulate search engine results, from mobile devices may be identified and prevented.
  • malware for mobile devices may decrease as the benefits for infecting mobile devices may be diminished.
  • a device identifier may provide click fraud detection systems a way to identify a mobile device comparable to how an internet protocol address may be used to identify a desktop machine. The mobile device may then become no more valuable for click fraud than a desktop machine.
  • FIG. 3 illustrates a flow diagram for an example process for implementing device and session identification, arranged in accordance with at least some embodiments presented herein.
  • the process in FIG. 3 could be implemented using, for example, system 100 discussed above.
  • An example process may include one or more operations, actions, or functions as illustrated by one or more of blocks S 2 , S 4 , S 6 and/or S 8 . Although illustrated as discrete blocks, various blocks may be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the desired implementation.
  • Processing may begin at block S 2 “Receive the first communication from the device, the first communication may include requests to interact with a web page, the first communication may include a session identifier associated with the first communication, and the first communication may include an internet protocol address associated with the device.”
  • the processor may receive the first communication from the device.
  • the first communication may include a session identifier associated with the first communication.
  • the session identifier may identify the communication to the processor.
  • the first communication may also include an internet protocol address associated with the device.
  • Processing may continue from block S 2 to block S 4 “Receive a second communication from the device, the second communication may include a device identifier associated with the device, the device identifier may be different from the internet protocol address, and the second communication may include the session identifier.”
  • the processor may receive a second communication from the device.
  • the second communication may include a device identifier associated with the device.
  • the device identifier may be different from the internet protocol address.
  • the device identifier may be generated by a processor in the device in response to the device determining the internet protocol address is on a list.
  • the second communication may also include the session identifier associated with the first communication.
  • Processing may continue from block S 4 to block S 6 “Link the first communication with the device identifier based on the session identifier.”
  • the processor may link the device identifier from the second communication with the first communication.
  • the processor may match the session identifier in the second communication with the session identifier in the first communication to link the device identifier from the second communication with the first communication.
  • Processing may continue from block S 6 to block S 8 “Analyze the first communication with respect to the device identifier to produce an analyzed first communication.”
  • the processor may analyze the first communication with respect to the device identifier.
  • the processor may analyze the first communication with respect to other communications that are associated with the device identifier.
  • FIG. 4 illustrates computer program products 400 effective to implement device and session identification arranged in accordance with at least some embodiments presented herein.
  • Computer program product 400 may include a signal bearing medium 402 .
  • Signal bearing medium 402 may include one or more instructions 404 that, when executed by, for example, a processor, may provide the functionality described above with respect to FIGS. 1-3 .
  • processor 120 may undertake one or more of the blocks shown in FIG. 4 in response to instructions 404 conveyed to the system 100 by the signal bearing medium 402 .
  • signal bearing medium 402 may encompass a computer-readable medium 406 , such as, but not limited to, a hard disk drive (HDD), a Compact Disc (CD), a Digital Video Disk (DVD), a digital tape, memory, etc.
  • signal bearing medium 402 may encompass a recordable medium 408 , such as, but not limited to, memory, read/write (R/W) CDs, R/W DVDs, etc.
  • signal bearing medium 402 may encompass a communications medium 410 , such as, but not limited to, a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communication link, a wireless communication link, etc.).
  • the computer program product 400 may be conveyed to one or more modules of the system 100 by an RF signal bearing medium 402 , where the signal bearing medium 402 is conveyed by a wireless communications medium 410 (e.g., a wireless communications medium conforming with the IEEE 802.11 standard).
  • a wireless communications medium 410 e.g., a wireless communications medium conforming with the IEEE 802.11 standard.
  • FIG. 5 is a block diagram illustrating an example computing device 500 that is arranged to implement device and session identification, arranged in accordance with at least some embodiments presented herein.
  • computing device 500 typically includes one or more processors 504 and a system memory 506 .
  • a memory bus 508 may be used for communicating between processor 504 and system memory 506 .
  • processor 504 may be of any type including but not limited to a microprocessor ( ⁇ P), a microcontroller ( ⁇ C), a digital signal processor (DSP), or any combination thereof.
  • Processor 504 may include one or more levels of caching, such as a level one cache 510 and a level two cache 512 , a processor core 514 , and registers 516 .
  • An example processor core 514 may include an arithmetic logic unit (ALU), a floating point unit (FPU), a digital signal processing core (DSP Core), or any combination thereof.
  • An example memory controller 518 may also be used with processor 504 , or in some implementations memory controller 518 may be an internal part of processor 504 .
  • system memory 506 may be of any type including but not limited to volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.) or any combination thereof.
  • System memory 506 may include an operating system 520 , one or more applications 522 , and program data 524 .
  • Application 522 may include a device and session identification algorithm 526 that is arranged to perform the functions as described herein including those described previously with respect to FIGS. 1-4 .
  • Program data 524 may include device and session identification data 528 that may be useful for device and session identification as is described herein.
  • application 522 may be arranged to operate with program data 524 on operating system 520 such that device and session identification may be provided.
  • This described basic configuration 502 is illustrated in FIG. 5 by those components within the inner dashed line.
  • Computing device 500 may have additional features or functionality, and additional interfaces to facilitate communications between basic configuration 502 and any required devices and interfaces.
  • a bus/interface controller 530 may be used to facilitate communications between basic configuration 502 and one or more data storage devices 532 via a storage interface bus 534 .
  • Data storage devices 532 may be removable storage devices 536 , non-removable storage devices 538 , or a combination thereof. Examples of removable storage and non-removable storage devices include magnetic disk devices such as flexible disk drives and hard disk drives (HDD), optical disk drives such as compact disk (CD) drives or digital versatile disk (DVD) drives, solid state drives (SSD), and tape drives to name a few.
  • Example computer storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data.
  • Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which may be used to store the desired information and which may be accessed by computing device 500 . Any such computer storage media may be part of computing device 500 .
  • Computing device 500 may also include an interface bus 540 for facilitating communication from various interface devices (e.g., output devices 542 , peripheral interfaces 544 , and communication devices 546 ) to basic configuration 502 via bus/interface controller 530 .
  • Example output devices 542 include a graphics processing unit 548 and an audio processing unit 550 , which may be configured to communicate to various external devices such as a display or speakers via one or more A/V ports 552 .
  • Example peripheral interfaces 544 include a serial interface controller 554 or a parallel interface controller 556 , which may be configured to communicate with external devices such as input devices (e.g., keyboard, mouse, pen, voice input device, touch input device, etc.) or other peripheral devices (e.g., printer, scanner, etc.) via one or more I/O ports 558 .
  • An example communication device 546 includes a network controller 560 , which may be arranged to facilitate communications with one or more other computing devices 562 over a network communication link via one or more communication ports 564 .
  • the network communication link may be one example of a communication media.
  • Communication media may typically be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and may include any information delivery media.
  • a “modulated data signal” may be a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
  • communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), microwave, infrared (IR) and other wireless media.
  • RF radio frequency
  • IR infrared
  • the term computer readable media as used herein may include both storage media and communication media.
  • Computing device 500 may be implemented as a portion of a small-form factor portable (or mobile) electronic device such as a cell phone, a personal data assistant (PDA), a personal media player device, a wireless web-watch device, a personal headset device, an application specific device, or a hybrid device that include any of the above functions.
  • a small-form factor portable (or mobile) electronic device such as a cell phone, a personal data assistant (PDA), a personal media player device, a wireless web-watch device, a personal headset device, an application specific device, or a hybrid device that include any of the above functions.
  • PDA personal data assistant
  • Computing device 500 may also be implemented as a personal computer including both laptop computer and non-laptop computer configurations.
  • a range includes each individual member.
  • a group having 1-3 cells refers to groups having 1, 2, or 3 cells.
  • a group having 1-5 cells refers to groups having 1, 2, 3, 4, or 5 cells, and so forth.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

Technologies are generally described for systems, methods, and devices for implementing device and session identification. In some examples, a processor may receive a first communication from a device. The first communication may include requests to interact with a web page, a session identifier associated with the first communication, and a protocol address associated with the device. The processor may receive a second communication from the device. The second communication may include a device identifier associated with the device, where the device identifier may be different from the internet protocol address, and the session identifier. The processor may link the first communication with the device identifier based on the session identifier. The processor may further analyze the first communication with respect to the device identifier to produce an analyzed first communication.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • The present application is a continuation under 35 U.S.C. §120 of U.S. application Ser. No. 14/359,247, filed on May 19, 2014, which is a U.S. National Stage filing under 35 U.S.C. §371 of International Application No. PCT/US13/52305, filed on Jul. 26, 2013. The entirety of U.S. application Ser. No. 14/359,247 and International Application No. PCT/US13/52305 is hereby incorporated by reference.
  • BACKGROUND
  • Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
  • Wireless devices may be used in telecommunications. Wireless devices commonly provide services that may be impractical or impossible with the use of wires. Wireless devices use some form of energy (e.g., radio waves) to transfer information without the use of wires. Wireless devices may transfer information over both short and long distances.
  • SUMMARY
  • According to some examples, methods for analyzing a first communication from a device are generally described. The methods may include a processor receiving the first communication from the device. The first communication may include requests to interact with a web page, a session identifier associated with the first communication, and a protocol address associated with the device. The methods may include receiving a second communication from the device. The second communication may include a device identifier associated with the device, where the device identifier may be different from the internet protocol address, and the session identifier. The methods may include linking the first communication with the device identifier based on the session identifier. The methods may include analyzing the first communication with respect to the device identifier to produce an analyzed first communication.
  • According to other examples, methods for sending a first communication are generally described. The methods may include a device sending the first communication from the device to a processor. The processor may be at a first internet protocol address. The first communication may include requests to interact with a web page, a session identifier associated with the first communication, and a second internet protocol address associated with the device. The methods may include generating a device identifier for the device different from the second internet protocol address. The methods may include sending a second communication from the device to the processor. The second communication may include the device identifier and the session identifier.
  • According to further examples, systems configured to analyze a first communication from a device are generally described. The systems may include the device, where the device includes a first processor, and a second processor configured to be in communication with the device over a network. The first processor may be configured to send the first communication from the device to the second processor. The second processor may be at a first internet protocol address. The first communication may include requests to interact with a web page, a session identifier associated with the first communication, and a second internet protocol address associated with the device. The first processor may generate a device identifier for the device, different from the second internet protocol address. The first processor may send a second communication from the device to the second processor at the first internet protocol address. The second communication may include the device identifier and the session identifier. The second processor may be configured to receive the first communication from the device and receive the second communication from the device. The second processor may link the first communication with the device identifier based on the session identifier. The second processor may analyze the first communication with respect to the device identifier to produce an analyzed first communication.
  • The foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features will become apparent by reference to the drawings and the following detailed description.
  • BRIEF DESCRIPTION OF THE FIGURES
  • The foregoing and other features of this disclosure will become more fully apparent from the following description and appended claims, taken in conjunction with the accompanying drawings. Understanding that these drawings depict only several embodiments in accordance with the disclosure and are, therefore, not to be considered limiting of its scope, the disclosure will be described with additional specificity and detail through use of the accompanying drawings, in which:
  • FIG. 1 illustrates an example system that can be utilized to implement device and session identification;
  • FIG. 2 illustrates the example system of FIG. 1 depicting further details regarding device and session identification;
  • FIG. 3 illustrates a flow diagram for an example process for implementing device and session identification;
  • FIG. 4 illustrates computer program products effective to implement device and session identification; and
  • FIG. 5 is a block diagram illustrating an example computing device that is arranged to implement device and session identification, all arranged in accordance with at least some embodiments presented herein.
  • DETAILED DESCRIPTION
  • In the following detailed description, reference is made to the accompanying drawings, which form a part hereof. In the drawings, similar symbols typically identify similar components, unless context dictates otherwise. The illustrative embodiments described in the detailed description, drawings, and claims are not meant to be limiting. Other embodiments may be utilized, and other changes may be made, without departing from the spirit or scope of the subject matter presented herein. It will be readily understood that the aspects of the present disclosure, as generally described herein, and illustrated in the Figures, can be arranged, substituted, combined, separated, and designed in a wide variety of different configurations, all of which are explicitly contemplated herein.
  • This disclosure is generally drawn, inter alia, to technologies including methods, apparatus, systems, devices, and computer program products related to device and session identification.
  • Briefly stated, technologies are generally described for systems, methods, and devices for implementing device and session identification. In some examples, a processor may receive a first communication from a device. The first communication may include requests to interact with a web page, a session identifier associated with the first communication, and a protocol address associated with the device. The processor may receive a second communication from the device. The second communication may include a device identifier associated with the device, where the device identifier may be different from the internet protocol address, and the session identifier. The processor may link the first communication with the device identifier based on the session identifier. The processor may further analyze the first communication with respect to the device identifier to produce an analyzed first communication.
  • FIG. 1 illustrates an example system 100 that can be utilized to implement device and session identification, arranged in accordance with at least some embodiments presented herein. System 100 may include a device 110, a network 150 and a processor 120. Processor 120 may be operated by, for example, a search engine, an advertiser, an advertising network, or other suitable entity. Processor 120 may include one or more processing elements disposed in one or more housings. Device 110 may include a processor 116 in communication with a memory 112. Memory 112 may include instructions 114. Processor 120 may be in communication with a memory 130 including instructions 140. Device 110 may be a cell phone, tablet device, wearable device such as GOOGLE GLASS, or any other wireless communication device. Network 150 may be a cellular network, a WIFI network, the Internet or any other network.
  • As explained in more detail below, processor 116 may send a communication 160 from device 110 to an internet protocol address (“IP”) associated with processor 120 over network 150. Communication 160 may include a session identifier 180 and an IP address 175 associated with device 110. Session identifier 180 may include any information that may identify communication 160. In some examples, session identifier 180 may include an identifier used in hypertext transfer protocol (HTTP) communications. In an example, communication 160 may relate to a request or requests to access and interact with a web page 125 stored in memory 130. Processor 116 may, by executing instructions 114, determine that communication 160 is associated with a group of services such as advertising or search services. The determination may be made based the IP address or Uniform Resources Locator (“URL”) associated with processor 120. In response to this determination, processor 116 may send a device identifier communication 170 to processor 120 over network 150. Device identifier communication 170 may be generated by an application program interface (“API”) provided by an entity associated with processor 120. Device identifier communication 170 may include session identifier 180 and a device identifier 172. As explained further herein, device identifier 172 may enable processor 120 to perform more detailed analysis on communication 160.
  • Processor 120 may receive communication 160, session identifier 180 and device identifier communication 170. Processor 120 may link device identifier 172 and communication 160. Linking may be performed by matching session identifier 180 in communication 160 with session identifier 180 in device identifier communication 170. Processor 120 may analyze communication 160 linked to device identifier 172 to produce analyzed communication 185. For example, processor 120 may compare analyzed communication 185 with other communications, such as prior analyzed communications, associated with device identifier 172. Processor 120 may also generate analytics for communication 160 linked with device identifier 172 to detect malware induced click fraud. In an example, processor 120 may detect malware induced click fraud when multiple communications are detected as being from the same device when communication 160 includes two or more different IP addresses.
  • For example, communication 160 may include requests for interactions with a web page 125. In an example where device 110 includes malware, communication 160 may include multiple, perhaps fraudulent, clicks and/or requests on web page 125. Malware, such as botnets, may operate on a device, may open a network session, and may produce fraudulent clicks. Such requests may inappropriately result in click fraud or inappropriately increase search engine optimization rankings. In part by linking communication 160 with device identifier communication 170, processor 120 may be able to detect click fraud. Processor 120 may then make a decision whether to disavow a click.
  • FIG. 2 illustrates example system 100 of FIG. 1 depicting further details relating to device and session identification, arranged in accordance with at least some embodiments presented herein. System 100 of FIG. 2 is substantially similar to system 100 of FIG. 1, with additional details. Those components in FIG. 2 that are labeled identically to components of FIG. 1 will not be described again for the purposes of clarity.
  • As depicted, device 110 may include a browser module 210, a comparator module 220, an identifier generator module 230 and/or an identifier generator rotation module 240. Comparator module 220 may include a target internet protocol (“IP”) list 222. Processor 116 may include and/or be in communication with browser module 210, comparator module 220, identifier generator module 230 and/or identifier generator rotation module 240. In an example, comparator module 220 may be a Bloom filter. Identifier generator module 230 may be a random number generator. Processor 120 may include, or be in communication with, malware correlator module 250 and/or click fraud detection module 260. Modules may be implemented in hardware or software.
  • Focusing on device 110 and processor 116, browser module 210 may be used to interface with a website operated by processor 120. For example, browser module 210 may be used to send a request to a URL or IP address associated with processor 120 and/or web page 125. Processor 116 may send communication 160 over network 150 to processor 120. Processor 120 may be associated with an IP address 245.
  • Processor 116 may use comparator module 220 and compare IP address 245, associated with processor 120, with target IP list 222 of IP addresses. Target IP list 222 may identify URLs or IP addresses associated with search services or advertising. In an example, processor 116 may, through use of comparator module 220, determine that IP address 245 is associated with advertising or search services. For example, target IP list 222 may include a list of URLs or IP addresses associated with advertising or search services. In response to the determination that IP address 245 matches at least one entry in target IP list 222, processor 116 may execute identifier generator module 230. Identifier generator module 230 may generate device identifier 172 that is associated with device 110. In response to identifier generator module 230 generating device identifier 172, processor 116 may send device identifier communication 170, including device identifier 172 and session identifier 180, to processor 120.
  • Identifier generator rotation module 240 may include instructions to instruct identifier generator module 230 to generate an updated device identifier 172 based on a schedule. The schedule for update may be, for example, once a day, after change of a user login, or upon a reboot of device 110. Among other benefits, by changing the device identifier based on a schedule, identifier generator rotation module 240 may preserve a privacy of a user of device 110. Device identifier 172 may identify device 110 for a finite amount of time and, as such, may be used to detect repeated communications from device 110. Device identifier 172 may provide processor 120 with information that communications are sent from the same device. Device identifier 172 may avoid including specific information related to device 110.
  • Processor 120 may receive communication 160 from processor 116, including session identifier 180 and IP address 175. Processor 120 may receive device identifier communication 170 from processor 116, including device identifier 172 and session identifier 180. Processor 120 may execute malware correlator module 250 on communication 160 and device identifier communication 170. Malware correlator module 250 may link communication 160 with device identifier 172 to produce linked communication 280. Malware correlator module 250 may link communication 160 with device identifier 172 by matching session identifier 180 from both communication 160 and device identifier communication 170. Processor 120 may execute click fraud detection module 260 on linked communication 280 to produce analyzed communication 185. Click fraud detection module 260, may analyze linked communication 280. This analysis may determine if linked communication 280 includes fraudulent clicks. Fraudulent clicks in linked communication 280 may identify fraudulent clicks in communication 160 as linked communication 280 includes communication 160 linked with device identifier 172.
  • Click fraud detection module 260 may have one or more criteria for determining whether linked communication 280 includes fraudulent clicks. These criteria may include, evaluating patterns and repetition of clicks in linked communication 280. These criteria may also include a comparison with a collected history of communications which may include identified communications associated with device identifier 172. In one example, processor 120 may send linked communication 280, analyzed as containing fraudulent clicks, to other search engines or advertisers to be used for comparison.
  • Among other possible benefits, a system in accordance with the present disclosure may be used to identify fraudulent clicks on a web site received from a mobile device. A mobile device may not have a fixed internet protocol address and click fraud prevention systems typically associate communication sessions with internet protocol addresses to identify machines that repeatedly fake user clicks. A system in accordance with the present disclosure may associate communication sessions from a mobile device, even from multiple IP addresses, by providing a device identifier for the device along with the session identifier. Advertising click fraud, such as fake user clicks on advertising located on websites, as well as search engine optimization click fraud, such as clicks to manipulate search engine results, from mobile devices may be identified and prevented.
  • In another possible benefit, malware for mobile devices may decrease as the benefits for infecting mobile devices may be diminished. A device identifier may provide click fraud detection systems a way to identify a mobile device comparable to how an internet protocol address may be used to identify a desktop machine. The mobile device may then become no more valuable for click fraud than a desktop machine.
  • FIG. 3 illustrates a flow diagram for an example process for implementing device and session identification, arranged in accordance with at least some embodiments presented herein. The process in FIG. 3 could be implemented using, for example, system 100 discussed above. An example process may include one or more operations, actions, or functions as illustrated by one or more of blocks S2, S4, S6 and/or S8. Although illustrated as discrete blocks, various blocks may be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the desired implementation.
  • Processing may begin at block S2 “Receive the first communication from the device, the first communication may include requests to interact with a web page, the first communication may include a session identifier associated with the first communication, and the first communication may include an internet protocol address associated with the device.” At block S2, the processor may receive the first communication from the device. The first communication may include a session identifier associated with the first communication. The session identifier may identify the communication to the processor. The first communication may also include an internet protocol address associated with the device.
  • Processing may continue from block S2 to block S4 “Receive a second communication from the device, the second communication may include a device identifier associated with the device, the device identifier may be different from the internet protocol address, and the second communication may include the session identifier.” At block S4, the processor may receive a second communication from the device. The second communication may include a device identifier associated with the device. The device identifier may be different from the internet protocol address. The device identifier may be generated by a processor in the device in response to the device determining the internet protocol address is on a list. The second communication may also include the session identifier associated with the first communication.
  • Processing may continue from block S4 to block S6 “Link the first communication with the device identifier based on the session identifier.” At block S6, the processor may link the device identifier from the second communication with the first communication. The processor may match the session identifier in the second communication with the session identifier in the first communication to link the device identifier from the second communication with the first communication.
  • Processing may continue from block S6 to block S8 “Analyze the first communication with respect to the device identifier to produce an analyzed first communication.” At block S8, the processor may analyze the first communication with respect to the device identifier. The processor may analyze the first communication with respect to other communications that are associated with the device identifier.
  • FIG. 4 illustrates computer program products 400 effective to implement device and session identification arranged in accordance with at least some embodiments presented herein. Computer program product 400 may include a signal bearing medium 402. Signal bearing medium 402 may include one or more instructions 404 that, when executed by, for example, a processor, may provide the functionality described above with respect to FIGS. 1-3. Thus, for example, referring to system 100, processor 120 may undertake one or more of the blocks shown in FIG. 4 in response to instructions 404 conveyed to the system 100 by the signal bearing medium 402.
  • In some implementations, signal bearing medium 402 may encompass a computer-readable medium 406, such as, but not limited to, a hard disk drive (HDD), a Compact Disc (CD), a Digital Video Disk (DVD), a digital tape, memory, etc. In some implementations, signal bearing medium 402 may encompass a recordable medium 408, such as, but not limited to, memory, read/write (R/W) CDs, R/W DVDs, etc. In some implementations, signal bearing medium 402 may encompass a communications medium 410, such as, but not limited to, a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communication link, a wireless communication link, etc.). Thus, for example, the computer program product 400 may be conveyed to one or more modules of the system 100 by an RF signal bearing medium 402, where the signal bearing medium 402 is conveyed by a wireless communications medium 410 (e.g., a wireless communications medium conforming with the IEEE 802.11 standard).
  • FIG. 5 is a block diagram illustrating an example computing device 500 that is arranged to implement device and session identification, arranged in accordance with at least some embodiments presented herein. In a very basic configuration 502, computing device 500 typically includes one or more processors 504 and a system memory 506. A memory bus 508 may be used for communicating between processor 504 and system memory 506.
  • Depending on the desired configuration, processor 504 may be of any type including but not limited to a microprocessor (μP), a microcontroller (μC), a digital signal processor (DSP), or any combination thereof. Processor 504 may include one or more levels of caching, such as a level one cache 510 and a level two cache 512, a processor core 514, and registers 516. An example processor core 514 may include an arithmetic logic unit (ALU), a floating point unit (FPU), a digital signal processing core (DSP Core), or any combination thereof. An example memory controller 518 may also be used with processor 504, or in some implementations memory controller 518 may be an internal part of processor 504.
  • Depending on the desired configuration, system memory 506 may be of any type including but not limited to volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.) or any combination thereof. System memory 506 may include an operating system 520, one or more applications 522, and program data 524.
  • Application 522 may include a device and session identification algorithm 526 that is arranged to perform the functions as described herein including those described previously with respect to FIGS. 1-4. Program data 524 may include device and session identification data 528 that may be useful for device and session identification as is described herein. In some embodiments, application 522 may be arranged to operate with program data 524 on operating system 520 such that device and session identification may be provided. This described basic configuration 502 is illustrated in FIG. 5 by those components within the inner dashed line.
  • Computing device 500 may have additional features or functionality, and additional interfaces to facilitate communications between basic configuration 502 and any required devices and interfaces. For example, a bus/interface controller 530 may be used to facilitate communications between basic configuration 502 and one or more data storage devices 532 via a storage interface bus 534. Data storage devices 532 may be removable storage devices 536, non-removable storage devices 538, or a combination thereof. Examples of removable storage and non-removable storage devices include magnetic disk devices such as flexible disk drives and hard disk drives (HDD), optical disk drives such as compact disk (CD) drives or digital versatile disk (DVD) drives, solid state drives (SSD), and tape drives to name a few. Example computer storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data.
  • System memory 506, removable storage devices 536 and non-removable storage devices 538 are examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which may be used to store the desired information and which may be accessed by computing device 500. Any such computer storage media may be part of computing device 500.
  • Computing device 500 may also include an interface bus 540 for facilitating communication from various interface devices (e.g., output devices 542, peripheral interfaces 544, and communication devices 546) to basic configuration 502 via bus/interface controller 530. Example output devices 542 include a graphics processing unit 548 and an audio processing unit 550, which may be configured to communicate to various external devices such as a display or speakers via one or more A/V ports 552. Example peripheral interfaces 544 include a serial interface controller 554 or a parallel interface controller 556, which may be configured to communicate with external devices such as input devices (e.g., keyboard, mouse, pen, voice input device, touch input device, etc.) or other peripheral devices (e.g., printer, scanner, etc.) via one or more I/O ports 558. An example communication device 546 includes a network controller 560, which may be arranged to facilitate communications with one or more other computing devices 562 over a network communication link via one or more communication ports 564.
  • The network communication link may be one example of a communication media. Communication media may typically be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and may include any information delivery media. A “modulated data signal” may be a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), microwave, infrared (IR) and other wireless media. The term computer readable media as used herein may include both storage media and communication media.
  • Computing device 500 may be implemented as a portion of a small-form factor portable (or mobile) electronic device such as a cell phone, a personal data assistant (PDA), a personal media player device, a wireless web-watch device, a personal headset device, an application specific device, or a hybrid device that include any of the above functions. Computing device 500 may also be implemented as a personal computer including both laptop computer and non-laptop computer configurations.
  • The present disclosure is not to be limited in terms of the particular embodiments described in this application, which are intended as illustrations of various aspects. Many modifications and variations can be made without departing from its spirit and scope, as will be apparent to those skilled in the art. Functionally equivalent methods and apparatuses within the scope of the disclosure, in addition to those enumerated herein, will be apparent to those skilled in the art from the foregoing descriptions. Such modifications and variations are intended to fall within the scope of the appended claims. The present disclosure is to be limited only by the terms of the appended claims, along with the full scope of equivalents to which such claims are entitled. It is to be understood that this disclosure is not limited to particular methods, reagents, compounds compositions or biological systems, which can, of course, vary. It is also to be understood that the terminology used herein is for the purpose of describing particular embodiments only, and is not intended to be limiting.
  • With respect to the use of substantially any plural and/or singular terms herein, those having skill in the art can translate from the plural to the singular and/or from the singular to the plural as is appropriate to the context and/or application. The various singular/plural permutations may be expressly set forth herein for sake of clarity.
  • It will be understood by those within the art that, in general, terms used herein, and especially in the appended claims (e.g., bodies of the appended claims) are generally intended as “open” terms (e.g., the term “including” should be interpreted as “including but not limited to,” the term “having” should be interpreted as “having at least,” the term “includes” should be interpreted as “includes but is not limited to,” etc.). It will be further understood by those within the art that if a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, as an aid to understanding, the following appended claims may contain usage of the introductory phrases “at least one” and “one or more” to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles “a” or “an” limits any particular claim containing such introduced claim recitation to embodiments containing only one such recitation, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an” (e.g., “a” and/or “an” should be interpreted to mean “at least one” or “one or more”); the same holds true for the use of definite articles used to introduce claim recitations. In addition, even if a specific number of an introduced claim recitation is explicitly recited, those skilled in the art will recognize that such recitation should be interpreted to mean at least the recited number (e.g., the bare recitation of “two recitations,” without other modifiers, means at least two recitations, or two or more recitations). Furthermore, in those instances where a convention analogous to “at least one of A, B, and C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., “a system having at least one of A, B, and C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). In those instances where a convention analogous to “at least one of A, B, or C, etc.” is used, in general, such a construction is intended in the sense one having skill in the art would understand the convention (e.g., “a system having at least one of A, B, or C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). It will be further understood by those within the art that virtually any disjunctive word and/or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase “A or B” will be understood to include the possibilities of “A” or “B” or “A and B.”
  • As will be understood by one skilled in the art, for any and all purposes, such as in terms of providing a written description, all ranges disclosed herein also encompass any and all possible subranges and combinations of subranges thereof. Any listed range can be easily recognized as sufficiently describing and enabling the same range being broken down into at least equal halves, thirds, quarters, fifths, tenths, etc. As a non-limiting example, each range discussed herein can be readily broken down into a lower third, middle third and upper third, etc. As will also be understood by one skilled in the art all language such as “up to,” “at least,” “greater than,” “less than,” and the like include the number recited and refer to ranges which can be subsequently broken down into subranges as discussed above. Finally, as will be understood by one skilled in the art, a range includes each individual member. Thus, for example, a group having 1-3 cells refers to groups having 1, 2, or 3 cells. Similarly, a group having 1-5 cells refers to groups having 1, 2, 3, 4, or 5 cells, and so forth.
  • While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the following claims.

Claims (20)

What is claimed is:
1. A method for identification of a device, performed by a processor at a first internet protocol address, the method comprising:
receiving, from the device:
a first communication that includes a second internet protocol address associated with the device; and
a second communication that includes:
a session identifier that identifies the first communication; and
a device identifier that identifies the device, wherein the device identifier is generated by the device in response to a determination that the first internet protocol address matches at least one entry in a list of internet protocol addresses, and wherein the device identifier is different from the second internet protocol address;
linking, based on the session identifier, the first communication with the device identifier; and
generating, based on the first communication being linked with the device identifier, an identification for the device.
2. The method of claim 1, wherein the first communication further includes a request to interact with a web page, and wherein the interaction relates to clicks on the web page.
3. The method of claim 2, further comprising:
identifying that the clicks on the web page include malware induced fraudulent clicks.
4. The method of claim 1, further comprising:
linking the first communication with the device identifier to form a linked communication; and
determining, based on a specific criterion, whether the linked communication includes fraudulent clicks on a web page.
5. The method of claim 1, further comprising:
analyzing the first communication with respect to the device identifier to produce an analyzed first communication with the identified device; and
comparing the analyzed first communication to one or more previously stored analyzed communications.
6. The method of claim 1, wherein:
the session identifier includes a first session identifier, and
the method further comprises:
receiving from the device:
a third communication that includes a third internet protocol address associated with the device; and
a fourth communication that includes the device identifier and a second session identifier associated with the third communication;
linking, based on the second session identifier, the third communication with the device identifier to generate another identification of the device; and
analyzing the third communication with respect to the first communication and with respect to the device identifier to produce an analyzed third communication with the identified device.
7. The method of claim 1, wherein:
the session identifier includes a first session identifier,
the device identifier includes a first device identifier,
the identification for the device includes a first identification for the device, and
the method further comprises:
receiving from the device:
a third communication that includes a third internet protocol address associated with the device; and
a fourth communication that includes a second session identifier associated with the third communication and a second device identifier different from the first device identifier;
linking, based on the second session identifier, the third communication with the first device identifier to generate a second identification for the device; and
analyzing the third communication with respect to the first communication and with respect to the second device identifier to produce an analyzed third communication.
8. The method of claim 1, further comprising changing the device identifier based on a specified schedule.
9. A method to generate a device identifier for a device, the method comprising:
sending a first communication to a processor at a first protocol address, wherein the first communication includes a session identifier for the first communication and includes a second internet protocol address associated with the device;
comparing the first internet protocol address to a list of internet protocol addresses; and
generating the device identifier for the device in response to a determination that the first internet protocol address matches at least one entry in the list of internet protocol addresses, wherein the device identifier is different from the second internet protocol address.
10. The method of claim 9, wherein generating the device identifier includes generating the device identifier based on an application program interface provided by the processor.
11. The method of claim 9, further comprising:
sending a second communication to the processor, wherein the second communication includes the device identifier and the session identifier, and wherein the session identifier identifies the first communication.
12. The method of claim 9, wherein:
the session identifier is a first session identifier, and the method further comprises:
sending a third communication that includes a third internet protocol address associated with the device, wherein the third internet protocol address is different from the second internet protocol address; and
sending a fourth communication from the device, wherein the fourth communication includes the device identifier and a second session identifier associated with the third communication.
13. The method of claim 9, wherein:
the session identifier includes a first session identifier,
the device identifier includes a first device identifier, and
the method further comprises:
generating a second device identifier different from the first device identifier;
sending a third communication that includes a third internet protocol address associated with the device, wherein the third internet protocol address is different from the second internet protocol address; and
sending a fourth communication from the device, wherein the fourth communication includes the second device identifier and a second session identifier associated with the third communication.
14. The method of claim 9, further comprising changing the device identifier based on a schedule.
15. A system configured to generate an identification for a device, the system comprising:
a processor at a first internet protocol address; and
a machine-readable medium coupled to the processor and having instructions stored thereon, that in response to execution by the processor, cause the processor to perform or control performance of:
obtain, from the device over a network:
a first communication that includes a second protocol address associated with the device; and
a second communication that includes:
a session identifier that identifies the first communication; and
a device identifier that identifies the device, wherein the device identifier is generated by the device in response to a determination that the first internet protocol address matches at least one entry in a list of internet protocol addresses, and wherein the device identifier is different from the second internet protocol address;
link, based on the session identifier, the first communication with the device identifier; and
generate, based on the first communication being linked with the device identifier, the identification for the device.
16. The system of claim 15, wherein:
the session identifier is a first session identifier, and the instructions further cause the processor to perform or control performance of:
obtain, from the device:
a third communication that includes a third internet protocol address associated with the device; and
a fourth communication that includes the device identifier and a second session identifier associated with the third communication;
link, based on the second session identifier, the third communication with the device identifier to generate another identification of the device; and
analyze the third communication with respect to the first communication and with respect to the device identifier to produce an analyzed third communication with the identified device.
17. The system of claim 15, wherein:
the session identifier includes a first session identifier,
the device identifier includes a first device identifier,
the identification for the device includes a first identification for the device, and the instructions further cause the processor to perform or control performance of:
obtain, from the device:
a third communication that includes a third internet protocol address associated with the device; and
a fourth communication that includes a second session identifier associated with the third communication and a second device identifier different from the first device identifier;
link, based on the second session identifier, the third communication with the device identifier to generate a second identification for the device; and
analyze the third communication with respect to the first communication and with respect to the second device identifier to produce an analyzed third communication.
18. The system of claim 15, wherein the first communication further includes a request to interact with a web page, and wherein the interaction relates to clicks on the web page.
19. The system of claim 15, wherein the instructions further cause the processor to perform or control performance of:
change the device identifier based on a schedule.
20. The system of claim 15, wherein the network includes a cellular network.
US15/633,235 2013-07-26 2017-06-26 Device and session identification Abandoned US20170295251A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/633,235 US20170295251A1 (en) 2013-07-26 2017-06-26 Device and session identification

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/US2013/052305 WO2015012865A1 (en) 2013-07-26 2013-07-26 Device and session identification
US201414359247A 2014-05-19 2014-05-19
US15/633,235 US20170295251A1 (en) 2013-07-26 2017-06-26 Device and session identification

Related Parent Applications (2)

Application Number Title Priority Date Filing Date
US14/359,247 Continuation US9692833B2 (en) 2013-07-26 2013-07-26 Device and session identification
PCT/US2013/052305 Continuation WO2015012865A1 (en) 2013-07-26 2013-07-26 Device and session identification

Publications (1)

Publication Number Publication Date
US20170295251A1 true US20170295251A1 (en) 2017-10-12

Family

ID=52393719

Family Applications (2)

Application Number Title Priority Date Filing Date
US14/359,247 Expired - Fee Related US9692833B2 (en) 2013-07-26 2013-07-26 Device and session identification
US15/633,235 Abandoned US20170295251A1 (en) 2013-07-26 2017-06-26 Device and session identification

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US14/359,247 Expired - Fee Related US9692833B2 (en) 2013-07-26 2013-07-26 Device and session identification

Country Status (4)

Country Link
US (2) US9692833B2 (en)
EP (1) EP3025245A4 (en)
KR (1) KR101781311B1 (en)
WO (1) WO2015012865A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190057009A1 (en) * 2017-08-15 2019-02-21 Cognant Llc System and method for detecting fraudulent activity on client devices
US10789357B2 (en) 2017-09-29 2020-09-29 Cognant Llc System and method for detecting fraudulent software installation activity
US10931686B1 (en) 2017-02-01 2021-02-23 Cequence Security, Inc. Detection of automated requests using session identifiers

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9882927B1 (en) * 2014-06-30 2018-01-30 EMC IP Holding Company LLC Periodicity detection
WO2017091672A1 (en) * 2015-11-25 2017-06-01 InAuth, Inc. Systems and methods for cross-channel device binding
US11086948B2 (en) 2019-08-22 2021-08-10 Yandex Europe Ag Method and system for determining abnormal crowd-sourced label
US11710137B2 (en) 2019-08-23 2023-07-25 Yandex Europe Ag Method and system for identifying electronic devices of genuine customers of organizations
RU2757007C2 (en) 2019-09-05 2021-10-08 Общество С Ограниченной Ответственностью «Яндекс» Method and system for detecting malicious actions of certain type
US11108802B2 (en) 2019-09-05 2021-08-31 Yandex Europe Ag Method of and system for identifying abnormal site visits
US11334559B2 (en) 2019-09-09 2022-05-17 Yandex Europe Ag Method of and system for identifying abnormal rating activity
US11128645B2 (en) 2019-09-09 2021-09-21 Yandex Europe Ag Method and system for detecting fraudulent access to web resource
RU2752241C2 (en) 2019-12-25 2021-07-23 Общество С Ограниченной Ответственностью «Яндекс» Method and system for identifying malicious activity of predetermined type in local network

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040039827A1 (en) * 2001-11-02 2004-02-26 Neoteris, Inc. Method and system for providing secure access to private networks with client redirection
US20040160903A1 (en) * 2003-02-13 2004-08-19 Andiamo Systems, Inc. Security groups for VLANs
US20090067440A1 (en) * 2007-09-07 2009-03-12 Chadda Sanjay Systems and Methods for Bridging a WAN Accelerator with a Security Gateway

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004081718A2 (en) 2003-03-10 2004-09-23 Thomson Licensing S.A. An identity mapping mechanism in wlan access control with public authentication servers
KR100619178B1 (en) 2003-03-19 2006-09-05 엔에이치엔(주) Method and apparatus for detecting invalid clicks on the internet search engine
KR100865334B1 (en) 2005-05-24 2008-10-24 노키아 코포레이션 Method and system for session management wherein a client session identifier is used
US7590762B2 (en) * 2005-12-07 2009-09-15 Microsoft Corporation API for network discovery
US7730189B2 (en) 2006-11-22 2010-06-01 Airvana, Inc. Network-initiated session recovery
US7970946B1 (en) * 2007-11-27 2011-06-28 Google Inc. Recording and serializing events
US8194628B2 (en) 2007-12-03 2012-06-05 At&T Intellectual Property I, L.P. Methods and apparatus to enable call completion in internet protocol communication networks
US8799069B2 (en) 2007-12-21 2014-08-05 Yahoo! Inc. Mobile click fraud prevention
US8135850B2 (en) 2008-11-25 2012-03-13 Citrix Systems, Inc. Systems and methods for load balancing real time streaming
WO2010093683A2 (en) * 2009-02-10 2010-08-19 Uniloc Usa, Inc. Web content access using a client device identifier
US8428038B1 (en) 2009-02-13 2013-04-23 U.S. Department Of Energy Communication devices for network-hopping communications and methods of network-hopping communications
US8756684B2 (en) * 2010-03-01 2014-06-17 Emc Corporation System and method for network security including detection of attacks through partner websites
US8869245B2 (en) * 2011-03-09 2014-10-21 Ebay Inc. Device reputation
US9734508B2 (en) * 2012-02-28 2017-08-15 Microsoft Technology Licensing, Llc Click fraud monitoring based on advertising traffic
US9038148B1 (en) * 2012-08-23 2015-05-19 Amazon Technologies, Inc. Secret variation for network sessions
US9026659B2 (en) * 2013-02-05 2015-05-05 Nuance Communications, Inc. Method and apparatus for supporting scalable multi-modal dialog application sessions
US9124629B1 (en) * 2013-02-11 2015-09-01 Amazon Technologies, Inc. Using secure connections to identify systems
JP6024560B2 (en) * 2013-03-28 2016-11-16 富士通株式会社 Information processing apparatus, information processing system, verification control method, and program
US20150170164A1 (en) * 2013-12-14 2015-06-18 Flashback Survey, Inc. Methods and systems for using scanable codes to obtain a service

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040039827A1 (en) * 2001-11-02 2004-02-26 Neoteris, Inc. Method and system for providing secure access to private networks with client redirection
US20040160903A1 (en) * 2003-02-13 2004-08-19 Andiamo Systems, Inc. Security groups for VLANs
US20090067440A1 (en) * 2007-09-07 2009-03-12 Chadda Sanjay Systems and Methods for Bridging a WAN Accelerator with a Security Gateway

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10931686B1 (en) 2017-02-01 2021-02-23 Cequence Security, Inc. Detection of automated requests using session identifiers
US20190057009A1 (en) * 2017-08-15 2019-02-21 Cognant Llc System and method for detecting fraudulent activity on client devices
US11360875B2 (en) * 2017-08-15 2022-06-14 Cognant Llc System and method for detecting fraudulent activity on client devices
US10789357B2 (en) 2017-09-29 2020-09-29 Cognant Llc System and method for detecting fraudulent software installation activity

Also Published As

Publication number Publication date
EP3025245A4 (en) 2017-05-03
KR101781311B1 (en) 2017-09-22
KR20160019095A (en) 2016-02-18
EP3025245A1 (en) 2016-06-01
US20150326674A1 (en) 2015-11-12
US9692833B2 (en) 2017-06-27
WO2015012865A1 (en) 2015-01-29

Similar Documents

Publication Publication Date Title
US20170295251A1 (en) Device and session identification
US10868879B2 (en) Systems and methods for web to mobile app correlation
US9215123B1 (en) DNS requests analysis
KR20130028916A (en) Customizing content displayed for a user based on user preferences of another user
US20150256641A1 (en) Prefetching application data for periods of disconnectivity
US9430350B2 (en) Instance monitor
WO2015081848A1 (en) Socialized extended search method and corresponding device and system
US20220103575A1 (en) System for Extracting, Classifying, and Enriching Cyber Criminal Communication Data
US10909170B2 (en) Method for processing and rendering feed-like based images for mobile devices
US11960834B2 (en) Reader mode-optimized attention application
US20230069970A1 (en) Identifying fraudulent requests for content
US20240154978A1 (en) Identifying fraudulent requests for content
US9584388B2 (en) Domain name server traffic volume estimation
Jain et al. APuML: an efficient approach to detect mobile phishing webpages using machine learning
JP2014513455A (en) Video content output
TWI688870B (en) Method and system for detecting fraudulent user-content provider pairs
CN108011936B (en) Method and device for pushing information
WO2017100010A1 (en) Organization and discovery of communication based on crowd sourcing
US9819690B2 (en) Malicious virtual machine alert generator
US20170366626A1 (en) Method to enrich the browser cookies' attributes by graph propagation
US11263325B2 (en) System and method for application exploration
CN104021143A (en) Method and device for recording webpage access behavior
EP3455805A1 (en) Enhancing contact card based on knowledge graph
US9553882B2 (en) Correlation of advertising content to malicious software
US20210056476A1 (en) Method and system for secure data sharing

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE

AS Assignment

Owner name: CRESTLINE DIRECT FINANCE, L.P., TEXAS

Free format text: SECURITY INTEREST;ASSIGNOR:EMPIRE TECHNOLOGY DEVELOPMENT LLC;REEL/FRAME:048373/0217

Effective date: 20181228