US20170295251A1 - Device and session identification - Google Patents
Device and session identification Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H04L67/22—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H04L61/2007—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/142—Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers 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
- 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.
- 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.
- 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.
- 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 ofFIG. 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. - 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 anexample 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 adevice 110, anetwork 150 and aprocessor 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 aprocessor 116 in communication with amemory 112.Memory 112 may includeinstructions 114.Processor 120 may be in communication with amemory 130 includinginstructions 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 acommunication 160 fromdevice 110 to an internet protocol address (“IP”) associated withprocessor 120 overnetwork 150.Communication 160 may include asession identifier 180 and anIP address 175 associated withdevice 110.Session identifier 180 may include any information that may identifycommunication 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 aweb page 125 stored inmemory 130.Processor 116 may, by executinginstructions 114, determine thatcommunication 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 withprocessor 120. In response to this determination,processor 116 may send adevice identifier communication 170 toprocessor 120 overnetwork 150.Device identifier communication 170 may be generated by an application program interface (“API”) provided by an entity associated withprocessor 120.Device identifier communication 170 may includesession identifier 180 and adevice identifier 172. As explained further herein,device identifier 172 may enableprocessor 120 to perform more detailed analysis oncommunication 160. -
Processor 120 may receivecommunication 160,session identifier 180 anddevice identifier communication 170.Processor 120 may linkdevice identifier 172 andcommunication 160. Linking may be performed by matchingsession identifier 180 incommunication 160 withsession identifier 180 indevice identifier communication 170.Processor 120 may analyzecommunication 160 linked todevice identifier 172 to produce analyzedcommunication 185. For example,processor 120 may compare analyzedcommunication 185 with other communications, such as prior analyzed communications, associated withdevice identifier 172.Processor 120 may also generate analytics forcommunication 160 linked withdevice 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 whencommunication 160 includes two or more different IP addresses. - For example,
communication 160 may include requests for interactions with aweb page 125. In an example wheredevice 110 includes malware,communication 160 may include multiple, perhaps fraudulent, clicks and/or requests onweb 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 linkingcommunication 160 withdevice 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 illustratesexample system 100 ofFIG. 1 depicting further details relating to device and session identification, arranged in accordance with at least some embodiments presented herein.System 100 ofFIG. 2 is substantially similar tosystem 100 ofFIG. 1 , with additional details. Those components inFIG. 2 that are labeled identically to components ofFIG. 1 will not be described again for the purposes of clarity. - As depicted,
device 110 may include abrowser module 210, acomparator module 220, anidentifier generator module 230 and/or an identifiergenerator rotation module 240.Comparator module 220 may include a target internet protocol (“IP”)list 222.Processor 116 may include and/or be in communication withbrowser module 210,comparator module 220,identifier generator module 230 and/or identifiergenerator 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 clickfraud detection module 260. Modules may be implemented in hardware or software. - Focusing on
device 110 andprocessor 116,browser module 210 may be used to interface with a website operated byprocessor 120. For example,browser module 210 may be used to send a request to a URL or IP address associated withprocessor 120 and/orweb page 125.Processor 116 may sendcommunication 160 overnetwork 150 toprocessor 120.Processor 120 may be associated with anIP address 245. -
Processor 116 may usecomparator module 220 and compareIP address 245, associated withprocessor 120, withtarget 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 ofcomparator module 220, determine thatIP 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 thatIP address 245 matches at least one entry intarget IP list 222,processor 116 may executeidentifier generator module 230.Identifier generator module 230 may generatedevice identifier 172 that is associated withdevice 110. In response toidentifier generator module 230generating device identifier 172,processor 116 may senddevice identifier communication 170, includingdevice identifier 172 andsession identifier 180, toprocessor 120. - Identifier
generator rotation module 240 may include instructions to instructidentifier generator module 230 to generate an updateddevice 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 ofdevice 110. Among other benefits, by changing the device identifier based on a schedule, identifiergenerator rotation module 240 may preserve a privacy of a user ofdevice 110.Device identifier 172 may identifydevice 110 for a finite amount of time and, as such, may be used to detect repeated communications fromdevice 110.Device identifier 172 may provideprocessor 120 with information that communications are sent from the same device.Device identifier 172 may avoid including specific information related todevice 110. -
Processor 120 may receivecommunication 160 fromprocessor 116, includingsession identifier 180 andIP address 175.Processor 120 may receivedevice identifier communication 170 fromprocessor 116, includingdevice identifier 172 andsession identifier 180.Processor 120 may executemalware correlator module 250 oncommunication 160 anddevice identifier communication 170.Malware correlator module 250 may linkcommunication 160 withdevice identifier 172 to produce linkedcommunication 280.Malware correlator module 250 may linkcommunication 160 withdevice identifier 172 by matchingsession identifier 180 from bothcommunication 160 anddevice identifier communication 170.Processor 120 may execute clickfraud detection module 260 on linkedcommunication 280 to produce analyzedcommunication 185. Clickfraud detection module 260, may analyze linkedcommunication 280. This analysis may determine if linkedcommunication 280 includes fraudulent clicks. Fraudulent clicks in linkedcommunication 280 may identify fraudulent clicks incommunication 160 as linkedcommunication 280 includescommunication 160 linked withdevice identifier 172. - Click
fraud detection module 260 may have one or more criteria for determining whether linkedcommunication 280 includes fraudulent clicks. These criteria may include, evaluating patterns and repetition of clicks in linkedcommunication 280. These criteria may also include a comparison with a collected history of communications which may include identified communications associated withdevice identifier 172. In one example,processor 120 may send linkedcommunication 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 inFIG. 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 illustratescomputer 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 ormore instructions 404 that, when executed by, for example, a processor, may provide the functionality described above with respect toFIGS. 1-3 . Thus, for example, referring tosystem 100,processor 120 may undertake one or more of the blocks shown inFIG. 4 in response toinstructions 404 conveyed to thesystem 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 acommunications 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, thecomputer program product 400 may be conveyed to one or more modules of thesystem 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 verybasic configuration 502, computing device 500 typically includes one ormore processors 504 and asystem memory 506. A memory bus 508 may be used for communicating betweenprocessor 504 andsystem 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 onecache 510 and a level twocache 512, aprocessor core 514, and registers 516. Anexample 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. Anexample memory controller 518 may also be used withprocessor 504, or in someimplementations memory controller 518 may be an internal part ofprocessor 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 anoperating system 520, one ormore applications 522, andprogram data 524. -
Application 522 may include a device andsession identification algorithm 526 that is arranged to perform the functions as described herein including those described previously with respect toFIGS. 1-4 .Program data 524 may include device andsession 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 withprogram data 524 onoperating system 520 such that device and session identification may be provided. This describedbasic configuration 502 is illustrated inFIG. 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 betweenbasic configuration 502 and one or moredata storage devices 532 via a storage interface bus 534.Data storage devices 532 may beremovable 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 andnon-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) tobasic configuration 502 via bus/interface controller 530.Example output devices 542 include agraphics 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. Exampleperipheral interfaces 544 include a serial interface controller 554 or aparallel 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. Anexample communication device 546 includes anetwork controller 560, which may be arranged to facilitate communications with one or moreother computing devices 562 over a network communication link via one ormore 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)
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.
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)
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)
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)
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)
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 |
-
2013
- 2013-07-26 EP EP13889955.4A patent/EP3025245A4/en not_active Withdrawn
- 2013-07-26 US US14/359,247 patent/US9692833B2/en not_active Expired - Fee Related
- 2013-07-26 WO PCT/US2013/052305 patent/WO2015012865A1/en active Application Filing
- 2013-07-26 KR KR1020167000378A patent/KR101781311B1/en active IP Right Grant
-
2017
- 2017-06-26 US US15/633,235 patent/US20170295251A1/en not_active Abandoned
Patent Citations (3)
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)
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 |