Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEMS AND METHODS FOR CUSTOMIZED CAMERA VIEWS IN VIRTUALIZED ENVIRONMENTS
Document Type and Number:
WIPO Patent Application WO/2018/000085
Kind Code:
A1
Abstract:
Systems and methods for providing customized camera views of virtualized environments are provided herein. In one embodiment a method includes detecting a gameplay event of interest within a virtual gaming environment and displaying a customized camera view of the gameplay event of interest based on user input receiving during traversal of a projectile from a weapon to a target. The customized camera view has a focal point of the projectile.

Inventors:
CERALDI JAMES PAUL (CA)
STEEVES BRAD (CA)
BRANDT BRYAN (CA)
Application Number:
PCT/CA2017/050775
Publication Date:
January 04, 2018
Filing Date:
June 27, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HOTHEAD GAMES INC (CA)
International Classes:
A63F13/525; A63F13/837
Foreign References:
US8385596B22013-02-26
US20030038805A12003-02-27
US20150182856A12015-07-02
Attorney, Agent or Firm:
SMART & BIGGAR (CA)
Download PDF:
Claims:
CLAIMS

What is claimed is:

1. A method, comprising:

detecting discharging of a weapon within a virtual gaming environment during a gameplay event of interest;

providing an interactive user interface that receives user input to create a customized camera viewing experience of the gameplay event of interest involving a target;

receiving the user input from the interactive user interface; and

providing a customized camera view of the gameplay event of interest based on the user input.

2. The method according to claim 1, wherein the interactive user interface includes a camera view of the virtual gaming environment that comprises a bullet directed at the target.

3. The method according to claim 1, wherein if the user input comprises a touch within the interactive user interface, the bullet slows its traversal speed towards the target.

4. The method according to claim 3, wherein if the touch input is removed the bullet increases its traversal speed towards the target.

5. The method according to claim 1, wherein if the user input comprises a swipe action within the interactive user interface, a rotation of camera angle of the customized camera view occurs.

6. The method according to claim 5, wherein the rotation of the camera angle corresponds to a direction of the swipe action.

7. The method according to claim 6, wherein a focal point of the customized camera view is a projectile discharged from the weapon.

8. The method according to claim 1, further comprising displaying an x-ray view of the target as a projectile impacts the target.

9. The method according to claim 1, further comprising detonating explosive props within the virtual gaming environment when the target is impacted.

10. The method according to claim 1, wherein a point of view of the customized camera view is from a perspective of the target.

11. A method, comprising:

detecting discharging of a projectile within a virtual gaming environment during a gameplay event of interest;

providing an interactive user interface that receives user input which can be utilized by a user to alter a camera view of the gameplay event of interest to create a customized camera view during the gameplay event of interest; and

providing a customized camera view of the gameplay event of interest based on the user input, wherein the customized camera view has a focal point of the projectile or a target of the gameplay event of interest.

12. The method according to claim 11, further comprising recording the gameplay event of interest using the customized camera view and sharing the recording on a social network.

13. The method according to claim 11, further comprising selectively changing the customized camera view to any of a rear trailing view, a side tracking view, an orbiting view, all of which have a focal point of the projectile.

14. The method according to claim 11, further comprising selectively changing a color filter of the customized camera view.

15. The method according to claim 11, further comprising placing projectile tracer effect into the customized camera view.

16. The method according to claim 11, further comprising:

receiving projectile path adjustments from the end user during traversal of the projectile to the target during the gameplay event of interest; and

selectively adjusting an impact position of the projectile based on the projectile path adjustments.

17. A method, comprising:

detecting a gameplay event of interest within a virtual gaming environment; and displaying a customized camera view of the gameplay event of interest based on user input receiving during traversal of a projectile from a weapon to a target, wherein the customized camera view has a focal point of the projectile.

18. The method according to claim 17, further comprising imposing a passive tutorial on the customized camera view that instructs a user in adjusting the customized camera view.

19. The method according to claim 18, further comprising allowing the user to perform any of pausing, rewinding, and editing the customized camera view of the gameplay event of interest.

Description:
SYSTEMS AND METHODS FOR CUSTOMIZED CAMERA VIEWS IN

VIRTU ALIZED ENVIRONMENTS

FIELD OF THE INVENTION

[0001] The present technology is directed to video game control systems, and more particularly, but not by limitation, to systems and methods that allow a user to selectively control a gameplay event of interest within a video game by creating customized camera views during an event time.

