Methods, systems, and media for access control of digital activities
By managing activity identifiers and passwords on the server side, identifying the currently accessing device and switching access permissions, the problem of electronic tickets being used by multiple devices is solved, and effective access control for digital activities is achieved.
Patent Information
- Application Number
- CN202110865670.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2016-08-02
- Filing Date
- 2017-07-28
- Publication Date
- 2026-01-02
- Estimated Expiration
- 2037-07-28
AI Technical Summary
In existing systems, electronic tickets for digital events can be used by multiple devices, making it difficult to restrict access control to a single user.
Access control for digital activities is achieved by associating an activity identifier with a password and identifying the currently accessing device on the server side, allowing access by one device to block access by another device.
Effective access control for digital activities has been implemented, ensuring that electronic tickets are restricted to authorized devices and preventing access by unauthorized devices.
Smart Images

Figure CN113722751B_ABST
Abstract
Description
[0001] This application is a divisional application of Chinese Patent Application No. 201780048222.2, filed February 1, 2019, entitled "Access Control for a Digital Event," which claims priority to and the benefit of U.S. Patent Application No. 15 / 226,679, filed August 2, 2016, entitled "Access Control for a Digital Event," which is incorporated herein in its entirety.
[0002] Cross Reference to Related Applications
[0003] This application claims priority to and the benefit of U.S. Patent Application No. 15 / 226,679, filed August 2, 2016, entitled "Access Control for a Digital Event," which is incorporated herein in its entirety. TECHNICAL FIELD
[0004] Embodiments discussed in this disclosure relate to access control for a digital event. BACKGROUND
[0005] Ticket market websites provide users with the ability to purchase tickets to events. The tickets are used to reserve a seat and / or attend an event, such as a sporting event, a concert, a theatrical event, and other entertainment events. On some websites, users search for available tickets and decide which, if any, of the available tickets the user is interested in and that offer the best value. To allow the user to make an informed decision about which tickets to obtain, the ticket market website can provide information about the venue at which the event is taking place.
[0006] The subject matter claimed herein is not limited to implementations that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is provided merely for illustrating one example technology area where some implementations described herein can be practiced. SUMMARY
[0007] A method of access control for a digital event is disclosed. The method can include receiving a request from a first client device to purchase an electronic ticket to a digital event. The method can also include sending an event identifier to the first client device. The method can further include receiving an access request to access the digital event, where the access request includes the event identifier and a password. The method can include identifying a second client device that is currently accessing the digital event. The method can also include sending a message to the second client device indicating the access request received from the first client device. The method can include receiving authorization from the second client device to initiate a transfer of access to the digital event from the second client device to the first client device. BRIEF DESCRIPTION OF DRAWINGS
[0008] The example embodiments will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
[0009] Figure 1 An example operating environment in which an online ticket marketplace can be implemented is shown;
[0010] Figure 2 An example of an interactive visual element is shown;
[0011] Figure 3 A flowchart of an example computer-implemented method for digital event access control is shown;
[0012] Figure 4 A flowchart of an example computer-implemented method for determining whether to switch a digital media stream to a requesting device is shown; and
[0013] Figure 5 A diagrammatic representation of a machine in the example form of a computer device is shown in which a set of instructions can be executed to cause the machine to perform any one or more of the methodologies discussed herein, each of which is according to one or more embodiments of the present disclosure. DETAILED DESCRIPTION
[0014] Some embodiments of the present disclosure can relate to providing access control to a digital event via an online ticket marketplace. In existing systems, electronic tickets to a digital event can be sold and distributed as a uniform resource identifier (e.g., a uniform resource locator (URL)), but the URL can be used by many devices, thereby circumventing any intent that the electronic ticket be limited to a single user.
[0015] Aspects of the present disclosure address these and other deficiencies of existing systems by providing access control to a digital event via an online ticket marketplace. When an electronic ticket is sold for a digital event, a server can associate an event identifier with a password that can later be used to access the digital event. A client device can attempt to access the digital event using the event identifier and the password. When another client device is already accessing the digital event, it can be determined which device is authorized to access the digital event. In some cases, a switch can be initiated to stop one device from accessing the digital event while allowing the other client device to access the digital event.
[0016] In at least one embodiment, a server-based method can include receiving a request from a first client device to purchase an electronic ticket for a digital event. The method can also include sending an event identifier to the first client device. The method can further include receiving an access request to access the digital event, where the access request includes the event identifier and a password. The method can include identifying a second client device that is currently accessing the digital event. The method can also include sending a message to the second client device indicating the access request received from the first client device. The method can include receiving authorization from the second client device to initiate a transfer of access to the digital event from the second client device to the first client device.
[0017] Figure 1 An example operating environment 100 in which an online ticket marketplace (hereinafter “marketplace”) can be implemented is shown. In operating environment 100, users can interact with their client devices 102 to search for and / or obtain electronic tickets, which can be listed on a site hosted or controlled by a system server 140. The electronic tickets can be for a digital event that occurs at a venue. A venue can include any location where an event can occur or be performed. A venue can include a physical venue (e.g., a stadium, arena, theater, parking lot, amusement park) or a digital venue (e.g., a video game). A digital event can include a digital representation of any type of event for which a ticket is used for entry. Some examples of digital events are sporting events, concerts, plays, movies, festivals, video game matches or competitions, etc. A digital event can include a live video or a previously recorded video of a tangible or intangible event. A tangible event can refer to an entity event that can occur in the real world, such as a sporting event, a concert, etc. For a tangible event, a camera can be positioned to record the tangible event. The recording of the tangible event can be streamed live, delayed, and / or available for later viewing. In at least one embodiment, the recording of the tangible event can be recorded and provided as a virtual reality event, which can provide a simulation of being present at the tangible event. An intangible event can refer to an event that occurs in a virtual world, such as in a video game, a software-based environment, etc. As will be described, the system server 140 can provide access control to any type of digital event.
[0018] Figure 1 The operating environment 100 can include the system server 140, the client devices 102, the network 122, a venue information database 110, and a user data database 115. The system server 140, the client devices 102, and the venue information database 110 and the user data database 115 (collectively, environment components) can communicate information and data via the network 122. For example, one or more of the environment components can communicate information and data related to ticket transactions, such as previews, user inputs, and event information. Each of the environment components is briefly described in the following paragraphs.
[0019] Network 122 can include a wired network, a wireless network, or any combination thereof. Network 122 can include any suitable type of one or more networks including a star configuration, token ring configuration, or other configurations. Network 122 can include a local area network (LAN), a wide area network (WAN), e.g., the Internet, and / or other interconnected data paths that a plurality of devices can communicate over. In some embodiments, network 122 can include a peer-to-peer network. Network 122 can also couple to or include portions of a telecommunications network that can implement data communication in accordance with a variety of different communication protocols. In some embodiments, network 122 includes Bluetooth communication networks and / or cellular communication networks, including sending and receiving data via short messaging service (SMS), multimedia messaging service (MMS), hypertext transfer protocol (HTTP), direct data connection, wireless application protocol (WAP), email, etc.
[0020] A user can include an individual or entity that can interface with client device 102 to participate in ticket searching, ticket transactions, or accessing digital events. For example, a user can include a person that wants to purchase an electronic ticket to access a particular digital event. A user can be associated with client device 102.
[0021] Client device 102 can include a computing device that can include a processor, memory, and network communication capabilities. Client device 102 can be configured to communicate with one or more other environmental components via network 122. Some examples of client device 102 include a laptop computer, a desktop computer, a tablet computer, a mobile phone, a smart phone, a personal digital assistant (“PDA”), a mobile email device, a portable gaming console, a portable music player, smart wearable technology, virtual reality devices, augmented reality devices, or any other applicable electronic device capable of accessing network 122 directly or indirectly.
[0022] Client device 102 can include user input device 106, display device 118, and digital event manager 105. User input device 106 can include one or more hardware configured to notify a user of client device 102 of communications and / or present communications to the user. In these and other embodiments, user input device 106 can also be configured to receive input from a user of client device 102. In some embodiments, user input device 106 can include one or more of the following: a speaker, a microphone, a display device (e.g., display device 118), a joystick, a directional key (d-pad), a trigger input, a motion sensor, an eye tracker, a trackpad, a thermal input capture device, a keyboard, and a touchscreen, among other hardware devices.
[0023] Display device 118 can include a surface on which information and data is displayed to a user. The surface can be substantially planar or curved. Additionally, in some embodiments, at least a portion of user input can be received by display device 118. Some examples of display device 118 can include a light emitting diode (LED) display, a liquid crystal display (LCD), a thin-film transistor (TFT) LCD, an in-plane switching (IPS) LCD, a resistive touchscreen LCD, a capacitive touchscreen LCD, an organic LED (OLED), an active matrix OLED, etc. In at least one embodiment, display device 118 is configured to present virtual reality or augmented reality data including digital activities.
[0024] Digital activity manager 105 can be configured to manage viewing of digital activities. In at least one embodiment, digital activity manager 105 can implement market interactions with system server 140 that facilitate the purchase of electronic tickets that can be used to access digital activities. Digital activity manager 105 can also include access control components for digital activities. For example, a user can purchase an electronic ticket for a sporting event, and digital activity manager 105 can implement access control for the sporting event to restrict other people from using the electronic ticket purchased by the user to access the sporting event. In at least one embodiment, devices authorized by the user can be permitted to access the sporting event, while devices not authorized by the user can be restricted or constrained from accessing the sporting event.
[0025] Digital activity manager 105 can be implemented using hardware including a processor, microprocessor (e.g., to perform or control performance of one or more operations), field programmable gate array (FPGA), or application specific integrated circuit (ASIC). In some other cases, a combination of hardware and software can be used to implement digital activity manager 105. Implementation in software can include rapid activation and deactivation of one or more transistors or transistor elements, such as can be included in the hardware of a computing system (e.g., client device 102). Additionally, software-defined instructions can operate on information within transistor elements. Implementation of software instructions can at least temporarily reconfigure electronic pathways and transform computing hardware.
[0026] System server 140 can include a hardware server that includes a processor, memory, and network communication capabilities. In the illustrated implementation, system server 140 is configured to communicate with other environment components via network 122. System server 140 can include activity access manager 104.
[0027] The event access manager 104 can generate electronic tickets for digital events and can limit or restrict access to digital events. The event access manager 104 can use event identifiers, passwords, and / or device identifiers (e.g., UUTD) to limit or restrict access to digital events, as further described below. The event access manager 104 can be implemented using hardware including a processor, microprocessor (e.g., to perform or control performance of one or more operations), FPGA, or ASIC. In some other cases, the event access manager 104 can be implemented using a combination of hardware and software. Implementation in software can include rapid activation and deactivation of one or more transistors or transistor elements, such as can be included in the hardware of a computing system (e.g., system server 140). Additionally, software-defined instructions can operate on information within the transistor elements. Implementation of software instructions can at least temporarily reconfigure electronic pathways and transform computing hardware.
[0028] The venue information database 110 and the user data database 115 can each include a memory (e.g., random access memory), a cache, a drive (e.g., a hard drive), a flash drive, a database system, or other type of component or device capable of storing data. The venue information database 110 and the user data database 115 can each also include multiple storage components (e.g., multiple drives or multiple databases) that can also span multiple computing devices (e.g., multiple server computers).
[0029] The venue information database 110 can store venue information about one or more particular events occurring at a venue. For example, the event information includes one or more ticket prices for one or more seat sections or from one or more seats of a venue, ticket availability for one or more seat sections or for one or more seats of a venue, weather data for one or more seats or seat sections of a venue at any given time, and the like.
[0030] The venue information database 110 can also include two- or three- dimensional digital images, digital videos, previews, and digital maps of a venue. The digital images can be non-interactive or fixed views from one or more seats and / or views from one or more seat sections of a venue. The digital images can include portions of a computer-aided design (CAD) model of a venue and / or actual photographic images of a venue.
[0031] The preview can include portions of the CAD model and / or actual photographic images or video of the venue. In embodiments where the preview includes photographic images or video of the venue, the client device 102 can function as a viewfinder through which the venue is viewed. The photographic images or video displayed on the client device 102 can be augmented by superimposing information on the photographic images or video. The information superimposed on the photographic images or video can include information overlays (e.g., seat prices, weather data, seat availability, advertisements).
[0032] The user data database 115 can store information related to users, such as user profiles, purchase history, payment methods and accounts, event identifiers of purchased electronic tickets, passwords, user device information, and the like.
[0033] In operation, the digital event manager 105 can present digital event information related to a digital event on the display device 118 of the client device 102. The digital event information can include the name of the event, the expected content of the digital event, the price of an electronic ticket for the digital event, and the like. The digital event information can also include a digital map (described below), which can include a representation of the venue. For example, the digital map can depict the seating sections and / or seats of the venue arranged for a particular event.
[0034] The digital event manager 105 can receive user input via the user input device 106 for purchasing an electronic ticket for a digital event. For digital events having more than one available viewpoint, the digital event manager 105 can receive user input via the user input device 106 for selecting a seat or location in the venue.
[0035] When a user is considering purchasing a ticket, the user can request a preview of the event, which can be provided to the client device 102 from the system server 140 or from the venue information database 110 via the network 122. The preview can depict a seat view from a particular location in the venue (e.g., a seating section, a particular seat). The preview can include a digital image or video that includes a digital representation of the content that can be viewed while sitting in the seating section or seat. The image can include a 360-degree image or video, which can be navigated by the user via the client device 102. As used in this disclosure, the term “360-degree image” includes image data from a vertical angle of view and a horizontal angle of view that is greater than about 300 degrees for a particular point. In at least one embodiment, the digital event can be ongoing, and the preview can be a limited live stream of the ongoing digital event. The live stream can be limited, for example, by time (e.g., a fixed duration preview) or content (e.g., a portion of the digital event is blocked from viewing).
[0036] In at least one embodiment, the preview can include a previously recorded activity of the same type. For example, when the digital activity is a baseball game, the preview can include a clip recorded from the same or similar seat section or seat during a previous baseball game. Further, the preview can be customized for the digital activity, such as by considering similar conditions of the digital activity and the previously recorded activity. For example, the digital activity can be a baseball game in the evening, and the preview can likewise be a clip recorded during a previous baseball game in the evening. Further, the preview can account for changes in conditions during the digital activity. For example, the activity can be a baseball game that starts in the afternoon and ends in the evening. More than one preview can be used in this example, a first preview depicting a previous baseball game in the afternoon and a second preview depicting a previous baseball game in the evening.
[0037] The digital activity manager 105 can receive or access the digital preview of the view from the selected seat section or the selected seat from the system server 140 or from the venue information database 110. The digital preview can be a weather-enhanced graphical preview that includes weather data. In at least one embodiment, the digital activity manager 105 can receive the weather data from the system server 140. The weather data can be included in the digital image or video. In at least one embodiment, the digital activity manager 105 can receive the weather data from a weather data server, and the digital activity manager 105 can combine the weather data with the digital image. In at least one embodiment, the digital activity manager 105 can receive instructions from the system server 140 on how to combine the weather data with the digital image to create the preview. In at least one embodiment, the digital activity manager 105 can send a request for the instructions to the system server 140. The preview can include different views from the seat or seat section at different times. For example, the preview can depict the sun in different positions in each view.
[0038] In at least one embodiment, the client device 102 can include a view control (e.g., a slider bar) for switching between previews. In at least one embodiment, thumbnails of different selectable previews can be presented via the client device. A user can select a thumbnail to cause the preview on which the thumbnail is based to become presented in the display device 118. The digital activity manager 105 can display an information overlay of at least a portion of the activity information on the display device 118, or information related to the particular view (e.g., time information), or some combination thereof.
[0039] Once the user identifies the desired digital event, the user can provide input via the user input device 106 to purchase an electronic ticket for the digital event. The client device 102 can in turn send a request to the system server 140 to initiate the purchase of the electronic ticket. In response to receiving the request from the client device 102, the system server 140 can associate an event identifier with the electronic ticket. The event identifier can include a unique string of characters that can be associated with a single purchase by the user. In at least one embodiment, the event identifier can include a uniform resource locator (URL). The system server 140 can associate a password with the event identifier. The password can be generated by the system server 140 or can be requested from the user at the client device 102. The password can be a user-selected password or a user-defined password. The event identifier and the password can be stored in the user data database 115 in association with the user (e.g., in association with a user account of the user).
[0040] When the user wishes to attend or access the digital event using the electronic ticket, the user can input the event identifier via the user input device 106. For example, the user input device 106 can include a browser and the user can input the event identifier in an address bar of the browser. The user input device 106 can also include a standalone application configured to receive the event identifier and provide access upon successful verification. The client device 102 can send the event identifier received via the user input device 106 to the system server 140. In at least one embodiment, the client device 102 can request the password for the digital event from the user. The client device 102 can receive the password via the user input device 106 and can send the received password to the system server 140 along with the event identifier. In at least one embodiment, the client device 102 can encrypt one or both of the event identifier and the password.
[0041] The event access manager 104 of the system server 140 can receive the event identifier and can determine whether to allow the client device 102 to access the digital event. In embodiments where the event access manager 104 does not receive the password along with the event identifier, the event access manager 104 can request the password from the client device 102. The event access manager 104 can check the received event identifier and password against data in the user data database 115. When the received event identifier and password match data in the user data database 115 (e.g., the received event identifier and password correspond to a matching event identifier and password pair), the event access manager 104 can verify the password. Upon successful verification of the password, the event access manager 104 can grant the client device 102 access to the digital event. The digital event manager 105 can cause the digital event to be presented on the display device 118 of the client device 102.
[0042] In at least one embodiment, prior to granting access to the client device 102, the active access manager 104 can also determine whether a second device (e.g., the client device 112) is currently accessing the digital activity. The client device 112 can include the same or similar features as the client device 102. In an example, the client device 112 can currently be streaming the digital activity. Identifying the client device 112 that is currently accessing the digital activity can include identifying an active connection to a digital media file associated with the digital activity. When the second device (the client device 112) is currently accessing the digital activity, the active access manager 104 can determine whether to continue streaming the digital activity to the client device 112 or whether to switch the stream to the client device 102, as described in reference to FIG. 1. Figure 3 and Figure 4 as further described.
[0043] In at least one embodiment, multiple electronic tickets can be sold to one or more users at the same time. For example, a group of users can wish to purchase seats to virtually attend the same sporting event (before, during, or after the event). The multiple electronic tickets can be associated with the same activity identifier or different unique activity identifiers. In at least one embodiment, a single electronic ticket can be used by a predetermined number of user devices at the same time. For example, a user can wish to purchase access for six devices. Each of the six devices can access the digital activity via the same activity identifier. When a seventh device attempts to access the digital activity via the activity identifier, various responses can be triggered, such as switching to the seventh device or prohibiting the seventh device from accessing the digital activity.
[0044] modifications, additions, or omissions can be made to Figure 1 without departing from the scope of the disclosure. For example, the operating environment 100 can include more or fewer elements than those shown and described in this disclosure. For example, the operating environment 100 can include any number of client devices or servers.
[0045] Furthermore, the separation of various components in the embodiments described herein is not intended to mean that the separation occurs in all embodiments. It is contemplated that the described components can be integrated together in a single component or separated into multiple components using the benefits inherent in the disclosure. For example, in some embodiments, the user input device 106 and the display device 118 can be a single device. In another example, one or more of the venue information database 110 or the user data database 115 can be included in the system server 140.
[0046] In situations in which the systems discussed herein collect personal information about users, or can make use of personal information, the users can be provided with an opportunity to control whether programs or features collect user information (e.g., information about a user's social network, social actions or activities, profession, a user's preferences, or a user's current location), or to control whether and / or how to receive content from the system that can be more relevant to the user. In addition, certain data can be treated in one or more ways before it is stored or used, so that personally identifiable information is removed. For example, a user's identity can be treated so that no personally identifiable information can be determined for the user, or a user's geographic location can be generalized where location information is obtained (such as to a city, postal code, or state level), so that a particular location of a user cannot be determined. Therefore, the user can have control over how information is collected about the user and used by the system.
[0047] Figure 2 An example of an interactive visual element 200 is shown in accordance with one or more embodiments of the present disclosure. The interactive visual element 200 can include a venue map 210 having one or more sections (e.g., section 212) that depict a venue having seating listings for purchase. The interactive visual element 200 can also include a window 220 for displaying a listing.
[0048] The interactive visual element 200 can be configured such that a user viewing the interactive visual element 200 can interact with a user interface to select one or more features of the interactive visual element 200. Interacting with the user interface can allow the user to perform a query, refine a query, inspect a listing, etc. For example, if the user clicks on a section 212 of the venue map 210, the window 220 can display a textual description of the listing in that section. The window 220 can also display an image or video, such as a digital image or video that depicts a view from that section or from a particular seat. The window 220 can also display a preview that includes weather data and a digital image or video.
[0049] In some embodiments, for example, the window 220 can be sized and / or positioned to cover a portion of the venue map 210. In these and other embodiments, the size and / or position of the window 220 can be determined based on display characteristics of a display of a device used by the user. For displays having lower resolution and / or smaller display areas, the window 220 can cover a larger portion of the venue map 210. For displays having high resolution and / or larger display areas, the window 220 can cover a smaller portion of the venue map. In at least one embodiment, a full screen mode can be entered, and the window 220 can be displayed in substantially all of the display area.
[0050] In some embodiments, by selecting a segment of site map 210, the interactive visual element 200 can display a site map 210 replaced with a map of the selected segment. For example, the interactive visual element 200 may include a map of the segment instead of... Figure 2 The entire site map 210 is shown. In these and other embodiments, window 220 may cover a portion of the map of the section.
[0051] Without departing from the scope of this disclosure, the following may be made: Figure 2 Modifications, additions, or omissions may be made. For example, interactive visual element 200 may include more or fewer elements than those shown and described in this disclosure. For example, interactive visual element 200 may include additional features, links, or aspects, not shown, that interact with interactive visual element 200.
[0052] Figure 3 A flowchart illustrating an example computer implementation method 300 for access control of digital activities is shown. Method 300 can be performed by any suitable system, apparatus, or device. For example, Figure 1 The system server 140 can perform one or more operations associated with method 300. Method 300 can be executed by processing logic, which may include hardware (circuit, special-purpose logic, etc.), software (such as running on a general-purpose computer system or a special-purpose machine), or a combination of both. For simplicity of explanation, the methods described herein are depicted and described as a series of actions. However, actions according to this disclosure can occur in various orders and / or simultaneously, and together with other actions not presented and described herein. Furthermore, not all actions shown may be required to implement the methods according to the disclosed subject matter. Additionally, those skilled in the art will understand and appreciate that methods may alternatively be represented as a series of related states via state diagrams or events. Furthermore, the methods disclosed in this specification can be stored on an article of writing, such as a non-transitory computer-readable medium, to facilitate the transfer and delivery of these methods to a computing device. As used herein, the term "article of writing" is intended to include a computer program accessible from any computer-readable device or storage medium. Although shown as discrete blocks, various blocks may be divided into additional blocks, combined into fewer blocks, or omitted depending on the desired implementation.
[0053] Go to Figure 3 At box 305, the processing logic can send digital activity information to the client device (e.g., Figure 1The processing logic may send digital activity information to the client device in response to a request for such information received from the client device. For example, a user may be browsing digital activities on the client device and may request more information related to a particular digital activity. The digital activity information may include a digital map of the venue (e.g., Figure 2 The interactive visual elements 200 can depict multiple seating sections and individual seats within the venue. Digital event information may include time elements (e.g., date, exact time, approximate time, time of day, such as morning, afternoon, evening). For example, digital event information may include one or more teams competing in the event, start and end times (or approximate end times), etc. Digital event information may also include pricing information and / or type information (e.g., physical event, virtual event, digital event, audio-only event). At box 310, the processing logic may receive a request for a preview of the digital event. The preview may include images, videos, etc., as described herein.
[0054] At box 315, the processing logic can cause a client device to receive a preview of a digital activity. In at least one embodiment, the processing logic can send the preview to the client device. In at least one embodiment, the processing logic can combine the preview with weather data, such as overlaying (and / or flattening) weather data on a digital image or video. In at least one embodiment, the processing logic can create instructions for how the weather data and digital image are presented. The processing logic can generate instructions to instruct the client device to generate interactive visual elements depicting the preview and weather data via a user interface. For example, the instructions may include one or more times and the relevant location in the preview where the weather data is presented. The processing logic can send these instructions along with the preview and weather data to the client device. In at least one embodiment, the processing logic can instruct a different server (e.g., a preview management server) to send the preview to the client device via a network.
[0055] At block 320, the processing logic can receive a request to purchase an electronic ticket for a digital event. Using the electronic ticket, a user (via a client device) can access the digital event. The purchase request can include payment details. In at least one embodiment, the user can also specify to the processing device one or more devices that can be authorized to access the digital event, which can be referred to as "authorized devices." In at least one embodiment, the processing logic can present purchase information via a display device. The purchase information can include details on how to purchase the electronic ticket, such as the price, discount, or promotion that can be offered for the electronic ticket, etc. The purchase information can also include a link to a purchase page where the user can initiate a purchase of the item. In at least one embodiment, the purchase information can include a purchase tool that allows the user to purchase the electronic ticket. The purchase request can be forwarded to an information system that processes transactions and processed at the information system. A confirmation message can be sent to the processing logic, and the processing logic can send the confirmation message to the client device.
[0056] At block 325, the processing logic can associate an event identifier with the electronic ticket. In at least one embodiment, the processing logic can generate an event identifier, which can be any string. In some embodiments, the event identifier can include a URL or an access code to be entered into a field at a later time.
[0057] At block 330, the processing logic can send the event identifier to the client device. The processing logic can also send a purchase confirmation that can include the event identifier. Alternatively, the purchase confirmation and the event identifier can be sent separately to the client device. In at least one embodiment, the processing logic can associate a password with the event identifier before or after the purchase is completed. In at least one embodiment, the processing logic can request a password from the client device. In another embodiment, the processing logic can also inherit a password, such as a password used by the user to access a user account associated with the online marketplace system. In another embodiment, the processing logic can generate a password for the digital event. The generated password can be unique to the user, the client device, or the digital event. The processing logic can send the generated password to the client device with or independent of the event identifier.
[0058] At block 335, the processing logic can receive a request to view the digital event using the event identifier. The processing logic can receive the request from the same client device that was used to purchase the electronic ticket, or can receive the request from another device. The client device that sent the request to view the digital event to the processing logic can be referred to as the "requesting device." The processing logic can request that the requesting device send a password to access the digital event associated with the event identifier. At block 340, the processing logic can receive the password from the requesting device for accessing the digital event associated with the event identifier. At block 345, the processing logic can verify the password. When the password is not correct (NO at block 345), at block 350, the processing logic can deny the requesting device access to the digital event.
[0059] When the password is correct (YES at block 345), at block 355, the processing logic can determine whether another device (a "streaming device") is currently streaming the digital event. With further reference to the description below regarding block 365, the processing logic can identify the streaming device based on a device identifier of the streaming device. For example, the processing logic can track access to the digital event by any device by recording the device identifier of the device when the device accesses the digital event. To determine whether another device is currently streaming the digital event, the processing logic can query the recording for a device identifier of any currently streaming device. In at least one embodiment in which the event identifier is a URL, the processing logic can query whether any device has accessed the URL, and / or whether any device has a connection to the event and is streaming the digital event via the URL.
[0060] When another device is currently streaming the digital event (YES at block 355), at block 360, the processing logic can determine whether to switch the streaming to the requesting device, as described in further detail in connection with Figure 4
[0061] When another device is not currently streaming the digital event (NO at block 355), at block 365, the processing logic can cause the requesting device to receive the digital event. Receiving the digital event can include providing access to an Internet-based source that hosts the digital event, such that the receiving device receives a digital media stream of the digital event or is associated with the digital event, or allowing the receiving device to download at least a portion of the digital event. In response to causing the requesting device to receive the digital event, the processing logic can identify a device identifier of the receiving device and record the device identifier in the data store. The device identifier can be stored in association with the event identifier, a user identifier (e.g., a user profile), or both.
[0062] At block 370, the processing logic can receive behavior data from the requesting device during the digital event. The behavior data can indicate user engagement during the digital event. The behavior data can include actions of the user during the digital event. For example, the actions can include laughing during a joke, cheering in response to a home run in a baseball game, singing along with the lyrics of a song in a concert, etc. as part of the digital event. The behavior data can also include behavior of the receiving device, such as whether the receiving device was turned off, whether the receiving device was moved suddenly or sharply (which can indicate user action), etc. The behavior data can also include environmental conditions, e.g., temperature, humidity, etc.
[0063] At block 375, the processing logic can generate an output based on the behavior data received from the requesting device during the digital event. The output can include a message, an advertisement, an offer to purchase another electronic ticket, etc. In at least one embodiment, the processing logic can generate a highlight media item that can be provided to the receiving device after the digital event. For example, the highlight media item can include those portions of the digital event during which the user cheered loudly. The processing logic can also receive input from the receiving device to record segments of the digital event. For example, the user can provide input to the receiving device to record or mark various segments for later inclusion in the highlight media item.
[0064] Modifications, additions, or omissions can be made to the method 300 without departing from the scope of the disclosure. Additionally or alternatively, two or more operations can be performed at the same time. Further, operations and actions outlined in the above description are examples and can be optional, combined into fewer operations and actions, or expanded into additional operations and actions without detracting from the essence of the disclosed embodiments. For example, the processing logic can interact with a first client device (e.g., a "purchase device") in some or all of blocks 305, 310, 315, 320, 325, and 330, and can interact with a second client device (e.g., a requesting device) in some or all of blocks 335, 340, 345, 350, 355, 360, 365, 370, and 375.
[0065] Figure 4 A flow diagram illustrating an example computer-implemented method 400 for determining whether to switch a digital media stream to a requesting device is shown. The method 400 can be performed by any suitable system, apparatus, or device. For example, Figure 1The system server 140 can perform one or more operations associated with the method 400. The method 400 can be performed by processing logic that can comprise hardware (circuitry, dedicated logic, etc.), software (such as is run on a general purpose computer system or a dedicated machine), or a combination of both. For simplicity of explanation, the methods described herein are depicted and described as a series of acts. However, acts in accordance with this disclosure can occur in various orders and / or concurrently, and with other acts not presented and described herein. Furthermore, not all illustrated acts can be required to implement the methods in accordance with the disclosed subject matter. In addition, those skilled in the art will understand and appreciate that the methods could alternatively be represented as a series of interrelated states via a state diagram or events. Additionally, the methods disclosed in this specification are capable of being stored on an article of manufacture to facilitate transporting and transferring such methods to computing devices. The term "article of manufacture," as used herein, is intended to encompass a computer program accessible from any computer-readable device or storage media. Although shown as discrete blocks, various blocks can be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the desired implementation.
[0066] At block 405, the processing logic can identify a device identifier of the requesting device in response to receiving the request to access the digital activity. The device identifier can include a unique device identifier (UDID), a universally unique identifier (UUID), a media access control address (MAC address), etc. The request to access the digital activity can include a "pull" request or a "push" request. The pull request can refer to a request by a device that wants to access the digital activity itself. The push request can refer to a request by a device on behalf of another device, where the other device will access the digital activity.
[0067] At block 410, the processing logic can determine whether the device identifier is authorized to access the digital activity. The processing logic can query a whitelist, a blacklist, a user profile, etc., to determine whether the device identifier is authorized to access the digital activity. For example, the device identifier can be authorized when it is on the whitelist. The device identifier can be prohibited when it is on the blacklist. In another example, a user can pre-authorize a device to access the digital activity. For example, the user can add the device identifier to the user profile. The processing logic can query the user profile to determine whether the device identifier is authorized.
[0068] When the device identifier is authorized to access the digital activity (YES at block 410), at block 415, the processing logic can cause the requesting device to receive the digital activity, as further described with respect to block 365 of FIG. 3. Figure 3
[0069] When the device identifier is not authorized to access digital activity (No at box 410), at box 420, the processing logic can send a message to the streaming device to request authorization for the device identifier of the requesting device. (See also: Regarding...) Figure 3 As further described in box 355, another device (the streaming device) can currently stream digital activities. The processing logic can send a message to the streaming device to determine whether to initiate a switch from the streaming device to the requesting device. The streaming device can present a message to the user via a user interface and request input from the user. User input can include authorized input to allow the receiving device to access the digital activities or disabled input to prevent the receiving device from accessing the digital activities. The streaming device can send the user input to the processing logic.
[0070] At box 425, the processing logic can receive user input and determine whether the user input includes authorization to allow the receiving device to access digital activities.
[0071] When the user input includes authorization to allow the receiving device to access digital activities ("Yes" at box 425), at box 415, the processing logic can request the device to receive digital activities, as per the relevant information. Figure 3 As further described in box 365. Enabling the requesting device to receive digital activity may include facilitating a switching of the digital activity stream, where the streaming device is no longer currently streaming the digital activity, and the receiving device is currently streaming the digital activity. In at least one embodiment, the processing logic may receive authorization allowing both the requesting device and the streaming device to access the digital activity simultaneously. For example, the requesting device or the streaming device may pay an additional fee to purchase the right to simultaneous access, which can be any amount, including less than the price of accessing the digital activity by a single device.
[0072] When user input does not include authorization to allow the receiving device to access digital activity, or when the processing logic does not receive explicit authorization within a threshold time period (No at box 425), at box 430, the processing logic may deny the requested device access to digital activity, as per the relevant information. Figure 3 As further described in box 350.
[0073] Method 400 may be modified, added to, or omitted without departing from the scope of this disclosure. Additionally or alternatively, two or more operations may be performed simultaneously. Furthermore, the operations and actions outlined are provided as examples, and some operations and actions may be optional, combined into fewer operations and actions, or extended into additional operations and actions without departing from the essence of the disclosed embodiments.
[0074] Figure 5FIG. 1 illustrates a diagrammatic representation of a machine in the example form of a computing device 500 within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, can be executed. The computing device 500 can include a mobile phone, a smart phone, a netbook computer, a rackmount server, a router computer, a server computer, a personal computer, a mainframe computer, a laptop computer, a tablet computer, a desktop computer, etc. in which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, can be executed. In alternative embodiments, the machine can be connected (e.g., networked) to other machines in a LAN, an intranet, an extranet, or the Internet. The machine can operate in the capacity of a server machine in a client-server network environment. The machine can be a personal computer (PC), a set-top box (STB), a server, 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 machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
[0075] The example computing device 500 includes a processing device (e.g., a processor) 502, a main memory 504 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM), a static memory 506 (e.g., flash memory, static random access memory (SRAM), and a data storage device 516, which communicate with each other via a bus 508.
[0076] Processing device 502 represents one or more general-purpose processing devices such as a microprocessor, a central processing unit, or the like. More particularly, the processing device 502 can be a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, or a processor implementing other instruction sets or processors implementing a combination of instruction sets. The processing device 502 can also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. The processing device 502 is configured to execute the instructions 526 for performing the operations and steps discussed herein.
[0077] The computing device 500 can also include a network interface device 522 that can communicate with a network 518. The computing device 500 can also include a display device 510 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alphanumeric input device 512 (e.g., a keyboard), a cursor control device 514 (e.g., a mouse), and a signal generation device 520 (e.g., a speaker). In one implementation, the display device 510, the alphanumeric input device 512, and the cursor control device 514 can be combined into a single component or device (e.g., an LCD touch screen).
[0078] The data storage device 516 can include a computer-readable storage medium 524 on which is stored one or more sets of instructions 526 embodying any one or more of the methodologies or functions described herein. The instructions 526 can also reside completely, or at least partially, within the main memory 504 and / or within the processing device 502 during execution thereof by the computing device 500, the main memory 504 and the processing device 502 also constituting computer-readable media. The instructions 526 can be transmitted or received, e.g., over the network 518 via the network interface device 522.
[0079] While the computer-readable storage medium 524 is shown in an example embodiment to be a single medium, the term “computer-readable storage medium” can 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 storage medium” shall also be taken to include any medium that is capable of storing the one or more sets of instructions for execution by a machine and that cause the machine to perform any one or more of the methodologies of the present disclosure. The term “computer-readable storage medium” can accordingly be taken to include, but not be limited to, solid-state memories, optical media, and magnetic media.
[0080] The words “example” and “exemplary” are used herein to mean serving as an example, instance, or illustration. Any aspect or design described in this specification that is accompanied by the word “example” or by the word “exemplary” is not necessarily to be construed as preferred or advantageous over any other aspect or design. Rather, use of the words “example” and “exemplary” is intended to present concepts in a concrete fashion.
[0081] Additionally, if a particular number of claim recitations is intended, such intent will be clearly recited in the claim, and otherwise there is no intent to limit to a particular number of implementations. For example, although a use of the phrases "at least one" and "one or more" are typically interpreted to mean that a feature can be used independently or in conjunction with other features, the use of these phrases does not foreclose a claim interpretation in conjunction with a feature or use of a feature at least one time, one time or an equivalent thereof.
[0082] Additionally, even if a particular number of claim recitations is explicitly recited, one of ordinary skill in the art will appreciate that such recitation should be interpreted to leave open the possibility that more than the specific number of recitations are contemplated. For example, specifying "two limitations" shall not preclude the embodiment of "two or more" limitations.
[0083] Furthermore, to the extent that the term "includes" is used in either the detailed description or the claims, such term is intended to be inclusive in a manner similar to the term "comprising" as "comprising" is interpreted when employed as a transitional word in a transitional phrase having the same scope as the term "including." Likewise, to the extent the term "comprising" is used in either the detailed description or the claims, such term is intended to be inclusive in a manner similar to the term "including" as "including" is interpreted when employed as a transitional word in a transitional phrase having the same scope as the term "including."
[0084] Embodiments described herein can be implemented using computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media can comprise non-transitory computer-readable storage media including Random Access Memory (RAM), Read Only Memory (ROM), Electronically Erasable Programmable Read Only Memory (EEPROM), Compact Disc Read Only Memory (CD-ROM) or other optical disk storage, magnetic disk storage or other magnetic storage devices, flash memory devices (e.g., solid state memory devices), or any other storage medium which can be used to carry or store desired program code in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. Combinations of the above can also be included within the scope of computer-readable media.
[0085] Computer-executable instructions can include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing devices (e.g., one or more processors) to perform a certain function or group of functions. Although the subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
[0086] As used herein, the terms “module” or “component” can refer to either an actual hardware implementation of the module or component, and / or a software object or software routine that is configured to operate as the module or component. In some embodiments, different components, modules, engines, and services described herein can each be a software object or software routine that is executed on the computing system (e.g., as a separate thread). While some systems and methods described herein are generally described as being implemented in software (stored on and / or executed by general purpose hardware), specific hardware implementations or combinations of software and specific hardware implementations are also possible and contemplated. In this specification, a “computing entity” can be any computing system as previously defined herein, or any module or combination of modules running on a computing system.
[0087] All examples and conditional language recited herein are intended to be construed to cover all equivalents falling within the spirit and scope of the invention, and are used only in the sense, and for the purpose, of aiding in the disclosure of the present invention. While the present disclosure has been described with reference to embodiments, it is understood that the disclosure is not limited thereto. Various changes, substitutions, and alterations can occur to one of ordinary skill in the art without departing from the spirit and scope of the disclosure.
[0088] Various embodiments are disclosed. Various embodiments can be combined in part or in whole to produce other embodiments.
[0089] Numerous specific details are set forth herein to provide a thorough understanding of the claimed subject matter. However, those skilled in the art will appreciate that the claimed subject matter can be practiced without such specific details. In other instances, methods, apparatuses or systems that would be known by one of ordinary skill have not been described in detail so as not to obscure the claimed subject matter.
[0090] Some portions of the detailed description are presented in terms of algorithms or symbolic representations of operations on data bits or binary digital signals stored within a computing system memory, such as a computer memory. These algorithmic descriptions or representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, is considered to be a self-consistent sequence of operations or similar processing leading to a desired result. In this context, operations or processing involves physical manipulation of physical quantities. Typically, although not necessarily, such quantities can take the form of electrical, magnetic, or optical signals capable of being stored, transferred, combined, compared or otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to such signals as bits, data, values, elements, symbols, characters, terms, numbers, numerals, or the like. It should be understood, however, that all of these and similar terms are to be associated with appropriate physical quantities and are merely convenient labels. Unless specifically stated otherwise, it is appreciated that throughout this specification discussions utilizing terms such as "processing," "computing," "calculating," "determining," and "identifying" or the like refer to actions or processes of a computing device, such as one or more computers or a similar electronic computing device, that manipulates or transforms data represented as physical electronic or magnetic quantities within memories, registers, or other information storage devices, transmission devices, or display devices of the computing platform.
[0091] The system or systems discussed herein are not limited to any particular hardware architecture or configuration. A computing device can include any suitable arrangement of components that provides a result conditioned on one or more inputs. Suitable computing devices include multipurpose microprocessor-based computer systems accessing stored software that programs or configures the computing system from a general-purpose computing device into a special- purpose computing device implementing one or more embodiments of the subject matter. The teachings contained herein can be implemented using any suitable programming, scripting, or other type of language or combinations of languages with the software used to program or configure a computing device for the practice of the subject matter.
[0092] Embodiments of the methods disclosed herein can be performed in the operation of such computing devices. The order of the blocks presented in the above examples can be varied, for example, blocks can be reordered, combined and / or separated into sub-blocks. Certain blocks or processes can be performed in parallel.
[0093] The use of "adapted to" or "configured to" herein means open and inclusive language that does not foreclose devices adapted to or configured to perform additional tasks or steps. Further, the use of "based on" means that the process, step, calculation or other action can be based on a single identified condition or value, or multiple conditions or values. Headers, lists and numbering included herein are for convenience only and are not limiting.
[0094] While the subject matter has been described in detail with respect to specific embodiments thereof, it will be apparent to those skilled in the art that various alterations, modifications and / or additions can be made thereto. It will also be apparent that the present disclosure is intended to cover all such modifications, alterations and / or additions as fall within the true spirit and scope of the subject matter.
Claims
1. A method of access control for a digital event, comprising: receiving, from a first client device, an access request to access a digital event, wherein the access request includes an event identifier and a password; in response to determining that the password corresponds to the event identifier, identifying one or more second client devices that are currently accessing the digital event, wherein the one or more second client devices were previously authorized to access the digital event based on the same password and event identifier; sending, to the one or more second client devices, a message indicating the access request received from the first client device; and receiving, from one of the one or more second client devices, authorization such that when a total number of the first client device and the one or more second client devices exceeds a predetermined number, the first client device accesses the digital event and the one of the one or more second client devices no longer accesses the digital event. further comprising:
2. The method of claim 1, wherein, receiving, from the first client device, a preview request for a digital preview of the digital event, wherein the digital preview includes an image or a video; and causing the first client device to receive the digital preview of the digital event. The password is a user-selected password, the method further comprising receiving the user-selected password. Identifying the one or more second client devices that are currently accessing the digital event includes identifying active connections to digital media files associated with the digital event.
3. The method of claim 1, wherein, The digital event includes a tangible event or a digital representation of an intangible event.
4. The method of claim 1, wherein, further comprising:
5. The method of claim 1, wherein, receiving, from the first client device, behavioral data indicating user engagement with the digital event; and 6. The method of claim 1, wherein, generating, for the first client device, an output based on the behavioral data. The one or more second client devices are included in a whitelist based on device identifiers of the one or more second client devices, the one or more second client devices being previously authorized to access the digital event.
8. A computer-readable medium comprising instructions that, when executed by a system, cause the system to perform operations comprising: receiving, from one or more first client devices, a first request to access a digital event, wherein the first request includes an event identifier and a password; 7. The method of claim 1, wherein, in response to determining that the password corresponds to the event identifier, causing the one or more first client devices to receive a digital media stream associated with the digital event; receiving, from a second client device, a second request to access the digital event, wherein the second request includes the same event identifier and password; sending, to the one or more first client devices, a message to authorize the second client device to view the digital event; and in response to receiving, from one of the one or more first client devices, authorization for the second client device to access the digital event, causing the second client device to receive the digital media stream associated with the digital event and causing the one of the one or more first client devices to stop receiving the digital media stream associated with the digital event when a total number of the one or more first client devices and the second client device exceeds a predetermined number. The operations further comprise: 9. The computer-readable medium of claim 8, wherein, receiving, from the one or more first client devices, a preview request for a digital preview of a digital activity, wherein the digital preview comprises an image or a video; and causing the one or more first client devices to receive a digital preview of a digital activity.
10. The computer readable medium of claim 8, wherein, The operations further include determining that the one or more first client devices have an active connection to a digital media file associated with the digital activity.
11. The computer readable medium of claim 8, wherein, The operations further include: receiving, from the one or more first client devices, behavioral data indicating user engagement with the digital activity; and generating, for the one or more first client devices, an output based on the behavioral data.
12. The computer-readable medium of claim 8, wherein, The digital activity comprises a tangible activity or a digital representation of an intangible activity.
13. The computer-readable medium of claim 8, wherein, The password is a user-selected password, the operations further including receiving the user-selected password.
14. The computer-readable medium of claim 8, wherein, The second client device is previously authorized to access the digital activity based on the device identifier of the second client device being included in a whitelist.
15. A system for access control of a digital activity, comprising: a memory configured to store computer-readable instructions; and a processor operatively coupled to the memory, the processor capable of executing the computer-readable instructions, which, when executed by the processor, cause the system to perform the method of any of claims 1-7.
Citation Information
Patent Citations
Service for managing digital content resales
US20120303491A1
Merchandising streaming video content
US20130042271A1
Messaging for event live-stream
US20160149841A1