U.S. patent application number 14/484216 was filed with the patent office on 2015-03-12 for method for url analysis and electronic device thereof.
The applicant listed for this patent is Samsung Electronics Co., Ltd.. Invention is credited to In-Ji Jin, Hyun-Jung Kim, Sun-Kee Lee, Dong-IL Son, Jin-Gil Yang.
Application Number | 20150074816 14/484216 |
Document ID | / |
Family ID | 52626905 |
Filed Date | 2015-03-12 |
United States Patent
Application |
20150074816 |
Kind Code |
A1 |
Son; Dong-IL ; et
al. |
March 12, 2015 |
METHOD FOR URL ANALYSIS AND ELECTRONIC DEVICE THEREOF
Abstract
A method and apparatus for analyzing a URL included in contents
and displaying the analyzed result is provided. The method includes
detecting a URL from contents, analyzing the URL, and displaying
the analyzed result.
Inventors: |
Son; Dong-IL; (Gyeonggi-do,
KR) ; Kim; Hyun-Jung; (Seoul, KR) ; Lee;
Sun-Kee; (Gyeonggi-do, KR) ; Yang; Jin-Gil;
(Gyeonggi-do, KR) ; Jin; In-Ji; (Gyeonggi-do,
KR) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Samsung Electronics Co., Ltd. |
Gyeonggi-do |
|
KR |
|
|
Family ID: |
52626905 |
Appl. No.: |
14/484216 |
Filed: |
September 11, 2014 |
Current U.S.
Class: |
726/26 ;
709/223 |
Current CPC
Class: |
H04W 12/1208 20190101;
H04L 63/1483 20130101; H04L 63/123 20130101; H04W 12/12
20130101 |
Class at
Publication: |
726/26 ;
709/223 |
International
Class: |
H04L 12/24 20060101
H04L012/24; H04L 29/06 20060101 H04L029/06 |
Foreign Application Data
Date |
Code |
Application Number |
Sep 11, 2013 |
KR |
10-2013-0109099 |
Claims
1. A method in an electronic device, the method comprising:
detecting a URL from contents; analyzing the detected URL; and
displaying the analyzed result.
2. The method of claim 1, wherein the detection of the URL from the
contents comprises verifying whether at least one of "http://",
"https://", "ftp://", "irc://", "gopher://", telnet://, "nntp://",
and "worldwind://" is included in the URL.
3. The method of claim 1, wherein the analysis of the URL comprises
verifying whether the URL is harmful using a harmful site database
stored in a memory or a server.
4. The method of claim 1, further comprising verifying whether the
URL is redirected based on an ACK message to a URL connection
request.
5. The method of claim 4, wherein the analysis of the URL comprises
analyzing the redirected final URL.
6. The method of claim 1, wherein the analysis of the URL comprises
verifying whether a file download is linked to the URL.
7. The method of claim 6, further comprising temporarily
downloading the file and verifying at least one of a name, a type,
a capacity, a made date, and a corrected date of the file.
8. The method of claim 6, further comprising verifying whether the
file is an installable file.
9. The method of claim 8, further comprising verifying an authority
requested when installing the file.
10. The method of claim 9, wherein the verification of the
authority requested when installing the file comprises temporarily
installing the file and verifying the authority requested when
installing the file.
11. An electronic device comprising: a display; and at least one
processor operatively coupled to the display, the at least one
processor configured to: detect a URL from contents; analyze the
detected URL; and display the analyzed result.
12. The electronic device of claim 11, wherein the at least one
processor is configured to verify whether at least one of
"http://", "https://", "ftp://", "irc://", "gopher://", telnet://,
"nntp://", and "worldwind://" is included in the URL to detect the
URL from the contents.
13. The electronic device of claim 11, wherein the at least one
processor is configured to verify whether the URL is harmful based
on a harmful site database stored in at least one memory of the
electronic device or a server.
14. The electronic device of claim 11, wherein the at least one
processor is configured to verify whether the URL is redirected
using an ACK message to a URL connection request.
15. The electronic device of claim 14, wherein the at least one
processor is configured to analyze the redirected final URL.
16. The electronic device of claim 11, wherein the at least one
processor is configured to verify whether a file download is linked
to the URL.
17. The electronic device of claim 16, wherein the at least one
processor is configured to temporarily download the file to the at
least one memory of the electronic device and verify at least one
of a name, a type, a capacity, a made date, and a corrected date of
the file.
18. The electronic device of claim 16, wherein the at least one
processor is configured to verify whether the file is an
installable file.
19. The electronic device of claim 18, wherein the at least one
processor is configured to verify an authority requested when
installing the file.
20. The electronic device of claim 19, wherein the at least one
processor is configured to temporarily install the file and verify
the authority requested when installing the file.
Description
PRIORITY
[0001] The present application is related to and claims the benefit
under 35 U.S.C. .sctn.119(a) of a Korean patent application filed
in the Korean Intellectual Property Office on Sep. 11, 2013 and
assigned Serial No. 10-2013-0109099, the entire disclosure of which
is hereby incorporated by reference.
TECHNICAL FIELD
[0002] The present disclosure relates to a method for analyzing a
uniform resource locator (URL) and an electronic device
thereof.
BACKGROUND
[0003] As information and communication technologies and
semiconductor technologies have been developed, various electronic
devices have been developed into multimedia devices, each of them
for providing various multimedia services. For example, each of the
electronic devices may provide the various multimedia services such
as a broadcasting service, a wireless Internet service, a camera
service, or a music play service.
[0004] When selection of a URL included in contents (e.g.,
documents, messages (short message service (SMS) message,
multimedia message service (MMS) message, and long message service
(LMS) messages), messengers, and mails) by a user of the electronic
device is sensed, the electronic device executes an Internet
program, connects to a corresponding URL, and provides a
corresponding service.
[0005] As described above, when a URL is included in contents,
there is an inconvenience in that the electronic device may not
acquire information about the corresponding URL before directly
connecting to the corresponding URL.
SUMMARY
[0006] To address the above-discussed deficiencies, it is a primary
object to provide an apparatus and method for detecting a URL from
contents, analyzing the URL, and displaying the analyzed result in
an electronic device.
[0007] Another aspect of the present disclosure is to provide an
apparatus and method for verifying whether at least one of
"http://", "https://", "ftp://", "irc://", "gopher://", telnet://,
"nntp://", and "worldwind://" is included in a URL to detect the
URL from contents in an electronic device.
[0008] Another aspect of the present disclosure is to provide an
apparatus and method for verifying whether a URL is harmful using a
harmful site database stored in a memory or a server in an
electronic device.
[0009] Another aspect of the present disclosure is to provide an
apparatus and method for verifying whether a URL is redirected
using an ACKnowledge (ACK) message to a URL connection request in
an electronic device.
[0010] Another aspect of the present disclosure is to provide an
apparatus and method for analyzing a redirected final URL in an
electronic device.
[0011] Another aspect of the present disclosure is to provide an
apparatus and method for verifying whether a file download is
linked to a URL in an electronic device.
[0012] Another aspect of the present disclosure is to provide an
apparatus and method for temporarily downloading a file and
verifying at least one of a name, a type, a capacity, a made date,
and a corrected date of the file in an electronic device.
[0013] Another aspect of the present disclosure is to provide an
apparatus and method for verifying whether a file is an installable
file in an electronic device.
[0014] Another aspect of the present disclosure is to provide an
apparatus and method for verifying an authority requested when
installing a file in an electronic device.
[0015] Another aspect of the present disclosure is to provide an
apparatus and method for temporarily installing a file and
verifying an authority requested when installing the file in an
electronic device.
[0016] In accordance with an aspect of the present disclosure, a
method of controlling a URL in an electronic device is provided.
The method includes detecting a URL from contents, analyzing the
URL, and displaying the analyzed result.
[0017] In accordance with another aspect of the present disclosure,
an electronic device is provided. The electronic device includes at
least one processor, at least one display, at least one memory, and
at least one program which is stored in at least the one memory and
is configured to be executable by at least the one processor,
wherein the at least one processor is configured to detect a URL
from contents, analyze the URL, and display the analyzed
result.
[0018] Before undertaking the DETAILED DESCRIPTION below, it may be
advantageous to set forth definitions of certain words and phrases
used throughout this patent document: the terms "include" and
"comprise," as well as derivatives thereof, mean inclusion without
limitation; the term "or," is inclusive, meaning and/or; the
phrases "associated with" and "associated therewith," as well as
derivatives thereof, may mean to include, be included within,
interconnect with, contain, be contained within, connect to or
with, couple to or with, be communicable with, cooperate with,
interleave, juxtapose, be proximate to, be bound to or with, have,
have a property of, or the like; and the term "controller" means
any device, system or part thereof that controls at least one
operation, such a device may be implemented in hardware, firmware
or software, or some combination of at least two of the same. It
should be noted that the functionality associated with any
particular controller may be centralized or distributed, whether
locally or remotely. Definitions for certain words and phrases are
provided throughout this patent document, those of ordinary skill
in the art should understand that in many, if not most instances,
such definitions apply to prior, as well as future uses of such
defined words and phrases.
BRIEF DESCRIPTION OF THE DRAWINGS
[0019] For a more complete understanding of the present disclosure
and its advantages, reference is now made to the following
description taken in conjunction with the accompanying drawings, in
which like reference numerals represent like parts:
[0020] FIG. 1 is a block diagram illustrating a configuration of an
electronic device according to embodiments of the present
disclosure;
[0021] FIG. 2 is a block diagram illustrating a detailed
configuration of hardware according to embodiments of the present
disclosure;
[0022] FIG. 3A is a block diagram illustrating a detailed
configuration of a programming module according to embodiments of
the present disclosure;
[0023] FIG. 3B is a block diagram illustrating a detailed
configuration of a URL processing unit and a URL information
providing unit according to embodiments of the present
disclosure;
[0024] FIG. 4 is a flowchart illustrating a process of analyzing a
URL included in contents in an electronic device according to
embodiments of the present disclosure;
[0025] FIG. 5 is a flowchart illustrating a process of analyzing a
URL included in a message in an electronic device according to
embodiments of the present disclosure;
[0026] FIG. 6 is a flowchart illustrating a process of analyzing a
redirected URL included in a message in an electronic device
according to embodiments of the present disclosure;
[0027] FIG. 7 is a flowchart illustrating a process of analyzing
whether a URL included in a message is linked to a file download in
an electronic device according to embodiments of the present
disclosure;
[0028] FIG. 8 is a flowchart illustrating a process of analyzing an
authority requested when installing a file linked to a URL included
in a message in an electronic device according to embodiments of
the present disclosure; and
[0029] FIGS. 9A, 9B, 9C, 9D, 9E and 9F are screens illustrating a
process of displaying an analyzed result of a URL included in a
message in an electronic device according to embodiments of the
present disclosure.
DETAILED DESCRIPTION
[0030] FIGS. 1 through 9F, discussed below, and the various
embodiments used to describe the principles of the present
disclosure in this patent document are by way of illustration only
and should not be construed in any way to limit the scope of the
disclosure. Those skilled in the art will understand that the
principles of the present disclosure may be implemented in any
suitably arranged electronic device. Exemplary embodiments of the
present disclosure will be described herein below with reference to
the accompanying drawings. In the following description, well-known
functions or constructions are not described in detail since they
would obscure the disclosure in unnecessary detail.
[0031] An electronic device according to various embodiments of the
present disclosure may be one or a combination of one or more of
various devices which include a smart phone, a tablet personal
computer (PC), a mobile phone, a video phone, an e-book reader, a
desktop PC, a laptop PC, a netbook computer, a personal digital
assistant (PDA), a portable multimedia player (PMP), a moving
picture experts group (MPEG) layer 3 (MP3) player, a mobile medical
device, an electronic bracelet, an electronic necklace, electronic
accessories, a camera, a wearable device, an electronic watch, a
wristwatch, smart home appliances (e.g., a refrigerator, an air
conditioner, a cleaner, a cybot, a television (TV), a digital
versatile disc (DVD) player, an audio, an oven, a microwave oven, a
washing machine, an air cleaner, and an electronic picture frame),
various medical devices (e.g., a magnetic resonance artery (MRA), a
magnetic resonance imaging (MRI), a ct (Computed Tomography), an
imaging apparatus, and a ultrasonic machine), a navigation device,
a global positioning system (GPS) receiver, an event data recorder
(EDR), a flight data recorder (FDR), a set-top box, a TV box (e.g.,
SAMSUNG HOMESYNC, APPLE TV, or GOOGLE TV), an electronic
dictionary, a car infotainment device, electronic equipment for a
ship (e.g., a navigation device for ship and a gyrocompass), an air
electronic device, a security device, electronic clothes, an
electronic key, a camcorder, a game console, a head mounted display
(HMD), a flat panel display, an electronic album, a part of
furniture or a building/structure including a communication
function, an electronic board, an electronic signature input
device, a projector, or any other suitable device. It is obvious to
a person skilled in the art that the electronic device according to
various embodiments of the present disclosure is not limited to the
above-described devices.
[0032] FIG. 1 is a block diagram illustrating configuration of an
electronic device according to one embodiment of the present
disclosure.
[0033] Referring to FIG. 1, the electronic device denoted by 100
includes a bus 110, a processor 120, a memory 130, a user input
module 140, a display module 150, and a communication module
160.
[0034] The bus 110 may be a circuit which may connect components
(e.g., the processor 120, the memory 130, the user input module
140, the display module 150, or the communication module 160)
included in the electronic device 100 with each other and transmit
communication (e.g., a control message) between the components.
[0035] The processor 120 may receive commands from the components
included in the electronic device 100 through the bus 110, decode
the received commands, and perform calculations or data processing
according to the decoded commands.
[0036] The memory 130 stores commands or data which are received
from the processor 120 or other components (e.g., the user input
module 140, the display module 150, and the communication module
160) or are generated by the processor 120 or other components. For
one example, the memory 130 may store harmful site information (URL
or Internet Protocol (IP)). For another example, the memory 130 may
store URL detection information (e.g., "http://", "https://",
"ftp://", "irc://", "gopher://", telnet://, "nntp://", and
"worldwind://") for detecting a URL included in contents. For
another example, the memory 130 may store extension information
(e.g., *.apk, *.jpg, and *.mp3) for detecting whether a file
download is linked to a URL.
[0037] Also, the memory 130 may include at least one programming
module including a kernel 131, a middleware 132, an Application
Programming Interface (API) 133, or an application 134. Herein, at
least the one programming module may be software, firmware,
hardware, or a combination of two or more of these.
[0038] The kernel 131 may control or manage system resources (e.g.,
the bus 110, the processor 120, or the memory 130) used to execute
an operation or function implemented in the other programming
modules (e.g., the middleware 132, the API 133, or the application
134). Also, the kernel 131 may provide an interface which may
access a separate component of the electronic device 100 in the
middleware 132, the API 133, or the application 134 and control or
manage the separate component.
[0039] The middleware 132 may play a role as a go-between such that
the API 133 or the application 134 communicates with the kernel 131
and transmits and receives data. Also, the middleware 132 may
perform load balancing for work requests using a method of
assigning priority which may use a system resource (e.g., the bus
110, the processor 120, or the memory 130) of the electronic device
100 to the work requests received from at least the one application
134.
[0040] The API 133 is an interface in which the application 134 may
control a function provided from the kernel 131 or the middleware
132. The API 133 may include at least one interface or function for
file control, window control, image processing, or text
control.
[0041] The user input module 140 may receive commands or data from
the user and transmit the received commands or data to the
processor 120 or the memory 130 through the bus 110.
[0042] The display module 150 displays videos, images, or data to
the user.
[0043] The communication module 160 may perform communication
between the electronic device 100 and other electronic devices 102
and 104. Herein, the communication module 160 may support a
local-area communication protocol (e.g., Wireless-Fidelity (Wi-Fi),
BlueTooth (BT), Near Field Communication (NFC), or network
communication (e.g., the Internet, a Local Area Network (LAN), a
Wide Area Network (WAN), a telecommunication network, a cellular
network, a satellite network, or a Plain Old Telephone Service
(POTS)).
[0044] Each of the other electronic devices 102 and 104 may be the
same device (e.g., the same type) as the electronic device 100 or a
device which is different (e.g., a different type) from the
electronic device 100.
[0045] FIG. 2 is a block diagram illustrating a detailed
configuration of hardware according to embodiments of the present
disclosure.
[0046] Referring to FIGS. 1 and 2, the hardware denoted by 200 may
include one or more processors 210, a Subscriber Identity Module
(SIM) card 214, a memory 220, a communication module 230, a sensor
module 240, a user input module 250, a display module 260, an
interface 270, an audio codec 280, a camera module 291, a power
management module 295, a battery 296, an indicator 297, and a motor
298. Herein, the hardware 200 may be the electronic device 100
shown in FIG. 1.
[0047] The processor 210 may include one or more Application
Processors (APs) 211 and one or more Communication Processors (CPs)
213. Herein, the processor 210 may be the processor 120 shown in
FIG. 1.
[0048] The AP 211 and the CP 213 shown in FIG. 2 are shown to be
included in the processor 210. However, the AP 211 and the CP 213
may be included in different IC packages, respectively. Also, the
AP 211 and the CP 213 may be included in one IC package. In
addition, the processor 210 may further include a Graphic
Processing Unit (GPU).
[0049] The AP 211 may execute an Operating System (OS) or an
application program, control a plurality of hardware or software
components connected thereto, and process and calculate various
data including multimedia data. Herein, the AP 211 may be
implemented as System on Chip (SoC).
[0050] The CP 213 may perform a function for managing a data link
in communication between other electronic devices connected with an
electronic device including the hardware 200 through a network and
change a communication protocol. Herein, the CP 213 may be
implemented as SoC.
[0051] Also, the CP 213 may perform at least a part of a multimedia
control function.
[0052] Also, the CP 213 may identify and authenticate a terminal in
a communication network using an SIM (e.g., the SIM card 214).
Herein, the CP 213 may provide a service including a voice call, a
video call, a text message, or packet data to a user of the
hardware 200.
[0053] The CP 213 may control data transmission and reception of
the communication module 230.
[0054] In FIG. 2, components of the CP 213, the power management
module 295, or the memory 220 are shown as components which are
separated from the AP 211. However, the AP 211 may be implemented
to include a part (e.g., the CP 213) of the components.
[0055] The AP 211 or the CP 213 may load and process commands or
data received from at least one of a non-volatile memory or another
component connected thereto to a volatile memory. Also, the AP 211
or the CP 213 may store data which are received from at least one
of other components or are generated by at least one of other
components in a non-volatile memory.
[0056] The SIM card 214 may be a card implementing a SIM. The SIM
card 214 may be inserted into a slot formed in a specific position
of the electronic device. The SIM card 214 may include unique
identification information (e.g., an integrated circuit card
identity (ICCID)) or subscriber information (e.g., an international
mobile subscriber identity (IMSI)).
[0057] The memory 220 may include an internal memory 222 or an
external memory 224. Herein, the memory 220 may be the memory 130
shown in FIG. 1.
[0058] The internal memory 222 may include at least one of a
volatile memory (e.g., a dynamic random access memory (DRAM), a
static RAM (SRAM), or a synchronous dynamic RAM (SDRAM)) or a
non-volatile memory (e.g., a one time programmable read only memory
(OTPROM), a PROM, an erasable PROM (EPROM), an electrically
erasable PROM (EEPROM), a mask ROM, a flash ROM, a NAND flash
memory, or a NOR flash memory). Herein, the internal memory 222 may
include a type of a solid state disk (SSD).
[0059] The external memory 224 may include at least one of a
compact flash (CF) card, a secure digital (SD) card, a micro-SD
card, a mini-SD card, an extreme digital (xD) card, or a memory
stick.
[0060] The communication module 230 may include a wireless
communication module 231 or a radio frequency (RF) module 234.
Herein, the communication module 230 may be the communication
module 160 shown in FIG. 1.
[0061] The wireless communication module 231 may provide a wireless
communication function using RFs. For one example, the wireless
communication module 231 may include a Wi-Fi module 233, a BT
module 235, a GPS module 237, or a NFC module 239. For another
example, the wireless communication module 231 may include a
network interface (e.g., a LAN card) or a modem for connecting the
hardware 200 with the network (e.g., the Internet, a LAN, a WAN, a
telecommunication network, a cellular network, a satellite network,
or a POTS).
[0062] The RF module 234 may control transmission and reception of
data including an RF signal or a called electronic signal. For
example, the RF module 234 may include a transceiver, a power
amplifier module (PAM), a frequency filter, or a low noise
amplifier (LNA). Also, the RF module 234 may include components
(e.g., conductors or conducting wires) for transmitting and
receiving electromagnetic waves on a free space in wireless
communication.
[0063] The sensor module 240 may include at least one of a gesture
sensor 240A, a gyro sensor 240B, an atmospheric pressure sensor
240C, a magnetic sensor 240D, an acceleration sensor 240E, a grip
sensor 240F, a proximity sensor 240G, a red, green, and blue (RGB)
sensor 240H, a bio-sensor 240I, a temperature/humidity sensor 240J,
an illumination sensor 240K, and a ultra violet (UV) sensor 240M.
Also, the sensor module 240 may measure a physical quantity or
sense an operation state of the electronic device, and convert the
measured or sensed information into an electric signal. For
example, the sensor module 240 may include an olfactory sensor, an
electromyography (EMG) sensor, an electroencephalogram (EEG)
sensor, an electrocardiogram (ECG) sensor, or a fingerprint sensor.
Also, the sensor module 240 may further include a control circuit
for controlling one or more sensors included therein.
[0064] The user input module 250 may include a touch panel 252, a
pen sensor 254, a key 256, or an ultrasonic input device 258.
Herein, the user input module 250 may be the user input module 140
shown in FIG. 1.
[0065] The touch panel 252 may recognize a touch input by at least
one of a capacitive type, a resistive type, an infrared type, or an
ultrasonic type. Herein, the touch panel 252 may further include a
controller. In case of the capacity type, the touch panel 252 may
recognize not only direct touch input but also proximity touch
input. The touch panel 252 may further include a tactile layer.
Herein, the touch panel 252 may provide a tactile response to the
user.
[0066] The pen sensor 254 may be implemented using the same or
similar method as a method of receiving a touch input of the user
or using a separate sheet for recognition.
[0067] The key 256 may include a keypad or a touch key.
[0068] The ultrasonic input device 258 is a device which may sense
sound waves using a microphone 288 and verify data in the
electronic device through a pen which generates ultrasonic waves.
The ultrasonic input device 258 may perform wireless
recognition.
[0069] The hardware 200 may receive input of the user from an
external device (e.g., the network 102 of FIG. 1, a computer, or
the server 164 of FIG. 1) connected with the communication module
230 using the communication module 230.
[0070] The display module 260 may include a panel 262 or a hologram
264. Herein, the display module 260 may be the display module 150
shown in FIG. 1.
[0071] The panel 262 may be a liquid crystal display (LCD) or an
active matrix-organic light-emitting Diode (AM-OLED). Also, the
panel 262 may be flexibly, transparently, or wearably implemented.
Herein, the panel 262 and the touch panel 252 may be integrated
with each other to constitute one module.
[0072] The hologram 264 shows stereoscopic images on the air using
interference of light.
[0073] In addition, the display module 260 may further include a
control circuit for controlling the panel 262 or the hologram
264.
[0074] The interface 270 may include a high definition multimedia
interface (HDMI) 272, a universal serial bus (USB) interface 274, a
projector 276, a D-sub (subminiature) interface 278, a secure
digital/multimedia Card (SD/MMC) interface, or an infrared data
association (IrDA) interface.
[0075] The audio codec 280 may convert voices and electronic
signals in a two-way direction. For example, the audio codec 280
may convert voice information input or output through a speaker
282, a receiver 284, an earphone 286, or the microphone 288.
[0076] The camera module 291 may capture images and videos. For
example, the camera module 291 may include one or more image
sensors (e.g., a front lens or a rear lens), an image signal
processor (ISP), or a flash LED.
[0077] The power management module 295 may manage power of the
hardware 200. For example, the power management module 295 may
include a power management integrated circuit (PMIC), a charging
IC, or a battery gauge. The PMIC may be mounted in an IC or a SoC
semiconductor.
[0078] A charging method of the power management module 295 may be
classified into a wire charging method or a wireless charging
method.
[0079] The charging IC may charge a battery and prevent inflow of
overvoltage or overcurrent from a charger. Herein, the charging IC
may include a charging IC for at least one of the wire charging
method or the wireless charging method. The wireless charging
method is a magnetic resonance method, a magnetic induction method,
or an electromagnetic wave method. In the wireless charging method,
additional circuits (e.g., a coil loop, a resonance circuit, and a
rectifier circuit) for wireless charging may be added.
[0080] The battery gauge may measure the remaining capacity of the
battery 296, voltage in charging, current, or a temperature.
[0081] The battery 296 may generate electricity and supply power.
For example, the battery 296 may be a rechargeable battery.
[0082] The indicator 297 may indicate a specific state (e.g., a
booting state, a message state, or a charging state) of the
hardware 200 or a part of the hardware (e.g., the AP 211).
[0083] The motor 298 may convert an electric signal into a
mechanical vibration.
[0084] A micro control unit (MCU) may control the sensor module
240.
[0085] In addition, the hardware 200 may further include a
processing device (e.g., a GPU) for supporting a mobile TV. For
example, the processing device for supporting the mobile TV may
process media data according to the standard of digital multimedia
broadcasting (DMB), digital video broadcasting (DVB), or media
flow.
[0086] Names of components of hardware according to one embodiment
of the present disclosure may differ according to kinds of
electronic devices. The hardware according to one embodiment of the
present disclosure may include at least one of the components. Some
components of the hardware may be omitted or the hardware may
further include other additional components. Also, some of the
components of the hardware according to one embodiment of the
present disclosure are combined and configured as one device.
Therefore, the one device may equally perform functions of the
corresponding components before some of the components are
combined.
[0087] FIG. 3A is a block diagram illustrating a detailed
configuration of a programming module according to embodiments of
the present disclosure.
[0088] Referring to FIGS. 1, 2, and 3A, the programming module
denoted by 300 may include a kernel 310, middleware 330, an API
360, or an application 370. The programming module 300 may be
included (e.g., stored) in the electronic device 100 (e.g., the
memory 130) shown in FIG. 1. At least a part of the programming
module 300 may be configured by software, firmware, hardware, or
combination of two or more of them. The programming module 300 may
include an OS which is implemented in the hardware 200 of FIG. 2
and controls resources related to the electronic device 100, or may
include the plurality of applications 370 executed in the OS. For
example, the OS may include Android, iOS, Windows, Symbian, Tizen,
or Bada.
[0089] The kernel 310 may include a system resource manager 311 or
a device driver 312. Herein, the kernel 310 may be the kernel 131
shown in FIG. 1.
[0090] The system resource manager 311 may control, assign, or
collect system resources. For example, the system resource manager
311 may include a process management unit, a memory management
unit, or a file system management unit.
[0091] The device driver 312 may include a display driver, a camera
driver, a Bluetooth driver, a shared memory driver, a USB driver, a
keypad driver, a Wi-Fi driver, an audio driver, or an inter process
communication (IPC) driver.
[0092] The middleware 330 may include a plurality of modules which
are previously implemented to provide functions the application 370
uses in common. Herein, the middleware 330 may be the middleware
132 shown in FIG. 1. Also, the middleware 330 may provide functions
through the API 360 such that the application 370 uses limited
system resources in the electronic device efficiently. For example,
the middleware 330 may include at least one of a runtime library
335, an application manager 341, a window manager 342, a multimedia
manager 343, a resource manager 344, a power manager 345, a
database manager 346, a package manager 347, a connection manager
348, a notification manager 349, a position manager 350, a graphic
manager 351, and a security manager 352.
[0093] The runtime manager 355 may include a library module used by
a compiler to add a new function through a programming language
while the application 370 is executed. For example, the runtime
manager 355 may perform a function for input and output, memory
management, or an arithmetic function.
[0094] The application manager 341 may manage a life cycle of at
least one of the applications 370.
[0095] The window manager 342 may manage graphic user interface
(GUI) resources used on a screen of the electronic device.
[0096] The multimedia manager 343 may ascertain a format necessary
for reproducing various media files and encode or decode a media
file using a codec corresponding to the corresponding format.
[0097] The resource manager 344 may manage source codes of at least
one of the applications 370, and manage resources of the memory 130
shown in FIG. 1 or resources of a storage.
[0098] The power manager 345 may act with a basic input output
system (BIOS), manage a battery or a power source, and provide
power information necessary for an operation.
[0099] The database manager 346 may perform a management operation
to generate, search, or change a database to be used in at least
one of the applications 370. For example, the database manager 346
may manage harmful site information (e.g., a URL or an IP) stored
in the memory 130 shown in FIG. 1.
[0100] The package manager 347 may manage installation or update of
an application distributed by a type of a package file. For
example, when an installable file is downloaded through a URL, the
package manager 347 may install the corresponding file temporarily
in a temporary installation region before being actually
installed.
[0101] The connection manager 348 may manage wireless connection of
Wi-Fi or BT.
[0102] The notification manager 349 may display or notify events of
an arrival message, an appointment, and a proximity notification by
a method which is not disturbed to the user.
[0103] The position manager 350 may manage position information of
the electronic device.
[0104] The graphic manager 350 may manage a graphic effect to be
provided to the user or a UI related to the graphic effect.
[0105] The security manager 352 may provide all security functions
necessary for system security or user authentication.
[0106] In addition, when the electronic device 100 shown in FIG. 1
has a phone function, the middleware 330 may further include a call
manager for managing a voice or video call function of the
electronic device 100.
[0107] The middleware 330 may generate and use a new middleware
module through various function combinations of internal component
modules. The middleware 330 may provide a module which specializes
while being classified according to kinds of OSs to provide a
differentiated function. Also, the middleware 330 may dynamically
delete some old components or add new components. Therefore, some
components described in various embodiments of the present
disclosure may be omitted, other components may be further added,
or components having different names for performing similar
functions may be replaced.
[0108] The API 360 as a set of API programming functions may be
provided as different components according to OSs. Herein, the API
360 may be the API 133 shown in FIG. 1. For example, in case of
Android or iOS, one API set may be provided while being classified
according to platforms. In case of Tizen, two or more API sets may
be provided.
[0109] The application 370 may include a preloaded application or a
third party application. Herein, the application 370 may be the
application 134 shown in FIG. 1.
[0110] The programming module 300 may be implemented as
instructions stored in a storing medium which is readable by at
least a computer. When an instruction may be executed by the one or
more processors 210 shown in FIG. 1, the one or more processors 210
may perform a function corresponding to the instructions. The
storing medium which is readable by the computer may be the memory
260 shown in FIG. 2. Also, a part of the programming module 300 may
be implemented (e.g., executed) by the processor 210. A part of the
programming module 300 may include a module for performing one or
more functions, a program, a routine, an instruction set, or a
process.
[0111] Names of the components of the programming module 300
according to one embodiment of the present disclosure may differ
according to kinds of OSs. Also, the programming module 300
according to one embodiment of the present disclosure may include
one or more components listed above. Some of the components may be
omitted. The programming module 300 according to one embodiment of
the present disclosure may further include additional
components.
[0112] FIG. 3B is a block diagram illustrating detailed
configuration of a URL processing unit and a URL information
providing unit according to embodiments of the present
disclosure.
[0113] As shown in FIGS. 1, 3A, and 3B, an electronic device may
include the URL processing unit denoted by 390 and the URL
information providing unit denoted by 395. Herein, the URL
processing unit 390 may include a URL detecting unit 391, a URL
analyzing unit 392, an Internet connecting unit 393, and a file
processing unit 394. Herein, in accordance with one embodiment of
the present disclosure, respective functions included in the URL
processing unit 390 and the URL information providing unit 395 may
be executed in one module. Or, respective functions included in the
URL processing unit 390 and the URL information providing unit 395
may be independently executed while being classified according to
respective modules. Also, the URL detecting unit 391, the URL
analyzing unit 392, the Internet connecting unit 393, and the file
processing unit 394 may be included in each of the applications 134
and 370 or each of the middleware 132 and 330.
[0114] The URL detecting unit 391 may verify whether a URL is
included in received contents. If it is sensed that the URL is
included in the received contents, the URL detecting unit 391 may
transmit a corresponding URL address to the server 164 through the
Internet connecting unit 394. Herein, when user input for the
corresponding URL is generated, the URL detecting unit 391 may
transmit the URL address to the server 164 through the Internet
connecting unit 393.
[0115] The URL analyzing unit 392 may verify whether the
corresponding URL indicates a harmful site. Also, the URL analyzing
unit 392 may verify whether the corresponding URL is redirected.
Herein, the URL analyzing unit 392 may further include a URL
redirection verifying unit for verifying whether the corresponding
URL is redirected. Transmitting the URL through the Internet
connecting unit 393, the URL analyzing unit 302 may receive an ACK
message for redirection according to the URL. The URL analyzing
unit 302 may extract redirection URL information which replies to
the transmitted URL from the corresponding ACK message.
[0116] The URL information providing unit 395 may provide
additional information based on the result of processing the URL in
the URL processing unit 390 and the result of analyzing the file in
the URL processing unit 390. Herein, the URL information providing
unit 395 may perform a control operation to display information of
the corresponding URL.
[0117] The file analyzing unit 394 may download a file linked to
the URL temporarily and analyze the downloaded file. Herein, the
file analyzing unit 394 may verify whether the file linked to the
URL is an installable file and verify an authority requested when
installing the file.
[0118] FIG. 4 is a flowchart illustrating a process of analyzing a
URL included in contents in an electronic device according to
embodiments of the present disclosure.
[0119] Referring to FIG. 4, the electronic device detects a URL
from contents in operation 401. For example, the electronic device
may verify at least one of "http://", "https://", "ftp://",
"irc://", "gopher://", telnet://, "nntp://", and "worldwind://" is
included in the contents. Herein, the contents may include at least
one of documents, messages (SMS message, MMS messages, and LMS
messages), messengers, and mails.
[0120] Thereafter, the electronic device may analyze the URL
included in the contents in operation 403. For one example, the
electronic device may verify whether the URL is harmful. For
another example, the electronic device may verify whether the URL
is redirected. For another example, the electronic device whether a
file download is linked to the URL. For another example, the
electronic device may verify information of a file linked to the
URL. For another example, the electronic device may verify whether
the file linked to the URL is an installable file. For another
example, the electronic device may verify an authority requested
when installing the file, when the file linked to the URL is an
installable file. For another example, the electronic device may
install the installable file linked to the URL temporarily and
verify an authority requested when installing the file.
[0121] Thereafter, the electronic device displays the result of
analyzing the URL in operation 405. For one example, as shown in
FIG. 9B, the electronic device may display a message indicating
that the URL 907 is not harmful (see reference number 911). For
another example, as shown in FIG. 9C, the electronic device may
display redirected final URL information of the URL 907 (see
reference number 921). For another example, as shown in FIG. 9D,
the electronic device may display whether a file download is linked
to the URL 907 (see reference number 931). For another example, as
shown in FIG. 9E, the electronic device may display information of
a file linked to the URL 907 (see reference number 941). For
another example, as shown in FIG. 9F, the electronic device may
display an authority requested when installing a file, when the
file linked to the URL 907 is an installable file (see reference
number 951).
[0122] Thereafter, the electronic device ends the process of FIG.
4.
[0123] In the above-described embodiment of the present disclosure,
the electronic device detects the URL from the contents, analyzes
the URL, and displays the analyzed result.
[0124] In another embodiment of the present disclosure, as shown in
FIG. 5, a description will be given for a message among contents as
an example.
[0125] FIG. 5 is a flowchart illustrating a process of analyzing a
URL included in a message in an electronic device according to
embodiments of the present disclosure.
[0126] Referring to FIGS. 1, 3A, and 5, the electronic device
receives a message in operation 501. For example, receiving a
message through the communication module 160, the electronic device
may perform a control operation to execute the SMS/MMS application
373 and display a message 903, as shown in FIG. 9A.
[0127] After receiving the message, the electronic device verifies
whether a URL is included in the message in operation 503. For
example, the electronic device may verify whether at least one of
"http://", "https://", "ftp://", "irc://", "gopher://", telnet://,
"nntp://", and "worldwind://" is included in the message. Herein,
the electronic device may include a URL detection module for
verifying whether a URL is included in the message. If the URL is
not included in the message, the electronic device may end the
process of FIG. 5.
[0128] Alternatively, when the URL is included in the message, the
electronic device attempts to access the URL in operation 505. For
example, as shown in FIG. 9A, when a URL (http://short-url.ss) 907
is included in the message 903, the electronic device may receive
an IP address corresponding to the URL (http://short-url.ss) 907
from a domain name server (DNS) and attempt to access the received
IP address. Herein, the electronic device may include an Internet
connecting unit for accessing the URL included in the message.
[0129] Thereafter, the electronic device analyzes the URL in
operation 507. For one example, the electronic device may verify
whether the "http://short-url.ss" 907 is included in harmful site
information stored in the memory 130. For another example, the
electronic device may verify whether an IP address corresponding to
the "http://short-url.ss" 907 is included in harmful site
information stored in the memory 130. For another example, the
electronic device may verify whether the "http://short-url.ss" 907
is included in harmful site information stored in the server 164.
For another example, the electronic device may verify whether an IP
address corresponding to the "http://short-url.ss" 907 is included
in the harmful site information stored in the server 164. Herein,
the electronic device may include a URL analyzing unit for
analyzing a URL.
[0130] Thereafter, the electronic device displays the result of
analyzing the URL in operation 509. For example, the electronic
device may display, as shown in FIG. 9B, information indicating
whether the URL 907 indicates a harmful site (see reference number
911). Herein, the electronic device may include a URL information
providing unit for providing a result of analyzing a URL.
[0131] Thereafter, the electronic device ends the process of FIG.
5.
[0132] FIG. 6 is a flowchart illustrating a process of analyzing a
redirected URL included in a message in an electronic device
according to embodiments of the present disclosure.
[0133] Referring to FIGS. 1, 3A, and 6, the electronic device
receives a message in operation 601. For example, receiving a
message through the communication module 160, the electronic device
may perform a control operation to execute the SMS/MMS application
373 and display, as shown in FIG. 9A, a message 903.
[0134] After receiving the message, the electronic device verifies
whether a URL is included in the message in operation 603. For
example, the electronic device may verify whether at least one of
"http://", "https://", "ftp://", "irc://", "gopher://", telnet://,
"nntp://", and "worldwind://" is included in the message. Herein,
the electronic device may include a URL detection module for
verifying whether a URL is included in the message. If the URL is
not included in the message, the electronic device may end the
process of FIG. 6.
[0135] Alternatively, when the URL is included in the message, the
electronic device attempts to access the URL in operation 605. For
example, as shown in FIG. 9A, when a URL (http://short-url.ss) 907
is included in the message 903, the electronic device may receive
an IP address corresponding to the "http://short-url.ss" 907 from a
DNS and attempt to access the received IP address. Herein, the
electronic device may include an Internet connecting unit for
accessing the URL included in the message.
[0136] After attempting to access the URL, the electronic device
verifies whether a redirection code is received in operation 607.
After requesting an access to the "http://short-url.ss" 907, the
electronic device may verify whether a "302" code is included in a
received ACK message. Also, the electronic device may verify
whether a code, for verifying that it is redirected, is included in
the ACK message, in addition to the "302" code. Herein, the
electronic device may include a URL redirection verifying unit for
verifying whether the URL is redirected.
[0137] If the redirection code is received, the electronic device
receives a final URL in operation 609. For example, when the "302"
code is included in the ACK message of the "http://short-url.ss"
907, the electronic device may verify a final URL address in a
destination item included in the ACK message.
[0138] Thereafter, the electronic device analyzes the URL in
operation 611. For one example, when the redirection code is not
received, the electronic device may verify whether the
"http://short-url.ss" 907 or an IP address corresponding to the
"http://short-url.ss" 907 is included in harmful site information
stored in the memory 130 or the server 164. For another example,
when the redirection code is received, the electronic device may
determine whether a final URL of the "http://short-url.ss" 907 or
an IP address corresponding to the final URL of the
"http://short-url.ss" 907 is included in the harmful site
information stored in the memory 130 or the server 164. Herein, the
electronic device may include a URL analyzing unit for analyzing
the URL.
[0139] Thereafter, the electronic device displays the result of
analyzing the URL in operation 613. For one example, the electronic
device may display, as shown in FIG. 9B, information indicating
whether the URL 907 or the final URL of the URL 907 indicates a
harmful site (see reference number 911). For another example, as
shown in FIG. 9C, the electronic device may display information
about the final URL of the URL 907 (see reference number 921).
Herein, the electronic device may include a URL information
providing unit for providing the result of analyzing the URL.
[0140] Thereafter, the electronic device ends the process of FIG.
6.
[0141] FIG. 7 is a flowchart illustrating a process of analyzing
whether a URL included in a message is linked to a file download in
an electronic device according to embodiments of the present
disclosure.
[0142] Referring to FIGS. 1 and 7, after attempting to access a URL
(operation 505 or 605), the electronic device verifies whether a
file download is linked to the URL in operation 701. For one
example, the electronic device may verify whether a file download
is linked to the URL with reference to a "content-type" included in
a header of Multi-purpose Internet Mail Extensions (MIME). For
another example, the electronic device may verify whether a
"*.previously defined extension" is included in an ACK according to
an URL access. If the file download is not linked to the URL, the
electronic device may analyze the URL in operation 507 or 611.
Also, when the file download is not linked to the URL, the
electronic device may display, as shown in FIG. 9D, information
indicating whether a file download is linked to the URL 907 (see
reference number 931).
[0143] Alternatively, when the file download is linked to the URL,
the electronic device analyzes a file in operation 703. For
example, the electronic device may download a file to a partial
area of the memory 130 temporarily and verify information of the
file. Herein, the information of the file may include at least one
of a name, a type, capacity, a made date, and a corrected date of
the file. Herein, the electronic device may include a file
analyzing unit for analyzing a file.
[0144] Thereafter, the electronic device displays the result of
analyzing the file in operation 705. For example, the electronic
device may display, as shown in FIG. 9E, information of a file
linked to the URL 907 (see reference number 941). Herein, the
electronic device may include a file information providing unit for
providing the result of analyzing the file.
[0145] FIG. 8 is a flowchart illustrating a process of analyzing an
authority requested when installing a file linked to a URL included
in a message in an electronic device according to embodiments of
the present disclosure.
[0146] Referring to FIGS. 1 and 8, after attempting to access a URL
(operation 505 or 605), the electronic device verifies whether a
file download is linked to the URL in operation 801. For one
example, the electronic device may verify whether a file download
is linked to the URL with reference to a "content-type" included in
a header of MIME. For another example, the electronic device may
verify whether a "*.previously defined extension" is included in an
ACK according to an URL access. If the file download is not linked
to the URL, the electronic device may analyze the URL in operation
507 or 611. Also, when the file download is not linked to the URL,
the electronic device may display, as shown in FIG. 9D, information
indicating whether a file download is linked to the URL 907 (see
reference number 931).
[0147] Alternatively, when the file download is linked to the URL,
the electronic device verifies whether the file is an installable
file in operation 803. For example, the electronic device may
verify whether a "*.installable extension" is included in an ACK
according to a URL access. For example, in the case of Android, the
electronic device may verify whether a "*.extension" is included in
an ACK.
[0148] When the file is an installable file, the electronic device
verifies an authority requested when installing the file in
operation 805. For example, the electronic device may download a
file temporarily to a partial area of the memory 130 and verify an
authority requested when installing the file. Herein, the
electronic device may verify information of the file, which
includes at least one of a name, a type, a capacity, a made date,
and a corrected date of the file. For example, in case of a file of
a "file.apk" format, the electronic device may analyze a
"MANIFEST.XML" file included in the "file.apk" file and verify the
authority requested when installing the file. For example, the
authority requested when installing the file in "MANIFEST.XML" may
be expressed such as "<uses-permission
android:name=android.permission.request authority">". Not
verifying the authority requested when installing the file through
"MANIFEST.XML" analysis, the electronic device may install a
downloaded file temporarily and verify the authority requested when
installing the file. Herein, the electronic device may include a
file analyzing unit for analyzing the file.
[0149] Thereafter, the electronic device displays the result of
analyzing the file in operation 807. For one example, the
electronic device may display, as shown in FIG. 9F, information
about an authority requested when installing a file linked to the
URL 907. For another example, the electronic device may display, as
shown in FIG. 9D, information of a file linked to the URL 907 (see
reference number 941). Herein, the electronic device may include a
file information providing unit for providing the result of
analyzing the file.
[0150] Thereafter, the electronic device ends the process of FIG.
8.
[0151] In above-described embodiments of the present disclosure,
the electronic device analyzes the URL when the URL is included in
the contents.
[0152] In other embodiments of the present disclosure, the
electronic device may analyze a URL when selection of the URL
included in contents is sensed.
[0153] In above-described embodiments of the present disclosure,
the electronic device displays the result of analyzing the URL when
the URL is included in the contents.
[0154] In other embodiments of the present disclosure, the
electronic device may display a result of analyzing a URL when
selection of the URL included in contents is sensed.
[0155] As describe above, the user of the electronic device may
verify information corresponding to the URL before the electronic
device is linked to the URL by detecting the URL included in the
contents, analyzing the URL, and displaying the analyzed
result.
[0156] Methods according to claims of the present disclosure or
embodiments described in the specification of the present
disclosure may be implemented as hardware, software, or a
combination of hardware and software.
[0157] When the method is implemented by software, a
computer-readable storage medium for storing one or more programs
(software modules) may be provided. The one or more programs stored
in the computer-readable storage medium are configured for being
executed by one or more processors in an electronic device. The one
or more programs include instructions for allowing an electronic
device to execute the methods according to the claims of the
present disclosure and/or the embodiments described in the
specification of the present disclosure.
[0158] These programs (software module, software) may be stored in
a random access memory (RAM), a non-volatile memory including a
flash memory, a read only memory (ROM), an electrically erasable
programmable ROM (EEPROM), a magnetic disc storage device, a
compact disc-ROM (CD-ROM), a digital versatile disc (DVD) or an
optical storage device of a different type, and a magnetic
cassette. Or, the programs may be stored in a memory configured by
combination of some or all of them. Also, the configured memory may
include a plurality of memories.
[0159] Also, the programs may stored in an attachable storage
device capable of accessing an electronic device through each of
communication networks such as the Internet, an intranet, a local
area network (LAN), a wide LAN (WLAN), and a storage area network
(SAN) or a communication network configured by combination of them.
This storage device may connect to the electronic device through an
external port.
[0160] Also, a separate storage device on a communication network
may connect to a portable electronic device.
[0161] While the present disclosure has been particularly shown and
described with reference to exemplary embodiments thereof, it will
be understood by those skilled in the art that various changes in
form and details may be made therein without departing from the
spirit and scope of the present disclosure as defined by the
appended claims.
* * * * *
References