SUMMARY

[0002] According to some embodiments, the present technology is directed to a method comprising: (a) detecting discharging of a weapon within a virtual gaming environment during a gameplay event of interest; (b) providing an interactive user interface that receives user input to create a customized camera viewing experience of the gameplay event of interest involving a target; (c) receiving the user input from the interactive user interface; and (d) providing a customized camera view of the gameplay event of interest based on the user input.

[0003] According to some embodiments, the present technology is directed to a method comprising: (a) detecting discharging of a projectile within a virtual gaming environment during a gameplay event of interest; (b) providing an interactive user interface that receives user input to alter a camera view of the gameplay event of interest to create a customized camera view; and (c) providing a customized camera view of the gameplay event of interest based on the user input, wherein the customized camera view has a focal point of the projectile or a target of the gameplay event of interest.

[0004] According to some embodiments, the present technology is directed to a method comprising: (a) detecting a gameplay event of interest within a virtual gaming environment; and (b) displaying a customized camera view of the gameplay event of interest based on user input received during traversal of a projectile from a weapon to a target, wherein the customized camera view has a focal point of the projectile.

BRIEF DESCRIPTION OF THE DRAWINGS

[0001] The accompanying drawings, where like reference numerals refer to identical or functionally similar elements throughout the separate views, together with the detailed description below, are incorporated in and form part of the specification, and serve to further illustrate embodiments of concepts that include the claimed disclosure, and explain various principles and advantages of those embodiments.

[0002] The methods and systems disclosed herein have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments of the present disclosure so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.

[0003] FIG. 1 is a schematic diagram of an example system for practicing aspects of the present technology.

[0004] FIG. 2 is a flowchart of a method for providing a customized camera view during a gameplay event of interest.

[0005] FIG. 3 is a flowchart of an example method for providing a customized camera view during a gameplay event of interest.

[0006] FIG. 4 is a flowchart of another example method for providing a

customized camera view during a gameplay event of interest.

[0007] FIG. 5 is a screenshot of an interactive user interface that receives user input to create a customized camera view of a gameplay event of interest.

[0008] FIG. 6 is a screenshot of a customized camera view created from the user input received in FIG. 5.

[0009] FIG. 7 is a schematic diagram of an example computer device that can be utilized to implement aspects of the present technology. [0010] FIG. 8 illustrates a view of a gameplay event of interest that comprises an X- ray view of a target.

[0011] FIGS. 9A and 9B collectively illustrate views of an explosion of a target during a gameplay event of interest.

[0012] FIGS. 10 A and 10B collectively illustrate views of a user selectively altering a projectile path during a gameplay event of interest.

DETAILED DESCRIPTION

[0001] The present disclosure is directed to systems and methods for providing customized camera views within gaming environments. For example, a user selectable camera view can be provided during a gameplay event of interest such as gameplay event of interest within a video game. In one embodiment, the focal point of the camera view is a projectile being discharged from a firearm.

[0002] By way of another example, at the end of a mission, when the player fires a winning shot (or any other shot of interest), a slow-motion camera presentation tracks a projectile leaving the player's weapon, travelling across the map, and hitting a target. This presentation is referred to as the "Shot Cam". While the Shot Cam is active the player can drag their finger (or mouse click) across the screen to adjust the camera's angle. The projectile will remain the camera's focal point.

[0003] In some embodiments, the players can take screen captures of the Shot Cam, and save these to their game device, by tapping a screen capture button displayed during the Shot Cam event.

[0004] According to some embodiments, a passive tutorial teaches players how to adjust the camera's angle. For example, a small graphic at the bottom of the screen, which depicts a finger swiping back and forth, will be displayed during the Shot Cam. After the player successfully performs the swiping action in two or more Shot Cam events the graphic will no longer be displayed - just as an example implementation.

[0005] Additional presentation elements can be implemented in some embodiments. In one embodiment an X-ray mode can be utilized to show internal damage to targets (see FIG. 8). Some embodiments may show the bullet exiting the target.

[0006] In another embodiment the camera angle is provided from the target perspective. In yet another embodiment the gameplay event of interest will comprise a trigger for all explosive props in an environment when the projectile impacts the target (see FIGS. 9A-9B).

[0007] In some embodiments, the user can call out shot types on target death such as head shot, gut shot, heart shot, and so forth.

