Hardware pairing communications for streaming services
By using service systems and decision-making systems in an application store environment, detecting hardware connection events and providing enhanced service offers, the problem of difficult to effectively utilize hardware connection events in the prior art to provide resource access, and better interoperability and user experience between user equipment and hardware attachment devices are achieved.
Patent Information
- Application Number
- CN202380057530.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-07-29
- Filing Date
- 2023-07-28
- Publication Date
- 2025-03-14
AI Technical Summary
The prior art is difficult to effectively utilize hardware connection events to provide access to resources, especially when connections between user equipment and accessory hardware equipment are lacking a systematic approach to determining and providing enhanced service offers.
Detect hardware connection events and provide enhanced service offers by leveraging service systems and decision systems in an application store environment. The service system manages the access offer for enhanced services, and the decision system selects the best enhanced service offer based on hardware attachment devices, client devices, user profiles, etc.
It realizes automatic identification and provision of relevant enhanced service offers when hardware connection events occur, improving interoperability and user experience between user equipment and hardware attachment devices.
Smart Images

Figure CN119631384A_ABST
Abstract
Description
Technical Field
[0001] Embodiments described herein relate to providing access to services on electronic devices. More specifically, embodiments described herein relate to techniques for providing access to resources in association with hardware connection events. Background Art
[0002] In recent years, downloading software applications (or "apps") from online distribution platforms such as application stores has become a popular method for obtaining software applications. Online application stores allow users to download software applications to their devices (such as desktop or laptop computers, smartphones or other mobile devices), and then install the applications on their devices. In some instances, access to applications can be regulated, for example, based on user accounts, subscriptions, etc. BRIEF DESCRIPTION OF THE DRAWINGS
[0003] The embodiments described herein are illustrated by way of example and not limitation in the accompanying drawings, in which like reference numerals represent similar features. In addition, some conventional details have been omitted from the drawings so as not to obscure the inventive concepts described herein.
[0004] Figure 1 A network for providing applications in an application store according to one or more embodiments is illustrated in block diagram form.
[0005] FIG. 2A to FIG. 2B An exemplary flow diagram illustrating an exemplary interface for accessing services associated with a hardware connection according to one or more embodiments is illustrated.
[0006] Figure 3 Techniques for providing services during a hardware connection event in accordance with one or more embodiments are illustrated in flowchart form.
[0007] Figure 4
[0013] Techniques for determining available service offers for a client device in accordance with one or more embodiments are illustrated in flow chart form.
[0008] Figure 5 An exemplary network diagram for providing access to resources associated with a hardware connection event is illustrated in accordance with one or more embodiments.
[0009] Figure 6 An exemplary flow diagram for selecting and providing an offer to access a resource is illustrated in accordance with one or more embodiments.
[0010] Figure 7 A simplified functional block diagram of an exemplary programmable electronic device according to one embodiment is illustrated. DETAILED DESCRIPTION
[0011] The present disclosure relates to systems, methods, and computer-readable media for providing a user with an offer to access enhanced services, such as digital services, in response to detecting a hardware connection event. In some embodiments, the technology described herein provides an improved technique for determining and providing enhanced service requests based on a newly connected hardware device.
[0012] Embodiments described herein relate to techniques for facilitating pairing or other connection events between a user device and an accessory hardware device. The accessory hardware device may include, for example, devices and systems that are communicatively connected to the user device, for example, via a wired or wireless connection, such as Bluetooth or other short-range connection. For example, when a connection event is detected, available enhanced service offers for the user and / or associated with the hardware device may be determined. In some embodiments, the user device may present an offer for enhanced services from within a connection interface associated with the accessory hardware device. In some embodiments, the enhanced services provided may be useful in association with the connected hardware accessory, but are not necessary for the operation of the hardware accessory. In addition, the enhanced services provided may be provided by the same or different entity as the hardware accessory device.
[0013] Figure 1 A network in which an application store is accessed by a client device according to one or more embodiments is illustrated in block diagram form. The network diagram includes a digital distribution platform (referred to herein as an application store) 100 communicatively connected to a client device 107 and a client device 109 across one or more networks 105. The network 105 may include, for example, the Internet, a wide area network, a local area network, the like, or any combination thereof.
[0014] The embodiments described herein may operate within and interact with the environment and context of an application store, from which one or more users may search and download one or more applications (also referred to as applications) using a client device, which may provide enhanced services to client devices such as client device 107 and client device 109. Application store 100 may include one or more servers, such as server 101, that may provide the functionality described herein. For example, server 101 may connect with client devices and / or other devices to implement Figure 3 and Figure 4, thereby providing access to resources, such as access to client devices 107 and 109, which may take a variety of different forms (e.g., tablet computers such as iPads, smart phones such as iPhones, laptop computers, desktop computers, network media players such as Apple TVs, gaming / entertainment systems, or other consumer electronic devices). Client devices 107 and 109 may be coupled to application store 100 via one or more networks 105, which provide data communication between client devices and the application store so that client devices can register devices, access resources, and the like.
[0015] According to one or more embodiments, the application store 100 may also include a service system 112 and a decision system 114. In one or more embodiments, the service system 112 is configured to manage access offers to various enhanced services (e.g., digital services hosted by the application store 100). In some embodiments, the service system 112 may track eligibility metrics and parameters for users, devices, enhanced services, etc. to identify available access offers based on connection events. For example, available access offers may be identified based on registration events for hardware devices. As an example, during a connection event, an accessory hardware device may be paired or otherwise connected to a client device. The connection event may involve a handshake with one or more backend servers, through which the hardware accessory device may be registered.
[0016] The application store 100 may also include a decision system 114. In some embodiments, the decision system may obtain available enhanced service offers from the service system 112 and select one or more specific offers for presentation from the available offers during a connection event involving a hardware device. In some embodiments, the decision system 114 may select at least one enhanced service offer from the identified enhanced service offers to provide to the client device. The decision system may select at least one enhanced service offer based on one or more predetermined selection criteria. For example, in some embodiments, the selection criteria may be configured to determine the best enhanced service offer based on a hardware accessory device, a client device, a user profile, contextual information, or some combination thereof.
[0017] Client devices, such as client device 107 and client device 109, can be connected to accessory devices, such as accessory hardware device 116A and accessory hardware device 116N. Accessory hardware devices 116A-N may include electronic devices that are communicatively coupled to the client devices. Examples of accessory hardware devices include, but are not limited to, headphones or other audio devices, keyboards, gaming / entertainment systems, digital streaming devices, exercise equipment, wearable electronic devices, and the like. Furthermore, in some embodiments, the accessory hardware device may be part of a larger system and / or may be connected via a wired connection, such as a vehicle that implements interactive functionality with a mobile device.
[0018] The server 101 and / or the client device 107 and the client device 109 and various systems may also include a memory for storing, managing and / or retrieving resources from the application store 100, including data related to enhanced service offers for resources. According to some embodiments, the client device 107 and the client device 109 may provide access to the application store 100, and multiple applications may be hosted on the application store. The memory may include one or more different types of media used by the processor of the device to perform device functions. For example, the memory may include a memory cache, a read-only memory (ROM) and / or a random access memory (RAM). The storage device 104 may store media (e.g., audio files, image files, and video files), computer program instructions or software, preference information, device profile information, and any other suitable data. The storage device 104 may include one or more non-transitory storage media, which include, for example, disks (fixed hard disks, floppy disks, and removable disks) and tapes, optical media such as CD-ROMs and digital video disks (DVDs) and semiconductor memory devices such as electrically programmable read-only memories (EPROMs), and electrically erasable programmable read-only memories (EEPROMs). The memory and storage devices may be used to hold computer program instructions or codes organized into one or more modules and written in any desired computer programming language. Such computer program codes, when executed by, for example, a processor, may implement one or more of the methods described herein.
[0019] Figure 2A A flow of an interface for providing a technology for providing an enhanced service offer in association with a hardware connection event is depicted. The flow includes an electronic device 200 connected to a headset. It should be understood that the headset is used as an exemplary hardware accessory device in this figure, but the hardware accessory devices described herein are not limited to headsets. At 202A, the electronic device 200 presents a connection interface 205A, through which a user can select a user-selectable component 210 to pair the headset with the electronic device 200.
[0020] Continuing to step 202B, if the user selects the user-selectable component to pair the headset with the electronic device, the connection interface 205B prompts the user to initiate access to the enhanced service. In this example, the electronic device 200 prompts the user to initiate access to the music application service. Figure 2A The example of utilizes a music application as an enhanced service for which access rights are provided, but it should be understood that the enhanced service can be any digital service. Generally speaking, enhanced services include digital services that can enhance the experience of using hardware that is offered due to a connection event. Therefore, an enhanced service is not required to operate the accessory hardware device. Similarly, the enhanced service can be used independently of the accessory hardware device. Therefore, when the hardware accessory device is initially connected to the electronic device, an offer prompt is presented in the connection interface 205B to initiate access to the digital enhanced service by the electronic device 200, so that the user has the optional ability to use the hardware accessory device with the enhanced service. Therefore, the connection interface 205B may include a user-selectable component 215, which, when selected, indicates an affirmative request to open an interface related to the enhanced service. The interface may include, for example, a service interface as described below, a login page in an application store, and the like.
[0021] Go to step 202C, if the user selects a user-selectable component to initiate access to the enhanced service, the electronic device 200 is transformed to present a registration interface 220A for the enhanced service. The registration interface 220A may include information about the terms of access. In one or more embodiments, the registration interface may be associated with the enhanced service and may not be associated with the connection interface 205. The connection interface may include a user input component 225, which, when selected, indicates an affirmative request to initiate access to the enhanced service. If selected, the process ends at 202D, where the electronic device 200 initiates access to the enhanced service. This may include, for example, linking the enhanced service to a user profile, downloading an application for the enhanced service as depicted by the enhanced service icon 230, and the like. In some embodiments, the login interface 265 may include one or more user input components 225, through which the user may browse the login interface to begin using the enhanced service.
[0022] Go to Figure 2B, wherein another example of a process for an interface of a technology for providing enhanced service offers in association with a hardware connection event is presented. The process begins at 252A and includes an electronic device 250 attempting to connect to a new device in a connection interface 255A. Here, the connection interface 255A includes a Bluetooth menu and a list of known devices 262A and other unknown devices 260A. Here, the unknown device includes a detected Bluetooth-enabled television. It should be understood that although a television is used as an exemplary hardware accessory device in this figure, the hardware accessory devices described herein are not limited to any particular type of hardware accessory device. Continuing to step 252B, if the user selects a user-selectable component to connect the Bluetooth-enabled television to the electronic device, the electronic device 250 performs the necessary handshakes and indicates on the connection interface 255B that the Bluetooth-enabled television is a known device.
[0023] According to some embodiments, performing the necessary handshake and connection process to the new device causes the device to present a registration interface for the enhanced service at 252C. In this example, the electronic device 250 prompts the user to initiate access to the streaming service to stream digital content. Figure 2B The example of using streaming applications as an enhanced service to provide access rights, but it should be understood that the enhanced service can be any digital service. Generally speaking, enhanced services include digital services that can enhance the experience of using hardware that is offered due to a connection event. Therefore, there is no need for enhanced services to operate the accessory hardware device. Similarly, enhanced services can be used independently of the accessory hardware device. Therefore, when the hardware accessory device is initially connected to the electronic device, the offer prompt 265A is presented to initiate the electronic device's access to the digital enhanced service 250, so that the user has the optional ability to use the hardware accessory device with the enhanced service (for example, streaming media from the application to the streaming service). In addition, in some embodiments, once access rights are provided on the electronic device 250, access rights can be provided for the associated user account on the additional device. As an example, a user of an electronic device 252 can access the streaming application service directly from a TV or other device. For example, once downloaded to a TV or other device, the user is connected to the service via a user account without having to re-register.
[0024] Transitioning to step 252D, the electronic device 250 initiates access to the enhanced service. This may include, for example, linking the enhanced service to a user profile, downloading an application for the enhanced service as depicted by the enhanced service icon 285, etc. In some embodiments, the login interface 265B may include one or more user input components 280 through which the user may navigate the login interface to begin using the enhanced service.
[0025] Figure 3Techniques for providing services during a hardware connection event according to one or more embodiments are illustrated in flowchart form. Although various actions are depicted in a particular order, in some embodiments, the various actions may be performed in a different order. In other embodiments, two or more actions may occur simultaneously. According to other embodiments, some actions may not be required or may include other actions. For clarity, the description of the various actions will be omitted. Figure 1 The flowcharts are described with reference to various components. However, it should be understood that various actions may be performed by alternative components according to one or more implementations.
[0026] Flowchart 300 begins at block 305, where a connection request for a hardware accessory device is received. The connection request may be received by an electronic device to connect a new accessory hardware device that was previously unknown to the electronic device. In some embodiments, the connection request may include a request for the hardware accessory device to become interoperable with the electronic device via a wired connection or a wireless connection. For example, the electronic device may discover the accessory hardware device, and the connection request may include a pairing process. As another example, an electronic mobile device may connect to an information system and / or a media player within a vehicle via a wired or short-range wireless connection.
[0027] Flowchart 300 continues at block 310 where a connection process is initiated. In some embodiments, the connection process includes the necessary handshakes or other data transmissions to enable interoperability between the electronic device and the accessory hardware device. Then, at block 315, one or more enhanced services that may be provided to the user are identified. At the user device, the device may simply receive an offer from the remote system to present to the user. Additionally or alternatively, the client device 107 may select an offer from available or eligible enhanced services. Figure 4 The selection of service offers presented to the user is described in more detail.
[0028] Flowchart 300 continues at block 320 where a service offer is presented. In some embodiments, the offer is presented in a connection interface. Alternatively, Figure 2B As shown, the service offer can be presented in an interface dedicated to the enhanced service, which can be presented separately from the connection interface. At block 325, a determination is made as to whether a positive response is received. For example, the user can select an acceptance input component indicating a service offer on the user interface. If no positive response is received, the flowchart 300 ends.
[0029] Returning to block 325, if a positive response is received, flow chart 300 continues to block 330. At block 320, the connection interface is replaced with the service interface. As described above, in some embodiments, the offer can be presented in an interface separate from the connection interface, so this step can be skipped. The service interface can be associated with the enhanced service. In some embodiments, the service interface can be an interface that is part of the enhanced service, or can be part of the distribution service, such as a login page for the enhanced service in an application store.
[0030] The flowchart ends at block 335 where a registration prompt is presented in the service interface. In some embodiments, the login prompt may include one or more user input components through which a user may navigate the login interface to begin using the enhanced service.
[0031] Figure 4 Techniques for determining available service offers for a client device according to one or more embodiments are illustrated in flowchart form. Although various actions are depicted in a particular order, in some embodiments, the various actions may be performed in a different order. In other embodiments, two or more actions may occur simultaneously. According to other embodiments, some actions may not be required, or other actions may be included. For clarity, the description of the various actions is omitted. Figure 1 The flowcharts are described with reference to various components. However, it should be understood that various actions may be performed by alternative components according to one or more implementations.
[0032] Flowchart 400 begins at block 405, where a device receives a request to register a hardware accessory device. In one or more embodiments, service system 112 receives the request in response to a user initiating a connection request between the hardware accessory device and a client electronic device. During the connection request, the client electronic device can send a request to register hardware accessory device 116 to service system 112. At block 410, a user identifier is determined. The user identifier can be included in the request received at block 405, or otherwise determined from the request.
[0033] At block 415, a determination is made as to whether the user account is eligible for one or more enhanced services. In some embodiments, the service system 112 may determine whether the user account is eligible for any enhanced services based on a data structure that includes available offers. In some embodiments, the service system 112 may determine whether an offer has been accepted (and therefore no longer available to the user account), whether the user has accessed an enhanced service, and so on. For example, in some embodiments, if the user has accessed an enhanced service, the service system 112 may determine that the user account is no longer eligible for the service offer. If the user account is no longer eligible for any enhanced service, the flowchart 400 ends.
[0034] Returning to block 415, if the user account is eligible for enhanced services, the flowchart 400 continues to block 420. At block 420, the service system 112 obtains a hardware identifier of the accessory hardware device that was registered during the connection request. In one or more embodiments, the client electronic device can send the hardware identifier with the request to register the hardware accessory device 116 to the service system 112, as described above with respect to block 405. The hardware identifier can include a unique identifier of the accessory hardware device, such as a serial number, or can be a more general identifier, such as a device type or classification (i.e., an audio device, a video device, an activity device, a gaming device, etc.). At block 410, a user identifier is determined. The user identifier can be included in the request received at block 405, or otherwise determined from the request.
[0035] Flowchart 400 continues at block 425 with a determination being made as to whether the hardware identifier is eligible for any enhanced service offers. Eligibility may be based on one or more predetermined rules or criteria for linking the enhanced service offers to the accessory hardware device. In some embodiments, the determination may be made based on a classification of the hardware accessory device (i.e., a media device, an exercise device, a display device, etc.). Additionally or alternatively, eligibility may be determined based on the source of the accessory hardware device or other characteristics of the hardware accessory device. Further, in one or more embodiments, a determination may be made as to whether the hardware identifier is eligible for any enhanced service from the enhanced services identified above with respect to block 415. If the hardware identifier is not eligible for any enhanced service, flowchart 400 ends.
[0036] Returning to box 425, if the hardware accessory device is eligible for enhanced services, the flowchart 400 continues to box 430. At box 430, a determination is made regarding one or more best matches among the eligible enhanced services. This can include eligible enhanced services for which the user account and / or the hardware accessory device is eligible. According to one or more embodiments, the best match can be determined, for example, by a decision system 114 that is separate from the service system 112. In some embodiments, one or more eligible enhanced services are compared to one or more best match criteria to select one or more best matching enhanced services to present to the user. Then, at box 435, an indication of the best matching enhanced service is sent to the user. In some embodiments, the indication can cause the electronic device to present an enhanced service offer to the user, as described above with respect to Figure 3If no positive response is received at block 440, the flowchart 400 ends. Otherwise, if a positive response to the enhanced service offer is received at block 440, the flowchart 400 ends at block 445, and the accepted enhanced offer is linked to the user identifier, for example, by the service system 112.
[0037] Figure 5 An exemplary network diagram for providing access to resources associated with a hardware connection event according to one or more embodiments is illustrated. Specifically, Figure 5 An alternative exemplary network diagram is depicted in which a resource system 504 is configured to determine eligibility and manage access to enhanced services that may be hosted remotely, such as in an application store 502 .
[0038] Network diagram 500 includes a digital distribution platform (referred to herein as an application store) 502 communicatively connected to an electronic device 506 and a resource system 504 across one or more networks 105. Networks 105 may include, for example, the Internet, a wide area network, a local area network, etc., or any combination thereof.
[0039] The application store 502 may include one or more network devices, such as application storage 510, that can store application data. In some embodiments, the application store 502 can interact with client devices and / or other devices to provide enhanced services once access rights are provided. The electronic device 506 can take a variety of different forms (e.g., a tablet computer such as an iPad, a smart phone such as an iPhone, a laptop computer, a desktop computer, a network media player such as an AppleTV, a game / entertainment system, or other consumer electronic device). The electronic device 506 can be coupled to the application store 502 via one or more networks 105, which provide data communication between the client device and the application store so that the client device can register the device, access resources, and so on.
[0040] According to one or more embodiments, the electronic device 506 may be a consumer device configured to run one or more programming modules such as an application 524 and other executable components such as a media service application 526 and a resource request API 528. The media service application 524 is an example of an enhanced service to which the electronic device 506 obtains access rights based on a connection event between the electronic device 506 and the accessory hardware device 540. The resource request API 528 may include a programming module by which a connection request is linked to an enhanced service offer, as described herein. The programming module is processed by one or more processors 554 from the memory 550. The processor 554 may include one or more different types of processors, such as a central processing unit (CPU), a graphics processing unit (GPU), etc. In some embodiments, the processor 554 may be a system on a chip. The memory 550 may include a memory cache, a read-only memory (ROM), and / or a random access memory (RAM).
[0041] The storage device 552 can store suitable data for executing programming modules, such as application data 530 and other data, such as user data 532. The application data 530 can include data required for the operation of components (such as application 524, media service application 526, and resource request API 528) that can be executed from the memory 550. The storage device 552 may include one or more non-transitory storage media, which include, for example, disks (fixed hard disks, floppy disks, and removable disks) and tapes, optical media (such as CD-ROMs and digital video discs (DVDs)), and semiconductor memory devices (such as electrically programmable read-only memories (EPROMs)) and electrically erasable programmable read-only memories (EEPROMs). The electronic device 506 may include a user interface 520, through which a user can interact with programmable modules such as application 524. The user interface 520 may include an input component, a display component, an audio component, and the like. The electronic device 506 also includes a network interface 522, through which the electronic device is connected to other devices on the network 508.
[0042] The embodiments herein describe a connection event between an electronic device 506 and a hardware accessory device 540. The accessory hardware device 540 may include an electronic device that is communicatively coupled to a client device. Examples of accessory hardware devices include, but are not limited to, headphones or other audio devices, keyboards, gaming / entertainment systems, digital streaming devices, exercise equipment, wearable electronic devices, and the like. Additionally, in some embodiments, the accessory hardware device may be part of a larger system and / or may be connected via a wired connection, such as a vehicle that implements interactive functionality with a mobile device. In some implementations, the accessory hardware device 540 may include pairing data 542 or other connection data for initiating a connection with the electronic device 506. In some embodiments, the pairing data 542 may include a hardware identifier or other information based on which the accessory hardware device 540 may be classified and / or based on which eligible enhanced services may be identified.
[0043] Electronic device 506 may be communicatively coupled to resource system 504 via network 508. Resource system 504 may include one or more network and / or computing devices, such as servers, network storage, remote computing devices, etc. Furthermore, in some embodiments, the functionality of the various components described in resource system 504 may be hosted on a single device or distributed across multiple devices.
[0044] According to one or more embodiments, the resource system 504 may include a service module 512 and a decision module 516. In one or more embodiments, the service module 512 is configured to manage access offers to various enhanced services (e.g., digital services hosted by the application store 502). In some embodiments, the service system 512 can track eligibility metrics and parameters for users, devices, enhanced services, etc. to identify available access offers based on connection events. For example, available access offers can be identified based on registration events for hardware devices. As an example, during a connection event, an accessory hardware device can be paired or otherwise connected to a client device. The connection event may involve a handshake with one or more backend servers, through which the hardware accessory device can be registered.
[0045] The resource system 504 may also include a decision module 514. In some embodiments, the decision module 514 may obtain available enhanced service offers from the service module 512, and select one or more specific offers for presentation from the available offers during a connection event involving a hardware device. In some embodiments, the decision system 114 may select at least one enhanced service offer from the identified enhanced service offers to provide to the client device. The decision system may select at least one enhanced service offer based on one or more predetermined selection criteria. For example, in some embodiments, the selection criteria may be configured to determine the best enhanced service offer based on a hardware accessory device, a client device, a user profile, contextual information, or some combination thereof. In some embodiments, the resource system 504 may include other components, such as a service storage device 516 and registration data 518. In some embodiments, the service storage device 516 may include data as a basis for identifying possible enhanced services. For example, the service memory may include a data structure in which indications of available enhanced service offers and / or qualification terms are stored. The registration data 518 may include a data structure including a link between a user account of the electronic device 506 and an accepted enhanced service offer.
[0046] Figure 6 An exemplary flow chart for selecting and providing offers for access to resources according to one or more embodiments is illustrated. In some embodiments, it may be beneficial for a decision system to execute separately from a service system. For example, for privacy or security reasons, the decision system may select one or more best offers from candidate enhanced service offers determined by the service system without requiring the decision system to access the rules or parameters used by the service system to select the candidate enhanced service offers. On the other hand, the service system may maintain possible service enhancement offers without having to understand how the decision system determines one or more best matching enhanced services to provide to a user device.
[0047] Flowchart 600 illustrates the flow of data across accessory hardware device 602, user device 604, decision system 606, and service system 608. The flowchart begins by initiating a registration process 610. In some embodiments, the registration process can be part of a connection event, where user device 604 initiates a connection with accessory hardware device 602. As part of the registration process, accessory hardware device 602 can provide connection data to enable the connection. In some embodiments, connection data 612 can include an identifier of hardware accessory device 602, or other information that can identify a category or type of hardware accessory device 602.
[0048] Flowchart 600 continues with user device 604 transmitting an offer lookup to service system 608. Offer lookup 614 can be an explicit request for available enhanced service offers. Additionally or alternatively, offer lookup 614 can be other data that triggers service system 608 to determine if any enhanced service offers are available. For example, offer lookup 614 can be part of a handshake technique in which user device 604 registers accessory hardware device 602.
[0049] As mentioned above about Figure 4 As described, the service system 608 can determine available offers 616 based on user account characteristics, attached hardware device information, etc. The available offers 616 are then provided to the decision system 606. The decision system 606 can then determine one or more best matching offers to be provided to the user device through an offer selection process 618, for example, based on one or more best matching criteria. The best matching criteria can be based on user characteristics, enhanced service characteristics, hardware device characteristics, characteristics of available enhanced service offers, and the like. In addition, in some embodiments, the best matching criteria can include user preference information.
[0050] Once the decision system 606 selects one or more offers in the offer selection process 618, the selected offers 620 may be sent or otherwise provided to the user device 604. The user device may then present the enhanced service offer to the user at block 622. The enhanced service offer may provide the user with an opportunity to accept the offer, for example, via a user interface component. If the enhanced service offer is accepted, acceptance data 624 is sent to the service system 608, causing the service system 608 to modify a data structure linking the user account to available and / or accepted offers, and the like.
[0051] Reference now Figure 7 , shows a simplified functional block diagram of an exemplary programmable electronic device 700 for providing access to an application store according to one embodiment. The electronic device 700 may be, for example, a mobile phone, a personal media device, a portable camera or tablet computer, a laptop or desktop computer system, a network device, a wearable device, etc. As shown, the electronic device 700 may include a processor 705, a display 710, a user interface 715, graphics hardware 720, a device sensor 725 (e.g., a proximity sensor / ambient light sensor, an accelerometer and / or a gyroscope), a microphone 730, an audio codec 735, a speaker 740, a communication circuit 745, an image capture circuit or unit 750 (e.g., which may include multiple camera units / optical sensors with different characteristics (and a camera unit housed outside the device 700 but in electronic communication with the device)), a video codec 755, a memory 760, a storage device 765, and a communication bus 770.
[0052] The processor 705 may execute instructions necessary to implement or control the operation of various functions performed by the device 700 (e.g., such as the generation and / or processing of application store metrics according to various embodiments described herein). The processor 705 may, for example, drive the display 710, and may receive user input from a user interface 715. The user interface 715 may take a variety of forms, such as buttons, a keypad, a dial, a click wheel, a keyboard, a display screen, and / or a touch screen. The user interface 715 may, for example, be a conduit through which a user can view a captured video stream and / or indicate a particular image that the user wants to capture or share (e.g., by clicking a physical or virtual button at the moment the desired image is being displayed on the device's display screen).
[0053] In one embodiment, the display 710 may display a video stream captured while the processor 705 and / or the graphics hardware 720 and / or the image capture circuitry simultaneously stores the video stream (or a single image frame from the video stream) in the memory 760 and / or the storage device 765. The processor 705 may be a system on a chip (such as those present in mobile devices) and may include one or more dedicated graphics processing units (GPUs). The processor 705 may be based on a reduced instruction set computer (RISC) or a complex instruction set computer (CISC) architecture or any other suitable architecture and may include one or more processing cores. The graphics hardware 720 may be dedicated computing hardware for processing graphics and / or assisting the processor 705 in performing computing tasks. In one embodiment, the graphics hardware 720 may include one or more programmable graphics processing units (GPUs).
[0054] For example, according to the present disclosure, the image capture circuit 750 may include one or more camera units configured to capture images. The output from the image capture circuit 750 may be processed at least in part by: a video codec 755 and / or a processor 705 and / or graphics hardware 720 and / or a dedicated image processing unit incorporated into the circuit 750. The images thus captured may be stored in a memory 760 and / or a storage device 765. The memory 760 may include one or more different types of media used by the processor 705, the graphics hardware 720, and the image capture circuit 750 to perform device functions. For example, the memory 760 may include a memory cache, a read-only memory (ROM), and / or a random access memory (RAM). The storage device 765 may store media (e.g., audio files, image files, and video files), computer program instructions or software, preference information, device profile information, and any other suitable data. The storage device 765 may include one or more non-transitory storage media, including, for example, magnetic disks (fixed hard disks, floppy disks, and removable disks) and tapes, optical media (such as CD-ROMs and digital video disks (DVDs)), and semiconductor memory devices (such as electrically programmable read-only memories (EPROMs) and electrically erasable programmable read-only memories (EEPROMs). The memory 760 and the storage device 765 may be used to maintain computer program instructions or codes organized into one or more modules and written in any desired computer programming language. When executed by, for example, the processor 705, such computer program code may implement one or more of the methods described herein. The power supply 775 may include a rechargeable battery (e.g., a lithium-ion battery, etc.) or other electrical connection to a power source (e.g., to a main power source) to manage the electronic components and associated circuits of the electronic device 700 and / or to provide power to the electronic components and associated circuits.
[0055] In the foregoing description, many specific details such as specific configurations, attributes and processes, etc. are described to provide a thorough understanding of the embodiments. In other examples, well-known processes and manufacturing techniques have not been described in particular detail so as not to unnecessarily obscure the embodiments. Throughout this specification, references to "one embodiment", "embodiment", "another embodiment", "other embodiments", "some embodiments" and their variations mean that the specific features, structures, configurations or characteristics described in conjunction with the embodiment are included in at least one embodiment. Therefore, the phrases "for an embodiment", "for an embodiment", "for another embodiment", "in other embodiments", "in some embodiments" or their variations in various positions that appear throughout this specification do not necessarily refer to the same embodiment. In addition, specific features, structures, constructions or characteristics can be combined in one or more embodiments in any appropriate manner.
[0056] In the following description and claims, the terms "coupled" and "connected" and their derivatives may be used. It should be understood that these terms are not intended to be synonymous with each other. "Coupled" is used herein to indicate that two or more elements or components that may or may not be in direct physical or electrical contact with each other cooperate or interact with each other. "Connected" is used to indicate the establishment of communication between two or more elements or components that are coupled to each other.
[0057] Certain portions of the foregoing detailed description have been presented in terms of algorithms and symbolic representations of operations on data bits in a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the art of data processing to most effectively convey the substance of their work to others skilled in the art. An algorithm is here and generally refers to a self-consistent sequence of operations leading to a desired result. These operations are those requiring physical manipulation of physical quantities. However, it should be kept in mind that all of these and similar terms are associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless otherwise specifically stated, it will be apparent from the above discussion that it should be understood that throughout this specification, discussions utilizing terms such as those set forth in the following claims refer to operations and processes of a computer system or similar electronic computing system that can manipulate data represented as physical (electronic) quantities in computer system registers and memories and convert them into other data that are also displayed as physical quantities in computer memories, registers, or other such information storage, transmission, or display devices.
[0058] The embodiments described herein may relate to a device for executing a computer program (e.g., the operations described herein, etc.). Such a computer program may be stored in a non-temporary computer-readable medium. A machine-readable medium includes any mechanism for storing information in a machine (e.g., computer) readable form. For example, a machine-readable (e.g., computer-readable) medium includes a machine (e.g., computer) readable storage medium (e.g., read-only memory ("ROM"), random access memory ("RAM"), magnetic disk storage medium, optical storage medium, flash memory device).
[0059] Although the above describes operations or methods according to some sequential operations, it should be understood that some of the operations described can be performed in different orders. In addition, some operations can also be performed in parallel rather than in order. The embodiments described herein are not described with reference to any specific programming language. It should be understood that various embodiments of the disclosed subject matter can be implemented using various programming languages. In utilizing the various aspects of the embodiments described herein, it will be apparent to those skilled in the art that the combination, modification or variation of the above embodiments is possible for the components of the management processing system to increase the power and performance of at least one component in those components. Therefore, it is obvious that various modifications can be made to it without departing from the broad essence and scope of at least one disclosed concept in the disclosed concepts set forth in the appended claims. Therefore, the specification and the accompanying drawings are regarded as illustrative rather than restrictive.
[0060] In the development of any actual implementation of one or more of the disclosed concepts (e.g., such as a software and / or hardware development project, etc.), many decisions must be made to achieve the developer's specific goals (e.g., to comply with system-related constraints and / or business-related constraints). These goals may vary from implementation to implementation, and such variations may affect the actual implementation of one or more of the disclosed concepts set forth in the embodiments described herein. Such development work may be complex and time consuming, but may still be a daily routine for those of ordinary skill in the art in the design and / or implementation of one or more of the inventive concepts set forth in the embodiments described herein.
[0061] As described above, one aspect of the present technology is to collect and use data from various sources to improve the delivery of enhanced digital services associated with hardware connection events. The present disclosure contemplates that, in some instances, these collected data may include personal information data that uniquely identifies or can be used to contact or locate a specific person. Such personal information data may include demographic data, location-based data, phone numbers, email addresses, social network accounts, home addresses, data or records related to the user's health or fitness level (e.g., vital sign measurements, medication information, exercise information), date of birth, or any other identifying information or personal information.
[0062] The present disclosure recognizes that the use of such personal information data in the present invention technology can be used to benefit users. For example, personal information data can be used to determine certain application store metrics. Therefore, the use of such personal information data enables users to have a smoother and more meaningful experience when using the application store and the applications hosted by the application store. In addition, the present disclosure also anticipates other uses of personal information data that benefit users.
[0063] The disclosure anticipates that entities responsible for the collection, analysis, disclosure, transmission, storage or other uses of such personal information data will comply with sound privacy policies and / or privacy measures. Specifically, such entities should implement and adhere to the use of privacy policies and measures that are recognized as meeting or exceeding the industry or government requirements for maintaining the privacy and security of personal information data. Such policies should be easy for users to access and should be updated as changes in the collection and / or use of data occur. Personal information from users should be collected for legal and reasonable entity purposes and should not be shared or sold outside these legal purposes. In addition, such collection / sharing should be carried out after receiving the user's informed consent. In addition, such entities should consider taking any necessary steps to protect and safeguard access to such personal information data, and ensure that other entities with access to personal information data comply with the privacy policies and procedures of other entities. In addition, such entities can subject themselves to third-party assessments to prove that they comply with widely accepted privacy policies and practices. In addition, policies and practices should be adapted to specific types of personal information data collected and / or accessed, and to applicable laws and standards including considerations of special jurisdictions.
[0064] Regardless of the foregoing, the present disclosure also contemplates implementation schemes in which users selectively block the use or access of personal information data. That is, the present disclosure contemplates providing hardware elements and / or software elements to prevent or block access to such personal information data. For example, with respect to enhanced services, the technology of the present invention may be configured to allow users to choose to "opt in" or "opt out" at any time during or after registration for a service to participate in the collection of personal information data. For another example, users may choose not to provide their content and other personal information data to improve content sharing suggestion services. For another example, users may be able to choose to limit the length of time that a third party maintains their personal information data, limit the length of time that content sharing suggestions can be extracted from it in the past, and / or completely prohibit the development of knowledge graphs or other metadata profiles. In addition to providing "opt-in" and "opt-out" options, the present disclosure also contemplates providing notifications related to access or use of personal information. For example, users may be notified that their personal information data will be accessed when downloading an application, and then reminded again just before the personal information data is accessed by the application.
[0065] In addition, it is the intention of the present disclosure that personal information data should be managed and processed in a manner that minimizes the risk of unintentional or unauthorized access or use. Once the data is no longer needed, the risk can be minimized by limiting the collection of data and deleting the data. In addition, and when applicable, including in certain health-related applications, data de-identification can be used to protect the privacy of users. De-identification can be facilitated by removing specific identifiers (e.g., date of birth, etc.), controlling the amount or specificity of stored data (e.g., collecting location data at the city level rather than at the address level), controlling how the data is stored (e.g., aggregating data between users), and / or other methods when appropriate.
[0066] Thus, while the present disclosure broadly covers the use of personal information data to implement one or more of the various disclosed embodiments, the present disclosure also contemplates that various embodiments may also be implemented without access to such personal information data. That is, the various embodiments of the present technology will not fail to function properly due to the lack of all or a portion of such personal information data. For example, preferences may be inferred based on non-personal information data or absolutely minimal personal information such as the quality level of the content (e.g., focus, exposure level, etc.) or the fact that a device associated with the user's contacts, other non-personal information available in the app store, or publicly available information, thereby recommending content to be shared with a user.
[0067] As used above and in the claims below, the phrases "at least one of A, B, or C" and "one or more of A, B, or C" include A alone, B alone, C alone, a combination of A and B, a combination of B and C, a combination of A and C, and a combination of A, B, and C. That is, the phrases "at least one of A, B, or C" and "one or more of A, B, or C" mean A, B, C, or any combination thereof, so that one or more of a group of elements consisting of A, B, and C should not be interpreted as requiring at least one of each of the listed elements A, B, and C, regardless of whether A, B, and C are related to a category or otherwise. In addition, the use of the articles "a" or "the" when introducing an element should not be interpreted as excluding multiple elements. Moreover, the expression "A, B, and / or C" is equivalent to "at least one of A, B, or C". Moreover, "a" used in the present disclosure means "one or more". For example, "application" means "an application" or "a group of applications".
Claims
1. A non-transitory computer readable medium comprising computer readable code executable by one or more processors to: receiving, at a local device, a connection request to connect a hardware accessory to the local device; In response to the connection request, identifying one or more services for the local device based on the hardware accessory; as well as A prompt is presented on a user interface to initiate access of the service by the local device.
2. The non-transitory computer readable medium of claim 1, wherein the connection request comprises a hardware accessory identifier, and wherein the computer readable code for identifying the one or more services comprises computer readable code for: The hardware accessory identifier is provided to a service system, wherein the service system identifies one or more qualifying services based on the hardware accessory identifier. 3 . The non-transitory computer-readable medium of claim 2 , wherein the service system further identifies one or more eligible services based on a user account associated with the connection request.
4. The non-transitory computer readable medium of claim 3, wherein the computer readable code to identify, in response to the connection request, one or more services for the local device based on the hardware accessory further comprises computer readable code to: At least one service is selected from the one or more services based on a best matching criterion.
5. The non-transitory computer-readable medium of claim 1, wherein the connection request is associated with a connection interface for the hardware accessory, and wherein the prompt is presented in the connection interface.
6. The non-transitory computer readable medium of claim 5, further comprising computer readable code for: When an affirmative response to the prompt is received, a registration interface for the service is caused to be presented on the local device.
7. The non-transitory computer readable medium of claim 6, further comprising computer readable code for sending an indication to a service system that the access to the service has been initiated.
8. The non-transitory computer-readable medium of claim 1, wherein the computer-readable code for identifying one or more services for the local device based on the hardware accessory in response to the connection request further comprises computer-readable code for confirming that the local device is currently unable to access the services.
9. A method comprising: receiving, at a local device, a connection request to connect a hardware accessory device to the local device; In response to the connection request, identifying one or more services for the local device based on the hardware accessory; as well as A prompt is presented on a user interface to initiate access of the service by the local device.
10. The method of claim 9, wherein the connection request includes a hardware accessory identifier, and wherein identifying the one or more services includes: The hardware accessory identifier is provided to a service system, wherein the service system identifies one or more qualifying services based on the hardware accessory identifier.
11. The method of claim 10, wherein the service system further identifies the one or more eligible services based on a user account associated with the connection request.
12. The method of claim 11, wherein in response to the connection request, identifying one or more services for the local device based on the hardware accessory further comprises: At least one service is selected from the one or more services based on a best matching criterion.
13. The method of claim 9, wherein the connection request is associated with a connection interface for the hardware accessory, and wherein the prompt is presented in the connection interface.
14. The method according to claim 13, further comprising: When an affirmative response to the prompt is received, a registration interface for the service is caused to be presented on the local device.
15. The method of claim 14, further comprising sending an indication to a service system that the access to the service has been initiated.
16. The method of claim 9, wherein in response to the connection request, identifying one or more services for the local device based on the hardware accessory further comprises computer readable code confirming that the local device is currently unable to access the services.
17. A system, comprising: one or more processors; and One or more computer readable media comprising computer readable code executable by the one or more processors to: receiving, at a local device, a connection request to connect a hardware accessory device to the local device; In response to the connection request, identifying one or more services for the local device based on the hardware accessory; as well as A prompt is presented on a user interface to initiate access of the service by the local device.
18. The system of claim 17, wherein the connection request comprises a hardware accessory identifier, and wherein the computer readable code for identifying the one or more services comprises computer readable code for: The hardware accessory identifier is provided to a service system, wherein the service system identifies one or more qualifying services based on the hardware accessory identifier.
19. The system of claim 18, wherein the service system further identifies one or more eligible services based on a user account associated with the connection request.
20. The system of claim 19, wherein the computer readable code to identify, in response to the connection request, one or more services for the local device based on the hardware accessory further comprises computer readable code to: At least one service is selected from the one or more services based on a best matching criterion.