[0008] The gaming system can also transition targets into "ragdoll" physics when hit, to allow for surprising interactions between the target and the environment. For example, a user can fall off buildings or be thrown into the air by explosions. Another embodiment allows for players or objects to be knocked into other players during explosions.

[0009] Additional environmental projectile related events can be implemented such as dropping things, breaking bridges, knocking over towers, electrocution, and so forth.

[0010] In an example embodiment, a visually enhanced view frame or tracking of multi-kills can occur when projectiles penetrate through multiple targets or multiple targets are thrown into the air by explosions.

[0011] The systems and methods can also improve or enhance visual details of a target such as decaling, to enhance the appearance of the target for a more realistic experience.

[0012] The systems and methods can also implement custom prop interactions, such as when shooting through an enemy sniper's scope a shower of glass and sparks occur. These are merely examples of gameplay event of interest enhancements that are not intended to be limiting but are provided for purposes of illustration.

[0013] According to the present disclosure, as users spend more time with the game, the system can allow the user to unlock or purchase new content that can be seen during a Shot Cam event. Examples of new content can include new kill shot cameras, new enemy death animations, color filters to the kill shot, bullet tracer effects seen during Shot Cams, new bullet skins (which may also dictate which camera angles are selected), text labels and stickers attached to screen captures, target death effects (e.g.,

enhancements of the event of interest), or any combinations thereof.

[0014] In addition to controlling the camera's angle, a "director's suite" of tools will be included, which allow the player to pause, rewind, and edit the Shot Cam

presentation.

[0015] In some embodiments, after viewing the Shot Cam presentation, players have the option to share with other players through various social media platforms such as FACEBOOK™, TWITTER™, INSTAGRAM™, and so forth. In some embodiments, users can share videos of an entire mission, the Shot Cam event itself, videos of a player-edited Shot Cam, and/or the customized screen captures from a Shot Cam. Users can save images for later use in a variety of settings, such as email tags, forum postings, and so forth.

[0016] These and other advantages of the present technology are provided herein with reference to the collective drawings.

[0017] FIG. 1 illustrates an exemplary architecture for practicing aspects of the present technology. The architecture comprises a server system, hereinafter "system 105," that is configured to provide various functionalities, which are described in greater detail throughout this document. Generally the system 105 is configured to communicate with client devices, such as client 115. The client 115 may include, for example, a Smartphone, a laptop, a computer, or other similar computing device. An example of a computing device that can be utilized in accordance with the present technology is described in greater detail with respect to FIG. 7.

[0018] The system 105 may communicatively couple with the client 115 via a public or private network, such as network 120. Suitable networks may include or interface with any one or more of, for instance, a local intranet, a PAN (Personal Area Network), a LAN (Local Area Network), a WAN (Wide Area Network), a MAN (Metropolitan Area Network), a virtual private network (VPN), a storage area network (SAN), a frame relay connection, an Advanced Intelligent Network (AIN) connection, a synchronous optical network (SONET) connection, a digital Tl, T3, El or E3 line, Digital Data Service (DDS) connection, DSL (Digital Subscriber Line) connection, an Ethernet connection, an ISDN (Integrated Services Digital Network) line, a dial-up port such as a V.90, V.34 or V.34bis analog modem connection, a cable modem, an ATM (Asynchronous Transfer Mode) connection, or an FDDI (Fiber Distributed Data Interface) or CDDI (Copper Distributed Data Interface) connection. Furthermore, communications may also include links to any of a variety of wireless networks, including WAP (Wireless Application Protocol), GPRS (General Packet Radio Service), GSM (Global System for Mobile Communication), CDMA (Code Division Multiple Access) or TDMA (Time Division Multiple Access), cellular phone networks, GPS (Global Positioning System), CDPD (cellular digital packet data), RIM (Research in Motion, Limited) duplex paging network, Bluetooth radio, or an IEEE 802.11-based radio frequency network. The network 120 can further include or interface with any one or more of an RS-232 serial connection, an IEEE-1394 (Firewire) connection, a Fiber Channel connection, an IrDA (infrared) port, a SCSI (Small Computer Systems Interface) connection, a USB (Universal Serial Bus) connection or other wired or wireless, digital or analog interface or connection, mesh or Digi ® networking.

[0019] The system 105 generally comprises a processor, 130, a network interface 135, and a memory 140. According to some embodiments, the memory 140 comprises logic (e.g., instructions) 145 that can be executed by the processor 130 to perform various methods. For example, the logic may include a video game client application (hereinafter "gaming application 150"), which is configured to provide the functionalities described in greater detail herein.

[0020] It will be understood that the functionalities described herein, which are attributed to the system 105, may also be executed within the client 115. That is, the client 115 may be programmed to execute the functionalities described herein. In other instances, the system 105 and client 115 may cooperate to provide the functionalities described herein, such that the client 115 is provided with a client-side application that interacts with the system 105 such that the system 105 and client 115 operate in a client/server relationship. Complex computational features may be executed by the server 105, while simple operations that require fewer computational resources may be executed by the client 115, such as data gathering and data display.

[0021] In general, a user interface module 125 may be executed by the system 105 to provide various graphical user interfaces (GUIs) that allow users to interact with the system 105. In some instances, GUIs are generated by execution of the gaming

application 150. Users may interact with the system 105 using, for example, a client 115. The system 105 may generate web-based interfaces for the client.

[0022] The gaming application 150 can be executed locally on a user device (e.g., client 115), such as a Smartphone or tablet device. Alternatively, the gaming application 150 can be accessed by a user device over a network. Thus, the gaming application 150 can be executed on a server and accessed by the user device using a browser application. The server will serve GUIs of the gaming application 150 as web pages of a standard or mobile website.

[0023] In some embodiments, the gaming application 150 is configured to provide the user with a gaming experience, such as a virtual gaming environment where the user participates in gameplay. Examples of virtual gaming environments include, but are not limited to, role playing games, first person shooter games, multiplayer games, sporting games, and so forth.

[0024] According to some embodiments, the gaming application 150 is configured to provide the user with Shot Cam features, which allow the user to create customized camera views of gameplay events of interest, such as the use of a weapon within the game

[0025] FIG. 2 is a flowchart of an example method for providing a customized camera view during a gameplay event of interest. The method can be executed by either the server 105 or the client 115. The following description is illustrative of the method being executed by the client 115. In some embodiments, the method includes detecting 205 discharging of a weapon within a virtual gaming environment during a gameplay event of interest. For example, a gameplay event of interest can include an end of mission or game activity where a target, such as an enemy, is killed by a player. The gameplay event of interest is due to a player shooting the target in a manner that results in the a compelling or interesting animation event (or other similar event) of the target. The compelling/interesting shot could also include an explosion of a target other than a person such as a building or vehicle, just as another example.

[0026] In another embodiment, the Shot Cam can be invoked any time a player kills another player during gameplay. Thus, the gameplay event of interest need not be tied to an end of mission or game event.

[0027] When the client detects that a weapon has been discharged and that such discharging is tied to a kill shot event, the method includes providing 210 an interactive user interface that receives user input to create a customized camera viewing experience of the gameplay event of interest involving a target. An example of an interactive user interface can be found in FIG. 5. The interactive user interface can include an initial view that comprises a camera view of the virtual gaming environment that has a projectile directed at the target. [0028] The interactive user interface comprises a view of the game environment with an input mechanism such as a touch screen input. The coupling of the input mechanism with the view creates the interactive user interface. In one embodiment, the input mechanism is a hand icon that can be selected through touch input or mouse click input.

[0029] Once the interactive user interface is displayed, the method includes receiving 215 user input from the interactive user interface. For example, the user can input swipe, tap, or pinch gestures as user input. Each of these gestures can be associated with a controlling aspect that creates a customized camera view. For example, swiping laterally on the visual icon rotates the camera view around the projectile in a horizontal manner. A longitudinal swipe causes the camera view to rotate around the projectile in a vertical manner. Swipes in between lateral and longitudinal provide camera view rotations that have both horizontal and vertical components. Pinching gestures can create zoom effects in and out relative to the projectile.

[0030] In some embodiments, touch and tap gestures can be utilized to speed up or slow down movement of projectile towards the target. Thus, a player can view the compelling/interesting shot in slow motion, with a customized camera view having a focal point of the projectile.

[0031] Once the user input is received, the method includes providing 220 a customized camera view of the gameplay event of interest based on the user input.

[0032] As mentioned above, in some embodiments, if the user input comprises a click or tap within the interactive user interface, the bullet slows its traversal speed towards the target. If the user input of the click or tap is removed the bullet increases its traversal speed towards the target.

[0033] If the user input comprises a swipe action within the interactive user interface, a rotation of camera angle of the customized camera view occurs. Again, this rotation can include both vertical and horizontal components. The rotation of the camera angle can correspond to a direction of the swipe action. [0034] As illustrated in FIG. 8, the client can display an x-ray view of the target 802 as a projectile 804 approaches the target 802. As illustrated in FIGS. 9A and 9B, the client can detonate explosive props 902 within the virtual gaming environment when impacted with a projectile 904.

[0035] FIG. 3 is flowchart of another example method for providing a customized gameplay event of interest view. According to some embodiments, the method includes detecting 305 discharging of a projectile from a firearm within a virtual gaming

environment during a gameplay event of interest. As mentioned above, this can include a player firing a weapon during game play, where the firing of the weapon is determined by the gaming application to be a gameplay event of interest where the target is killed.

[0036] The method also includes providing 310 an interactive user interface that receives user input to alter a camera view of the gameplay event of interest to create a customized camera view. The method can also comprise providing 315 a customized camera view of the gameplay event of interest based on the user input. To be sure, the customized camera view has a focal point of the projectile or a target of the gameplay event of interest. In some embodiments, the focal point can be changed to a focal point of the target.

[0037] Next, the method comprises recording 320 the gameplay event of interest using the customized camera view and sharing 325 the recording on a social network.

[0038] In some embodiments, the customized camera view can include a rear trailing view, a side tracking view, an orbiting view, all of which have a focal point of the projectile.

[0039] In one embodiment, the method can include selectively changing a color filter of the customized camera view. In another embodiment, the method comprises placing projectile tracer effect into the customized camera view.

[0040] According some embodiments, the method can comprise receiving 330 projectile path adjustments from the end user during traversal of the projectile to the target during the gameplay event of interest. Using the adjustments the method can include gaming application selectively adjusting 335 an impact position of the projectile based on the projectile path adjustments. An example of the effect is illustrated in FIGS. 10A and 10B.

[0041] For example, the user can select the projectile with a tap or double tap action. When the user selects the projectile, the user can drag the projectile into having a different trajectory from its initial trajectory. This can cause the projectile to impact the target at a different location than its initial impact location would have been when the projectile was initially discharged. For example, if the projectile was discharged onto a path where the projectile was to impact the torso of the target, the user can selectively alter the trajectory of the projectile such that it impacts a head of the target instead. In some embodiments, the user is provided with a trajectory line that illustrates a current path of the projectile. This line is selectively adjusted as the user moves the bullet around the gaming environment.

[0042] FIG. 4 illustrates another flowchart of a method for providing a customized camera view of a gameplay event of interest. In this embodiment, the method includes detecting 405 a gameplay event of interest within a virtual gaming environment. The method also includes displaying 410 a customized camera view of the gameplay event of interest based on user input receiving during traversal of a projectile from a weapon to a target. Again, the customized camera view has a focal point of the projectile. The method can optionally include imposing 415 a passive tutorial on the customized camera view that instructs a user in adjusting the customized camera view. In another embodiment, the method includes allowing 420 the user to perform any of pausing, rewinding, and editing the customized camera view of the gameplay event of interest.

[0043] FIG. 5 illustrates an example interactive user interface 500 that comprises a view of a gaming environment 505 after the initiation of a gameplay event of interest. The gameplay event of interest is displayed initially from the view point of a player who has discharged a weapon. A rear view of a projectile 515 is provided. Associated with the projectile 515 is a passive tutorial icon 520 that instructs the user to swipe or otherwise provide tactile input to create a customized camera view.

[0044] For example, the icon 520 includes a hand with extended index finger and a directional arrow. The user can provide their user input onto the interactive user interface 500, and specifically with reference to the passive tutorial icon 520.

[0045] The input is received by the gaming application and translated into camera view customization parameters. For example, if the user swipes horizontally, the camera view will rotate around the bullet 515, changing the camera view from the initial position as illustrated in FIG. 6. In FIG. 6, the view of the gameplay event has changed through rotation of a camera view about a focal point of the bullet. Whereas in FIG. 5, the view is of a left-handed side of a target 525, the view in FIG. 6 is of a right-handed side of the target 525. Collectively, FIGS. 5 and 6 illustrate the process of allowing a user to selectively change a camera view around a focal point during gameplay.

[0046] Again, the user can also utilize input to slow down, speed up, or change the trajectory of the bullet.

[0047] In some embodiments, hardware on the user device can be utilized to control the camera view. By way of example, an accelerometer or other position/orientation sensing device of the client (such as a Smartphone or tablet) can be used to control the camera view. In an example use case, the user is engaged in game play on their mobile device. During game play the user fires a weapon as described above. Once the bullet is traveling to a designated target, the user can tilt the mobile device. The tilt of the mobile device can occur relative to a horizontal plane, a vertical plane, or combinations thereof. As the user tilts the mobile device, the camera view is selectively changed to match. When the user tilts the phone in the horizontal plane the camera view is shifted left or right around the bullet. When the user tilts the phone in the vertical plane the camera view is shifted above or below the bullet. Combinations of horizontal and vertical tilt will allow the user to place the camera view at any angle relative to the bullet and provide a more robust and granular mechanism for selecting camera view position.

[0048] As mentioned above, FIGS. 10A and 10B illustrate the selective changing of a projectile path by a user during an event of interest. For example, FIG. 10A illustrates a projectile 1002 traveling on an initial path 1004, visually illustrated with a tracer path. In this instance the projectile 1002 is traveling approximately at the leg of a target 1006. Referring to FIG. 10B, when the user touches or clicks the display (in this example using a two finger swipe action) of their device during this event, the user can swipe upwards to change the projectile 1002 onto a second path 1008 that is aligned with a head of the target 1006.

[0049] As mentioned above, the interactive display provided to the player occurs when the player discharges a firearm or otherwise activates an instance of the interactive display (such as with a unique set of keystrokes or button sequences).

[0050] As used herein, the term "module", "controller", or "application" may also refer to any of an application-specific integrated circuit ("ASIC"), an electronic circuit, a processor (shared, dedicated, or group) that executes one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality.

[0051] FIG. 7 is a diagrammatic representation of an example machine in the form of a computer system 1, within which a set of instructions for causing the machine to perform any one or more of the methodologies discussed herein may be executed. In various example embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network

environment. The machine may be a robotic construction marking device, a base station, a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a cellular telephone, a portable music player (e.g., a portable hard drive audio device such as an Moving Picture Experts Group Audio Layer 3 (MP3) player), a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term "machine" shall also be taken to include any collection of non-generic machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein. To be sure, the methodologies described herein, while amenable to execution through the hardware described herein, encompass unconventional and non- routine processes which would be executable by any generic computer hardware using well understood hardware and software. That is, the systems described herein are specific purpose computing machines.

[0052] The example computer system 1 includes a processor or multiple processors 5 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both), and a main memory 10 and static memory 15, which communicate with each other via a bus 20. The computer system 1 may further include a video display 35 (e.g., a liquid crystal display (LCD)). The computer system 1 may also include an alpha-numeric input device(s) 30 (e.g., a keyboard), a cursor control device (e.g., a mouse), a voice recognition or biometric verification unit (not shown), a drive unit 37 (also referred to as disk drive unit), a signal generation device 40 (e.g., a speaker), and a network interface device 45. The computer system 1 may further include a data encryption module (not shown) to encrypt data.

[0053] The drive unit 37 includes a computer or machine-readable medium 50 on which is stored one or more sets of instructions and data structures (e.g., instructions 55) embodying or utilizing any one or more of the methodologies or functions described herein. The instructions 55 may also reside, completely or at least partially, within the main memory 10 and/or within the processors 5 during execution thereof by the computer system 1. The main memory 10 and the processors 5 may also constitute machine-readable media.

[0054] The instructions 55 may further be transmitted or received over a network via the network interface device 45 utilizing any one of a number of well-known transfer protocols (e.g., Hyper Text Transfer Protocol (HTTP)). While the machine-readable medium 50 is shown in an example embodiment to be a single medium, the term

"computer-readable medium" should be taken to include a single medium or multiple media (e.g., a centralized or distributed database and/or associated caches and servers) that store the one or more sets of instructions. The term "computer-readable medium" shall also be taken to include any medium that is capable of storing, encoding, or carrying a set of instructions for execution by the machine and that causes the machine to perform any one or more of the methodologies of the present application, or that is capable of storing, encoding, or carrying data structures utilized by or associated with such a set of instructions. The term "computer-readable medium" shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media, and carrier wave signals. Such media may also include, without limitation, hard disks, floppy disks, flash memory cards, digital video disks, random access memory (RAM), read only memory (ROM), and the like. The example embodiments described herein may be implemented in an operating environment comprising software installed on a computer, in hardware, or in a combination of software and hardware.

[0055] Not all components of the computer system 1 are required and thus portions of the computer system 1 can be removed if not needed, such as Input/Output (I/O) devices (e.g., input device(s) 30). One skilled in the art will recognize that the Internet

service may be configured to provide Internet access to one or more computing devices that are coupled to the Internet service, and that the computing devices may include one or more processors, buses, memory devices, display devices, input/output devices, and the like. Furthermore, those skilled in the art may appreciate that the Internet service may be coupled to one or more databases, repositories, servers, and the like, which may be utilized in order to implement any of the embodiments of the disclosure as described herein.

[0056] The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present technology has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the present technology in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the present technology. Exemplary embodiments were chosen and described in order to best explain the principles of the present technology and its practical application, and to enable others of ordinary skill in the art to understand the present technology for various embodiments with various modifications as are suited to the particular use contemplated.

[0057] Aspects of the present technology are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the present technology. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other

programmable data processing apparatus, create means for implementing the

functions/acts specified in the flowchart and/or block diagram block or blocks. [0058] These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.

[0059] The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of

operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.

[0060] The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present

technology. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable

instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions. [0061] In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular embodiments, procedures, techniques, etc. in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced in other embodiments that depart from these specific details.

[0062] Reference throughout this specification to "one embodiment" or "an

embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrases "in one embodiment" or "in an

embodiment" or "according to one embodiment" (or other phrases having similar import) at various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. Furthermore, depending on the context of discussion herein, a singular term may include its plural forms and a plural term may include its singular form. Similarly, a hyphenated term (e.g., "on-demand") may be occasionally interchangeably used with its non-hyphenated version (e.g., "on demand"), a capitalized entry (e.g., "Software") may be interchangeably used with its non-capitalized version (e.g., "software"), a plural term may be indicated with or without an apostrophe (e.g., PE's or PEs), and an italicized term (e.g., "N+l") may be interchangeably used with its non-italicized version (e.g., "N+l"). Such occasional interchangeable uses shall not be considered inconsistent with each other.

[0063] Also, some embodiments may be described in terms of "means for"

performing a task or set of tasks. It will be understood that a "means for" may be expressed herein in terms of a structure, such as a processor, a memory, an I/O device such as a camera, or combinations thereof. Alternatively, the "means for" may include an algorithm that is descriptive of a function or method step, while in yet other embodiments the "means for" is expressed in terms of a mathematical formula, prose, or as a flow chart or signal diagram.

[0064] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/ or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

[0065] It is noted that the terms "coupled," "connected", "connecting," "electrically connected," etc., are used interchangeably herein to generally refer to the condition of being electrically/electronically connected. Similarly, a first entity is considered to be in "communication" with a second entity (or entities) when the first entity electrically sends and/or receives (whether through wireline or wireless means) information signals (whether containing data information or non-data/control information) to the second entity regardless of the type (analog or digital) of those signals. It is further noted that various figures (including component diagrams) shown and discussed herein are for illustrative purpose only, and are not drawn to scale.

[0066] If any disclosures are incorporated herein by reference and such incorporated disclosures conflict in part and/or in whole with the present disclosure, then to the extent of conflict, and/or broader disclosure, and/or broader definition of terms, the present disclosure controls. If such incorporated disclosures conflict in part and/or in whole with one another, then to the extent of conflict, the later-dated disclosure controls.

[0067] The terminology used herein can imply direct or indirect, full or partial, temporary or permanent, immediate or delayed, synchronous or asynchronous, action or inaction. For example, when an element is referred to as being "on," "connected" or "coupled" to another element, then the element can be directly on, connected or coupled to the other element and/or intervening elements may be present, including indirect and/or direct variants. In contrast, when an element is referred to as being "directly connected" or "directly coupled" to another element, there are no intervening elements present. The description herein is illustrative and not restrictive. Many variations of the technology will become apparent to those of skill in the art upon review of this disclosure. For example, the technology is not limited to use for stopping email threats, but applies to any messaging threats including email, social media, instant messaging, and chat.

[0068] While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not

limitation. The descriptions are not intended to limit the scope of the invention to the particular forms set forth herein. To the contrary, the present descriptions are intended to cover such alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims and otherwise appreciated by one of ordinary skill in the art. Thus, the breadth and scope of a preferred embodiment should not be limited by any of the above-described exemplary

embodiments.