SYSTEM AND METHOD FOR SELECTING INSTALLATION ORDER FOR VEHICLE APPLICATIONS - Patent application

The system allows users to specify and prioritize application installation orders in vehicle infotainment systems, addressing delays in critical application installation by using machine learning to ensure safety-critical applications are installed first.

JP7609940B2Active Publication Date: 2025-01-07WOVEN BY TOYOTA INC
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2023133571
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2023-01-26
Filing Date
2023-08-18
Publication Date
2025-01-07
Estimated Expiration
2043-08-18

AI Technical Summary

Technical Problem

Existing vehicle infotainment systems do not allow users to choose the order in which applications are downloaded and installed, leading to delays in the installation of critical applications, such as those related to vehicle defects, as they must wait for non-critical applications selected by the user to be installed first.

Method used

A system and method that enables users to specify the installation order of applications, prioritizes critical applications, and uses machine learning to determine the order based on user behavior and application type, ensuring that safety-critical or defect-related applications are installed first.

Benefits of technology

Enables users to prioritize and manage the installation of applications efficiently, reducing wait times for critical applications and improving vehicle safety by ensuring they are installed promptly.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007609940000001
    Figure 0007609940000001
  • Figure 0007609940000002
    Figure 0007609940000002
  • Figure 0007609940000003
    Figure 0007609940000003
Patent Text Reader

Abstract

To provide a system for and a method of managing installation of an application package.SOLUTION: The present invention is directed to providing a method of, a system for, and a device for managing an order of installing vehicle applications. According to an embodiment of the present invention, there is provided a method of determining an order of installing an application package for a vehicle. The method includes the steps of: downloading a plurality of application packages by at least one processor of the vehicle; acquiring a user-designated order of installing the plurality of application packages by at least one processor; and installing the plurality of application packages in accordance with the acquired user-designated installation order.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] Methods, systems, and apparatus consistent with example embodiments of the present disclosure relate to installing applications in a vehicle, and more particularly, to selecting an installation order for one or more applications in a vehicle. [Background technology]

[0002] Related art vehicle infotainment and control systems execute one or more applications installed therein. The applications are installed or updated via wireless communication from one or more web storages. A related art in-vehicle infotainment (IVI) system allows a user to select one or more applications that the user wants to install via the user's terminal (e.g., a smartphone, etc.) and / or via an input device (e.g., a display device, etc.) attached to the vehicle.

[0003] Nevertheless, the related art IVI system does not allow a user to select the order in which applications selected for installation in the vehicle are downloaded and installed. As a result, if a user wants to immediately use a particular application, the user must wait for the previous application to be installed first.

[0004] Similarly, related art IVI systems do not install applications according to the application's importance or priority. For example, an application related to a vehicle defect that needs to be installed as soon as possible may be delivered to the IVI system without the user's knowledge, but the related art IVI system cannot differentiate and prioritize such an important application over other non-important applications (such as the previous application selected by the user). Thus, such an important application may have to wait for the previous application to be installed first, thereby delaying the installation of the more important application. Summary of the Invention

[0005] Exemplary embodiments of the present disclosure provide systems and methods for managing installation of application packages. According to embodiments, methods and systems are provided that allow a user to define an order in which one or more application packages are downloaded and / or installed. Additionally, the methods and systems may automatically determine a priority for one or more application packages. Thus, the methods and systems may automatically download and / or install one or more application packages based on a user-specified order and / or based on an order defined by a priority.

[0006] According to an embodiment, a method for defining an installation order for application packages in a vehicle is provided, the method including downloading a plurality of application packages by at least one processor in the vehicle, obtaining, by the at least one processor, a user-specified installation order for the plurality of application packages, and installing the plurality of application packages in accordance with the obtained user-specified installation order.

[0007] The installation may include determining an application package among a plurality of application packages as a preferred application package and installing the determined preferred application package first regardless of a user-specified installation order. The determination may include determining a safety-critical application package or an application package associated with a vehicle defect as the preferred application package.

[0008] The download may include downloading multiple packages according to a user-specified installation order.

[0009] The method may further include determining an installation order for one or more applications for which an installation order has not been specified by a user based on at least one of a user behavior history or a related user behavior history, wherein determining the installation order may include determining the installation order using a machine learning model.

[0010] The obtaining of a user-specified installation order for the multiple application packages may include presenting information associated with the multiple application packages to a user, receiving user input associated with the multiple application packages, and determining a user-specified installation order for the multiple application packages based on the user input.

[0011] According to an embodiment, a system for defining an installation order for application packages in a vehicle is provided, the system including at least one memory storage that stores computer-executable instructions and at least one processor communicatively connected to the at least one memory storage, wherein the at least one processor may be configured to execute the computer-executable instructions to download a plurality of application packages, obtain a user-specified installation order for the plurality of application packages, and install the plurality of application packages in accordance with the obtained user-specified installation order.

[0012] The at least one processor may be configured to execute computer-executable instructions to install the multiple application packages by determining an application package among the multiple application packages as a preferred application package and installing the determined preferred application package first regardless of a user-specified installation order. The at least one processor may be configured to determine an application package as the preferred application package by executing computer-executable instructions to determine a safety-critical application package or an application package associated with a vehicle defect as the preferred application package.

[0013] The at least one processor may be configured to execute computer-executable instructions to download the multiple application packages by downloading the multiple packages according to a user-specified installation order.

[0014] The at least one processor may be further configured to execute the computer-executable instructions to determine an installation order for one or more applications for which an installation order has not been specified by a user based on at least one of a user behavior history or related user behavior history. The at least one processor may be further configured to execute the computer-executable instructions to determine the installation order by using a machine learning model to determine the installation order.

[0015] The at least one processor may be further configured to execute computer-executable instructions to obtain a user-specified installation order by presenting information associated with the plurality of application packages to a user, receiving user input associated with the plurality of application packages, and determining a user-specified installation order for the plurality of application packages based on the user input.

[0016] According to an embodiment, a non-transitory computer-readable recording medium is provided having instructions executable by at least one processor recorded thereon to cause the at least one processor to perform a method of defining an installation order for application packages for a vehicle, the method including: downloading, by the at least one processor of the vehicle, a plurality of application packages; obtaining, by the at least one processor, a user-specified installation order for the plurality of application packages; and installing the plurality of application packages according to the obtained user-specified installation order.

[0017] The installation may include determining an application package among a plurality of application packages as a preferred application package and installing the determined preferred application package first regardless of a user-specified installation order. The determination may include determining a safety-critical application package or an application package associated with a vehicle defect as the preferred application package.

[0018] The download may include downloading multiple packages according to a user-specified installation order.

[0019] The method may further include determining an installation order for one or more applications for which an installation order has not been specified by a user based on at least one of a user behavior history or a related user behavior history, wherein determining the installation order may include determining the installation order using a machine learning model.

[0020] The obtaining of a user-specified installation order for the multiple application packages may include presenting information associated with the multiple application packages to a user, receiving user input associated with the multiple application packages, and determining a user-specified installation order for the multiple application packages based on the user input.

[0021] Additional aspects will be set forth in part in the description that follows, and in part will be apparent from the description, or may be realized by practice of the presented embodiments of the present disclosure. [Brief description of the drawings]

[0022] The features, advantages and importance of preferred embodiments of the present disclosure will now be described with reference to the accompanying drawings, in which like reference numerals refer to like elements, and in which: [Figure 1]FIG. 1 illustrates a block diagram of an exemplary system for downloading and installing vehicle application packages according to one or more embodiments. [Diagram 2] FIG. 2 illustrates a block diagram of an example infotainment system according to one or more embodiments. [Diagram 3] FIG. 3 illustrates a block diagram of a method for defining an installation order for application packages in a vehicle according to one or more embodiments. [Figure 4A] FIG. 4A illustrates an exemplary generalized graphical user interface (GUI) according to one or more embodiments. [Figure 4B] FIG. 4B illustrates another exemplary generalized GUI according to one or more embodiments. [Diagram 5] FIG. 5 illustrates an exemplary GUI including sub-windows according to one or more embodiments. [Figure 6] FIG. 6 illustrates a table containing example application packages and associated information according to one or more embodiments. [Figure 7] FIG. 7 illustrates a block diagram of a method for installing application packages according to an installation order according to one or more embodiments. [Figure 8] FIG. 8 shows a diagram of exemplary components of a device according to one or more embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0023] The following detailed description of the preferred embodiments refers to the accompanying drawings. The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementation to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the implementation. Furthermore, one or more features or components of one embodiment may be incorporated in or combined with another embodiment (or one or more features of another embodiment). Furthermore, in the flowcharts and descriptions of operations provided below, it is understood that one or more operations may be omitted, one or more operations may be added, one or more operations may be performed (at least partially) simultaneously, and the order of one or more operations may be changed.

[0024] It will be apparent that the systems and / or methods described herein may be implemented in various forms of hardware, firmware, or a combination of hardware and software. The actual dedicated control hardware or software code used to implement the systems and / or methods is not a limitation of the implementation. Thus, the operation and behavior of the systems and / or methods are described herein without reference to specific software code, and it will be understood that software and hardware can be designed to implement the systems and / or methods based on the description herein.

[0025] Although a particular combination of features is recited in a claim and / or disclosed herein, that combination is not intended to limit the disclosure of possible implementations. Indeed, many of the features may be combined in ways not specifically recited in the claims and / or disclosed herein. Although each dependent claim listed below may depend directly on only one claim, the disclosure of possible implementations includes each dependent claim in combination with all other claims in the claim set.

[0026] No element, act, or instruction used herein should be construed as critical or required unless expressly stated otherwise. Also, as used herein, the articles "a" and "an" are intended to include one or more items and may be used interchangeably with "one or more." When only one item is intended, the term "a" or similar terms are used. Also, as used herein, the terms "has," "have," "having," "include," "including," or the like are intended to be open-ended terms. Furthermore, the phrase "based on" is intended to mean "based at least in part on," unless expressly stated otherwise. Furthermore, phrases such as "at least one of [A] and [B]" or "at least one of [A] or [B]" should be understood as including only A, only B, or both A and B.

[0027] References throughout this specification to "one embodiment," "an embodiment," "a non-limiting preferred embodiment," or similar terms mean that a particular feature, structure, or characteristic described in connection with the illustrated embodiment is included in at least one embodiment of the solution. Thus, the phrases "in one embodiment," "in an embodiment," "a non-limiting preferred embodiment," and similar terms throughout this specification may, but do not necessarily, all refer to the same embodiment.

[0028] Furthermore, the described features, advantages, and characteristics of the present disclosure may be combined in any suitable manner in one or more embodiments. Those skilled in the art will recognize, in light of the description herein, that the present disclosure may be practiced without one or more of the specific features or advantages of a particular embodiment. In other instances, additional features and advantages may be recognized in certain embodiments that may not be present in all embodiments of the present disclosure.

[0029] In one implementation of the disclosure described herein, a display page may include information residing in a memory of a computing device, which may be transmitted from the computing device to a data center over a network, or vice versa. Information may be stored in memory at the computing device, data storage at the edge of the network, or a server at the data center. A computing device or a mobile device may receive non-transitory computer-readable media, which may include instructions, logic, data, or code that may be stored in a permanent or temporary memory of a mobile device, or that may affect or initiate an action by the mobile device in some way. Similarly, one or more servers may communicate with one or more mobile devices in a network and transmit computer files residing in memory. For example, a network may include the Internet, a wireless communication network, or any other network that connects one or more mobile devices to one or more servers.

[0030] "Application package," "software," "application," "app," and "firmware," and similar phrases and terms, may include any suitable type of software application or data package that may be installed on one or more systems of a vehicle. Although exemplary embodiments are described herein in the context of installing one or more application packages in a vehicle infotainment system, it may be understood that the description associated therewith is merely exemplary and is not intended to limit the scope of the disclosure in any manner.

[0031] Modern vehicles typically include an in-vehicle infotainment (IVI) system to provide a combination of entertainment and information to a user (e.g., a driver, a passenger, etc.) to enhance the user's in-vehicle experience. An IVI system may execute one or more installed application packages to provide associated services. For example, an IVI system may execute an audio streaming application to provide audio entertainment, a video player application to provide video entertainment, a web browser application to provide web surfing, a global positioning system (GPS) application to provide road navigation, and the like.

[0032] Exemplary embodiments of the present disclosure provide systems and methods that allow a user (e.g., a vehicle driver, a passenger, an application distributor, etc.) to manage the installation of vehicle application packages. In particular, the systems and methods of the exemplary embodiments allow a user to define an order in which application packages are downloaded and allow a user to define an order in which application packages are installed. Thus, the systems and methods may automatically download and / or install application packages according to a user-specified order.

[0033] Additionally, according to embodiments, the systems and methods may automatically determine a priority for one or more application packages based on the type of application package, the type of associated user, or a combination thereof, and thus may automatically download and / or install one or more application packages based on an order defined by the determined priorities and a user-specified order.

[0034] Further, according to embodiments, the systems and methods may utilize machine learning (ML) models to predict the download and installation order of application packages. In particular, the systems and methods may utilize one or more ML models to automatically determine the download and installation order of one or more application packages, and may automatically perform the download and installation based on the determined order or may recommend the determined order to a user.

[0035] Finally, the exemplary embodiments of the present disclosure allow a user to define and prioritize the download and / or installation of one or more application packages, so that the user may utilize a desired application in a timely manner without waiting for other prior applications to be downloaded and installed. In addition, the download and / or installation of application packages with high importance or urgency may be prioritized before other application packages, thus improving vehicle safety since the application packages are installed before other application packages. Furthermore, by implementing one or more ML models to automatically determine the order in which to download and / or install application packages, the burden on the user may be reduced and the user experience may be improved (especially for inexperienced users who are not familiar with configuring the order and / or do not have insight into which application packages should be prioritized).

[0036] 1 illustrates a block diagram of an example system 100 for downloading and installing application packages according to one or more embodiments. With reference to FIG. 1, the system 100 may include a vehicle 110, a network 120, storage 130, and optional user equipment (UE) 140.

[0037] The vehicle 110 may be any motorized and / or mechanical machine capable of carrying or transporting people and / or cargo, such as a car, truck, motorcycle, bus, bicycle, mobility scooter, and the like. Additionally, the vehicle 110 may include an infotainment system that may be configured to execute processes (e.g., downloading, installing, operating, etc.) associated with one or more application packages. The processes associated with the one or more application packages may be initiated by a vehicle user (e.g., driver, passenger, etc.) via the UE 140 and / or via an input component (e.g., display, etc.) of the vehicle, and / or by a distributor (e.g., vehicle manufacturer, application developer, etc.) via any suitable device communicatively connected to the vehicle 110 (e.g., via the network 120, etc.). The one or more application packages may be retrieved (e.g., downloaded, received, etc.) by the vehicle 110 from the storage 130 via the network 120.

[0038] Network 120 may include one or more data links that enable the transport of electronic data between vehicle 110 and storage 130 (and components or systems contained therein). According to an embodiment, network 120 may include one or more wired and / or wireless networks. For example, network 120 may include a cellular network (e.g., a fifth generation (5G) network, a long-term evolution (LTE) network, a third generation (3G) network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., a Public Switched Telephone Network (PSTN)), a private network, an ad-hoc network, an intranet, the Internet, an optical fiber-based network, or the like, and / or a combination of these or other types of networks.

[0039] Storage 130 may include one or more web storages or servers configured to store data (e.g., installation packages, media content, source code, etc.) associated with one or more application packages. For example, storage 130 may receive such data from a vehicle manufacturer and / or an application developer and store the received data therein. Furthermore, storage 130 may receive requests for one or more stored data (e.g., from vehicle 110 via network 120) and provide the requested data accordingly. Furthermore, according to an embodiment, storage 130 may include any non-transitory computer-readable medium that stores computer-readable instructions or programs associated with one or more application packages such that, when executed by a computer (or processor), the computer performs a method, function, or control operation associated with one or more application packages. Furthermore, storage 130 may be implemented in any suitable hardware and / or software in any suitable location, such as a server in a server cluster, a server in a data center (e.g., an edge data center, a far edge data center, a central data center, etc.), and the like.

[0040] UE 140 may include one or more devices capable of receiving, generating, storing, processing, and / or providing information between system 100. For example, UE 140 may include a computing device (e.g., a desktop computer, a laptop computer, a tablet computer, a handheld computer, a smart speaker, a server, etc.), a mobile phone (e.g., a smartphone, a wireless phone, etc.), a wearable device (e.g., a pair of smart glasses or a smart watch), a personal digital assistant (PDA), a roaming device (e.g., a network-connected roaming device), a wireless device (e.g., a wireless email device or other device capable of wirelessly communicating with a computer network), or any other suitable device. Any description of any UE mentioned in this specification may also apply to other devices, such as devices including short-range ultra-high frequency (UHF) devices, near-field communication (NFC) modules, infrared (IR) modules, controller area network (CAN) modules, universal serial bus (USB) modules, high definition multimedia interface (HDMI) modules, Bluetooth (registered trademark) modules, and Wi-Fi modules, among others.

[0041] To this end, vehicle 110 (or an infotainment system included therein) may be communicatively connected to network 120 and may transmit (via network 120) a request to storage 130 to download and / or install one or more application packages. The request may be a user request received by vehicle 110 from UE 140 and / or a request automatically generated by vehicle 110 (or an infotainment system included therein) upon detecting that one or more application packages need to be installed.

[0042] Upon receiving the request, storage 130 may retrieve the required data and transmit the data to vehicle 110 via network 120. Vehicle 110 may then install one or more application packages based on the received data. As described further below, in embodiments, storage 130 may provide the requested data according to a determined order. Similarly, vehicle 110 may install one or more application packages according to a determined order.

[0043] 2 illustrates a block diagram of an example infotainment system 200 according to one or more embodiments. Infotainment system 200 may be included in a vehicle (e.g., vehicle 110 of FIG. 1) and may be configured to execute one or more applications installed thereon to provide one or more infotainment services.

[0044] With reference to FIG. 2, infotainment system 200 may include at least one processor 210, at least one storage 220, and at least one communication interface 230, although it may be understood that infotainment system 200 may include any additional hardware and software components without departing from the scope of the present disclosure.

[0045] Storage 220 may include any computer-readable medium (e.g., hard disk, memory card storage, etc.) on which one or more application packages are installed and stored. For example, storage 220 may store computer-readable instructions or programming source code associated with one or more application packages and provide same to processor 210 when needed. Additionally, it may be understood that storage 220 may have any other suitable data or information stored thereon, such as an operating system (OS), user information, and the like.

[0046] Processor 210 may include any computing unit or controller (e.g., a central processing unit (CPU), a graphic processing unit (GPU), a microprocessor, a car computer, etc.) that may be configured to perform one or more operations. For example, processor 210 may retrieve computer-readable instructions associated with one or more application packages from storage 220 and execute the retrieved computer-readable instructions to perform one or more operations of the associated service. According to an embodiment, processor 210 may generate one or more graphical user interfaces (GUIs) from which a user can specify an order for downloading and / or installing one or more application packages.

[0047] The communication interface 230 may include one or more communication devices to enable communication between the processor 210 and other devices. For example, the communication interface 230 may receive data defining one or more GUIs from the processor 210 and provide the data to one or more display devices (e.g., display screens, etc.) deployed in a vehicle (e.g., the vehicle 110 of FIG. 1 ) so that the one or more display devices may generate and present the one or more GUIs thereon based on the received data. Additionally, the communication interface 230 may be communicatively coupled to one or more user equipment (UE) (e.g., the UE 140 of FIG. 1 ) and provide data defining one or more GUIs to the one or more UEs so that the one or more UEs may generate and present the one or more GUIs thereon based on the received data. Additionally, the communication interface 230 may be communicatively coupled to one or more networks (e.g., the network 120 of FIG. 1 ) to transmit data thereto and to retrieve data therefrom (e.g., from the storage 130).

[0048] 3 illustrates a block diagram of a method 300 for defining an installation order for application packages in a vehicle, according to one or more embodiments. Method 300 may be performed by an infotainment system (e.g., infotainment system 200 of FIG. 2) in a vehicle (e.g., vehicle 110 of FIG. 1) to enable a user to specify or define (e.g., via UE 140, via a display device installed in the vehicle, etc.) an order for installing one or more application packages retrieved from storage (e.g., storage 130). According to an embodiment, one or more operations of method 300 may be performed by at least one processor (e.g., processor 210 of FIG. 2) of the infotainment system.

[0049] 3, at operation S310, information associated with one or more application packages is presented to a user. Specifically, the infotainment system (or one or more components included therein) may be configured to retrieve information of available application packages (e.g., new applications, application updates, firmware updates, etc.) from storage over a network and may be configured to generate a graphical user interface (GUI) based on the retrieved information. Data or information defining the GUI may then be provided to a display device (e.g., a display device in the UE 140, a display device installed in the vehicle, etc.), which may generate and display the GUI to the user based on the data or information. As described further below, the GUI may include one or more interactive elements (e.g., buttons, drop-down lists, etc.) that are interacted with by the user to configure an installation order of one or more application packages.

[0050] Still referring to Figure 3, at operation S320, user input is received. In particular, the infotainment system (or one or more components included therein) may be configured to receive a user selection or user-specified configuration of an application package. According to an embodiment, the infotainment system may be configured to receive a user interaction with one or more interactive elements included in a displayed GUI.

[0051] At operation S330, an installation order is determined. In particular, the infotainment system (or one or more components included therein) may be configured to determine a user-specified installation order based on user input.

[0052] According to an embodiment, the installation order is included or updated in a record file (or any other suitable form of storage) stored in the infotainment system's storage (e.g., storage 220). The record file may include past installation orders and associated application package information specified by a user. In this manner, the record file may be utilized by the infotainment system such that one or more associated application packages are installed based on the user-specified installation order. Additionally, the record file may also be utilized by the infotainment system to automatically predict and / or generate installation order recommendations.

[0053] In the following, exemplary embodiments associated with user interaction with one or more GUIs are described with reference to Figures 4A, 4B, and 5. It is contemplated that the GUIs shown in Figures 4A, 4B, and 5 above are simplified examples provided for illustrative purposes only, and embodiments of the present disclosure should not be limited thereto. For example, the GUIs may include more or fewer components, display information in a different arrangement, or the like, without departing from the scope of the present disclosure.

[0054] 4A illustrates an example of a generic graphical user interface (GUI) 400 according to one or more embodiments. The GUI 400 may be generated by an infotainment system (e.g., infotainment system 200 of FIG. 2 or one or more components included therein) and presented to a user to define an installation order for application packages. With reference to FIG. 4A, the GUI 400 may include a sub-window 410 and an interactive element 430.

[0055] Sub-window 410 may include information associated with one or more application packages, such as the name of the application package, the type of application package, the state of the application package, and the current order of the application packages. Additionally, sub-window 410 may include a number of interactive elements 420. Additionally, sub-window 410 may present more detailed information about one or more application packages, if applicable.

[0056] In the exemplary GUI shown in Fig. 4A, "Package 3" is an application package including four applications (shown in Fig. 4A as "App 3.1" to "App 3.4") and is selected by the user. Thus, information associated with "Package 3" is presented distinct from the other application packages (e.g., filled with a pattern), and detailed information of the four applications included in "Package 3" is presented in sub-window 410.

[0057] The order of the application packages shown in the sub-window 410 may be pre-stored by the infotainment system based on past records. For example, a processor (e.g., processor 210) of the infotainment system may retrieve a record file (including past information of user-specified installation order, etc.) from a storage (e.g., storage 130, storage 220, etc.) and automatically arrange the order of the application packages according to the record file when generating the GUI. Alternatively, the order of the application packages shown in the sub-window 410 may be pre-stored by the infotainment system based on a timestamp associated with each of the application packages. For example, the processor may record a time instant (e.g., the time when the information of the application package is received, etc.) each time an application package is detected, and automatically arrange the order of the application packages according to the recorded time instant of each application package (e.g., the most recently detected application package is assigned a lower order and is presented first, etc.).

[0058] If the user is satisfied or agrees with the pre-stored order, the user may initiate the installation process by simply interacting (e.g., tapping, etc.) with interactive element 430. Thus, the infotainment system (or one or more components included therein) may download and / or install the application packages according to the pre-stored order.

[0059] In other cases, a user may select or configure the order in which application packages are downloaded and / or installed by interacting with interactive element 420. A user may select or configure the order of the application packages together or separately (if applicable). For example, if a user wants to change the order of a first application package to be lower than a second application package, the user may click or tap the up arrow on the associated interactive element 420. Additionally, a user may rearrange the order of applications included in an application package in a similar manner. Thus, the infotainment system processor may update the GUI to present the application packages in the user-specified order.

[0060] 4B illustrates another exemplary generic GUI 450 according to one or more embodiments. GUI 450 may be an updated version of GUI 400 of FIG. 4A, where a user has moved or reconfigured the order of application packages “App1” and “App2” and the order of applications “App3.1” and “App3.2” contained in application package “Package3.”

[0061] For example, the user may interact with the down arrow of element 420 of "App 1" in GUI 400 (or may interact with the up arrow of element 420 of "App 2" in GUI 400) to reorder application package "App 1", where all applications are grouped together in application package "App 1", and the user may interact with the down arrow of element 420 of "App 3.1" in GUI 400 (or may interact with the up arrow of element 420 of "App 3.2" in GUI 400) to reorder the applications separately to reorder the applications included in application package "Package 3".

[0062] The user may then initiate the installation process by interacting (e.g., tapping, etc.) with interactive element 430. Thus, the infotainment system (or one or more components contained therein) may download and / or install the application packages according to the reconfigured user-specified order.

[0063] It may be appreciated that example embodiments of the present disclosure may also allow a user to configure or select the order in which application packages are downloaded and / or installed in any other suitable manner without departing from the scope of the present disclosure. For example, instead of interacting with interactive element 420, a user may rearrange the order of application packages by dragging and dropping the application packages to a desired position. Alternatively, a user may also configure or select the order in a pop-up panel or sub-window (which may be activated, for example, by a user double-tapping GUI 400 or GUI 450), as described below with reference to FIG.

[0064] 5 illustrates an exemplary GUI including a sub-window 500 according to one or more embodiments. Sub-window 500 may be a floating panel that overlays GUI 400 of FIG. 4A and may be generated by the infotainment system (or one or more components contained therein) in response to a trigger or event (e.g., a particular user interaction, etc.).

[0065] Referring to FIG. 5, sub-window 500 may include a number of interactive elements 510, each associated with a respective application package, a drop-down list 511 associated with the number of interactive elements 510, and an interactive element 520.

[0066] Each of the interactive elements 510 may be an interactive icon that presents the current order associated with the respective application package (e.g., an interactive icon associated with “App 1” presents an order of “1”, etc.). For example, when an interactive element 510 is interacted with by a user, an associated drop-down list 511 may be presented from which the user can select an intended order (as shown in FIG. 5). The selectable options included in the drop-down list 511 may be calculated by the infotainment system, such that when an order is selected for one application package, the interactive icons of the other application packages may be updated. For example, if a user selects “2” in the drop-down list 511 for “App 1”, the interactive icon for “App 2” may be updated from “2” to “1”, and the like.

[0067] Thus, the user may interact with interactive elements 520 to set the selected order. The infotainment system may then close sub-window 500 and generate a GUI (e.g., an updated version of GUI 400) that presents the application packages according to the user-specified order. Later, the user may initiate the installation process by interacting with interactive elements as described above with reference to Figures 4A-4B.

[0068] In view of the above, example embodiments of the present disclosure allow a user to define an order in which application packages are downloaded and / or installed. In addition to a user-specified order, according to one or more embodiments, the infotainment system may also determine an order in which application packages are downloaded and / or installed based on the importance or urgency of the application packages. For example, the infotainment system may determine the importance or urgency of the application packages based on the type of application package and / or the type of user requesting to install the application packages, may calculate a score value for each application package that defines the determined importance or urgency, and may automatically download and / or install the application packages according to the order defined by the score value.

[0069] FIG. 6 illustrates a table containing example application packages and associated information according to one or more embodiments.

[0070] 6, the table may include information associated with a user who configured or selected one or more application packages for installation in a vehicle (hereinafter referred to as "user information"), and information associated with the application packages, such as application names, application types, and an installation order required or specified by the user for installing a particular application package. The user information may include a user identifier (ID) and a user type. The ID and user type may be detected by the infotainment system each time a user accesses the infotainment system.

[0071] For example, a vehicle owner may register their device (e.g., user equipment (UE), etc.) with the infotainment system (e.g., by entering their information into the infotainment system), and the infotainment system may assign an ID and an associated user type to the vehicle owner, such that whenever the infotainment system detects that the vehicle owner's device is accessing the infotainment system, the infotainment system may distinguish the vehicle owner from other users (e.g., guest passengers, broadcaster users, etc.). Similarly, broadcaster users (e.g., vehicle manufacturers, software developers, etc.) may register with the infotainment system during vehicle maintenance, software updates, and the like, such that the infotainment system may assign an ID and an associated user type to the broadcaster user to distinguish the broadcaster user from other users (e.g., vehicle owner, guest passengers, etc.). On the other hand, the infotainment system may determine that an access from an unregistered device (e.g., within a certain distance from the vehicle) or directly from a display device installed in the vehicle is from a guest passenger and may assign a temporary ID and associated user type to the user. According to an embodiment, the infotainment system may generate and display a temporary passcode on the display device in the vehicle and / or the vehicle owner's device and may require the guest passenger to enter the temporary passcode in order to access and utilize the infotainment system.

[0072] According to an embodiment, each time an installation of an application package is requested, the infotainment system may determine the type of user associated with the installation request and configure the installation priority according to the user type. For example, assuming that three users of different user types, e.g., a vehicle owner, a guest passenger, and a distributor user, simultaneously request the installation of an application package, the infotainment system may prioritize the installation request from the distributor user, then the installation request from the vehicle owner, and finally the installation request from the guest passenger.

[0073] According to an embodiment, the infotainment system may calculate a score value that determines an installation priority of the application package. Specifically, the processor of the infotainment system may collect information such as, but not limited to, user type, application type, and requested installation order, and may calculate the score value based thereon. As an example, each of the user types, each of the application types, and / or each of the installation orders may have a corresponding value mapped thereto, and the mapping may be predefined by an authorized user (e.g., vehicle manufacturer, vehicle owner, etc.) and stored in the storage of the infotainment system. Thus, upon receiving an installation request from a user, the processor of the infotainment system may retrieve the mapping from the storage and may calculate the score value based on the collected information and the mapping.

[0074] An exemplary use case is illustrated in Figure 6. In this use case, the infotainment system may receive installation requests to install application packages from three users (i.e., a vehicle owner, a guest passenger, and a distributor), where the vehicle owner is requesting to install application packages "app1" and "app2" (which has a lower order / higher priority for installing "app1"), the guest passenger is requesting to install application package "app4" (which has the same order as selected by the vehicle user installing "app1"), and the distributor is requesting to install application package "app5."

[0075] In this regard, based on a determination that the request to install “App 5” is from a distributor and / or based on a determination that “App 5” is a system hotfix (which has a higher importance than other types of application packages), the infotainment system may calculate or assign the highest score value for the installation request, such that the download and / or installation of “App 5” may be prioritized over other application packages (even if the distributor has not selected the installation order).

[0076] Further, although the installation requests for “App 1” and “App 4” are requests for the same installation order “1” and have the same application type, based on a determination that the request for the installation of “App 1” is from the vehicle owner, the infotainment system may calculate or assign a higher score value for the installation of “App 1” compared to the score value for the installation of “App 4.”

[0077] On the other hand, based on a determination that although the installation request for “app 2” is from the vehicle owner, the installation order of “app 2” is higher than the installation order of “app 4,” the infotainment system may calculate or assign a lower score value for the installation of “app 2” compared to the score value for the installation of “app 4.”

[0078] Thus, the infotainment system may download and / or install application packages according to an order determined by the score values. For example, in the exemplary use case shown in FIG. 6, the infotainment system may download and / or install application packages according to the following order: first "app5", then "app1", then "app4", and finally "app2". According to an embodiment, when a new installation request is received, the infotainment system may automatically update the score value of each pending download and / or installation, so that the priority associated therewith may be constantly updated to account for real-time or near real-time requests.

[0079] In view of the above, exemplary embodiments of the present disclosure allow certain application packages to be prioritized ahead of other applications according to associated user type, application type, and / or requested installation order. In this manner, the installation order of application packages may be more precisely configured and selected taking into account the importance and significance of the application packages.

[0080] For example, application packages designated as safety-critical or related to vehicle defects or vehicle testing (hereinafter referred to as predetermined priority applications) may be prioritized and downloaded and installed first, ahead of other applications, regardless of user designation. According to an embodiment, non-distributed users (e.g., vehicle owners, guest passengers, etc.) may simply be permitted to select the order of applications that are not designated or defaulted as priority applications. To this end, priority applications may be designated as such by the distributor.

[0081] It may be understood that the information shown in the table of FIG. 6 is merely an example for purposes of illustration, and the scope of the present disclosure should not be limited thereby. For example, more or less information may be included in the table, and the information may be presented in a different manner. Furthermore, the infotainment system may always prioritize installation requests based on a particular user type, regardless of the requested installation order (e.g., all installation requests from the vehicle owner may be prioritized over installation requests from guest passengers, etc.).

[0082] Further, in one or more embodiments, the download and / or installation order may be determined automatically using the user's history or past behavior or the history and behavior of related users. For example, a machine learning (ML) model may predict a desired order of installation for application packages based on the user's past history or the past history of related users (e.g., other users who have made similar application selections, users with the same or similar user profiles, etc.). In some embodiments, the automatic determination may be made for any selected application for which a download / install order is not specified. Further, the ML model may include a supervised ML model, an unsupervised ML model, or a combination thereof.

[0083] FIG. 7 illustrates a block diagram of a method 700 for installing application packages according to an installation order, according to one or more embodiments. The installation order may be a user-specified installation order (e.g., determined by a user via the operations described above with reference to FIGS. 3-5), an infotainment system-determined installation order (e.g., determined by the infotainment system via the operations described above with reference to FIG. 6), and / or an installation order automatically determined by the infotainment system via utilization of an ML model. Method 700 may be performed by an infotainment system (e.g., such as infotainment system 200 of FIG. 2). According to an embodiment, one or more operations of method 700 may be performed by at least one processor of the infotainment system (e.g., processor 210 of FIG. 2).

[0084] With reference to FIG. 7, at operation S710, an installation order associated with a plurality of application packages is obtained. For example, a processor of the infotainment system may obtain a user-specified installation order from storage of the infotainment system. Alternatively, the processor may calculate score values ​​for each of the plurality of application packages (in a manner similar to that described above with reference to FIG. 6) and determine the installation order therefrom in real-time or near real-time. In other cases, the processor may obtain the necessary information (e.g., historical records, etc.) and input the information into a machine learning (ML) model, which may then automatically determine the installation order.

[0085] At operation S720, a plurality of application packages are obtained. According to an embodiment, the infotainment system may download the plurality of application packages based on the installation order obtained at operation S710. For example, the infotainment system may search for and download application packages having a lower installation order (i.e., higher priority) from storage (e.g., storage 130 of FIG. 1 ) before searching for and downloading application packages having a higher installation order (i.e., lower priority).

[0086] It is contemplated that the above-described operations are merely examples of exemplary embodiments, and the scope of the present disclosure should not be limited thereto. Specifically, in other embodiments, all application packages may be downloaded in parallel or simultaneously. Alternatively, priority applications (e.g., applications having a particular application type, applications associated with a particular user, etc.) may be downloaded (and installed) first before parallel downloading of other application packages. Furthermore, in some embodiments, operation S720 may be performed before operation S710 (i.e., application packages may be obtained before obtaining an associated installation order).

[0087] After obtaining the installation order and the application packages, at operation S730, the infotainment system may be configured to install the application packages according to the installation order.

[0088] For example, the infotainment system processor may determine whether the application package includes any preferred application packages and, if any, may prioritize installation of the preferred application packages. According to an embodiment, the infotainment system processor may determine whether an application package is a preferred application package based on a determination of whether the application package belongs to a particular type of application package (e.g., a safety-critical application package, an application package related to a vehicle defect, etc.). Alternatively, the infotainment system processor may determine whether an application package is a preferred application package based on a determination of whether the application package is associated with a particular user (e.g., an application package associated with a distributor, etc.). It is contemplated that the infotainment system processor may also determine whether an application package is a preferred application package based on the type of application package, the type of associated user, and / or any other suitable information.

[0089] FIG. 8 illustrates an example component diagram of a device 800, according to one or more embodiments. The device 800 may correspond to the UE 140 of FIG. 1. As shown in FIG. 8, the device 800 may include a bus 810, a processor 820, a memory 830, a storage component 840, an input component 850, an output component 860, and a communication interface 870. In an embodiment, any one of the operations or processes of FIGs. 1-7 may be implemented by or using any one of the elements shown in FIG. 8.

[0090] The bus 810 includes components that allow communication between the components of the device 800. The processor 820 may be implemented in hardware, firmware, or a combination of hardware and software. The processor 820 may be a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or another type of processing component. In some implementations, the processor 820 includes one or more processors that can be programmed to perform functions. The memory 830 includes a random access memory (RAM), a read-only memory (ROM), and / or another type of dynamic or static storage device (e.g., flash memory, magnetic memory, and / or optical memory) that stores information and / or instructions for use by the processor 820.

[0091] Storage component 840 stores information and / or software related to the operation and use of device 800. For example, storage component 840 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optical disk, and / or a solid-state disk), a compact disk (CD), a digital versatile disk (DVD), a floppy disk, a cartridge, a magnetic tape, and / or another type of non-transitory computer-readable medium along with a corresponding drive. Input component 850 includes components (e.g., a touch screen display, a keyboard, a keypad, a mouse, buttons, switches, and / or a microphone) that allow device 800 to receive information, such as via user input. Additionally or alternatively, input component 850 may include sensors (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, and / or an actuator) that detect information. Output component 860 includes components (e.g., a display, a speaker, and / or one or more light-emitting diodes (LEDs)) that provide output information from device 800.

[0092] Communications interface 870 includes transceiver-like components (e.g., a transceiver and / or a separate receiver and transmitter) that enable device 800 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. Communications interface 870 may allow device 800 to receive information from another device and / or provide information to another device. For example, communications interface 870 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, or the like.

[0093] The device 800 may perform one or more processes described herein. The device 800 may perform such processes in response to the processor 820 executing software instructions stored by a non-transitory computer-readable medium, such as the memory 830 and / or the storage component 840. The computer-readable medium is defined herein as a non-transitory memory device. The memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.

[0094] The software instructions may be read into memory 830 and / or storage component 840 from another computer-readable medium or another device via communications interface 870. The software instructions stored in memory 830 and / or storage component 840, when executed, may cause processor 820 to perform one or more of the processes described herein.

[0095] Additionally, or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.

[0096] The number and arrangement of components shown in Figure 8 are provided as an example. In fact, device 800 may include additional, fewer, different, or differently arranged components than those shown in Figure 8. Additionally or alternatively, a set of components (e.g., one or more components) of device 800 may perform one or more functions that are described as being performed by another set of components of device 800.

[0097] It is understood that the specific order or hierarchy of blocks in the processes / flowcharts disclosed herein is illustrative of example approaches. Based on design preferences, it is understood that the specific order or hierarchy of blocks in the processes / flowcharts may be rearranged. Further, some blocks may be combined or omitted. The accompanying methods claim elements of the various blocks in a sample order and are not meant to be limited to the specific order or hierarchy presented.

[0098] Some embodiments may relate to systems, methods, and / or computer-readable media at any possible level of integration of technical details. Furthermore, one or more of the above components described above may be implemented as instructions stored in a computer-readable medium and executable by at least one processor (and / or may include at least one processor). The computer-readable medium may include a computer-readable non-transitory storage medium (or media) having computer-readable program instructions for causing a processor to perform operations.

[0099] A computer-readable storage medium may be a tangible device that can hold and store instructions used by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the above. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: portable computer diskettes, hard disks, random access memories (RAM), read-only memories (ROM), erasable and programmable read-only memories (EPROM or flash memory), static random access memories (SRAM), portable compact disk read-only memories (CD-ROM), digital versatile disks (DVD), memory sticks, floppy disks, mechanically encoded devices such as punch cards or ridge structures in grooves with instructions recorded on them, and any suitable combination of the above. As used herein, computer-readable storage media should not be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through a fiber optic cable), or electrical signals transmitted over wires.

[0100] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to each computing / processing device or to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may comprise copper transmission cables, optical transmission fiber, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing / processing device.

[0101] The computer readable program code / instructions for performing the operations may be either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, configuration data for an integrated circuit, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk, C++, or the like, and procedural programming languages ​​such as the "C" programming language or similar programming languages. The computer readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or a connection to an external computer may be made (e.g., through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may execute computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry to perform a behavior or operation.

[0102] The computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine such that the instructions, executed by the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the block or blocks of the flowcharts and / or block diagrams. The computer readable program instructions may also be stored on a computer readable storage medium that may direct a computer, programmable data processing apparatus, and / or other device to function in a particular manner, such that the computer readable storage medium on which the instructions are stored comprises an article of manufacture including instructions that implement aspects of the functions / acts specified in the block or blocks of the flowcharts and / or block diagrams.

[0103] The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or another device to cause the computer, other programmable apparatus, or other device to perform a series of operational steps to generate a computer-implemented process, such that the instructions executing on the computer, other programmable apparatus, or other device implement the function / act specified in the block or blocks of the flowcharts and / or block diagrams.

[0104] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer-readable media according to various embodiments. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of instructions comprising one or more executable instructions that implement a specified logical function. The methods, computer systems, and computer-readable media may include additional, fewer, different, or differently arranged blocks compared to those depicted in the figures. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may in fact be executed simultaneously or substantially simultaneously, or the blocks may be executed in reverse order depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart illustrations, as well as combinations of blocks and / or flowchart illustrations of the block diagrams, may be implemented by a dedicated hardware-based system that performs the specified functions or acts or executes a combination of dedicated hardware and computer instructions.

[0105] It will be apparent that the systems and / or methods described herein may be implemented in various forms of hardware, firmware, or a combination of hardware and software. The actual dedicated control hardware or software code used to implement the systems and / or methods is not a limitation of the implementation. Thus, the operation and behavior of the systems and / or methods are described herein without reference to specific software code, and it will be understood that software and hardware can be designed to implement the systems and / or methods based on the description herein.

Claims

1. 1. A method for defining an installation order for application packages in a vehicle, comprising: The method comprises: downloading, by at least one processor of the vehicle, a plurality of application packages; obtaining, by the at least one processor, a user-specified installation order for the plurality of application packages; installing the plurality of application packages according to the obtained user-specified installation order; Including, The installation may include: determining an application package among the plurality of application packages as a prioritized application package; installing the determined preferred application package first, regardless of the user-specified installation order; Including, method.

2. The determining includes determining a safety-critical application package or an application package associated with a vehicle defect as the priority application package. The method of claim 1.

3. said downloading including downloading said plurality of packages according to said user-specified installation order; The method according to claim 1 or claim 2.

4. For one or more applications for which an installation order has not been specified by a user, determining an installation order based on at least one of a behavior history of the user or a behavior history of another user associated with the user. The method according to claim 1 or claim 2.

5. determining the installation order includes determining the installation order using a machine learning model. The method according to claim 4.

6. The obtaining of the user-specified installation order for the plurality of application packages includes: presenting information associated with the plurality of application packages to a user; receiving a user input associated with the plurality of application packages; determining the user-specified installation order for the plurality of application packages based on the user input; Including, The method according to claim 1 or claim 2.

7. 1. A system for defining an installation order for application packages in a vehicle, comprising: The system comprises: at least one memory storage device storing computer executable instructions; at least one processor communicatively coupled to the at least one memory storage; Equipped with The at least one processor executes the computer-executable instructions to: Download multiple application packages, obtaining a user-specified installation order for the plurality of application packages; configured to install the plurality of application packages according to the obtained user-specified installation order; The at least one processor executes the computer-executable instructions to: determining an application package among the plurality of application packages as a prioritized application package; and installing the plurality of application packages by first installing the determined preferred application package regardless of the user-specified installation order. system.

8. The at least one processor executes the computer-executable instructions to: and determining the application package as the prioritized application package by determining a safety-critical application package or an application package related to a vehicle defect as the prioritized application package. The system of claim 7.

9. The at least one processor executes the computer-executable instructions to: configured to download the plurality of application packages by downloading the plurality of packages according to the user-specified installation order. A system according to claim 7 or claim 8.

10. The at least one processor further executes the computer-executable instructions to: For one or more applications for which an installation order has not been specified by a user, the installation order is determined based on at least one of a behavior history of the user or a behavior history of another user associated with the user. A system according to claim 7 or claim 8.

11. The at least one processor further executes the computer-executable instructions to: and determining the installation order by using a machine learning model to determine the installation order. The system of claim 10.

12. The at least one processor further executes the computer-executable instructions to: presenting information associated with the plurality of application packages to a user; receiving a user input associated with the plurality of application packages; determining the user-specified installation order for the plurality of application packages based on the user input, thereby obtaining the user-specified installation order. A system according to claim 7 or claim 8.

13. A non-transitory computer-readable storage medium having instructions executable by at least one processor to cause the at least one processor to perform a method for defining an installation order for application packages in a vehicle, the method comprising: The method comprises: downloading, by at least one processor of the vehicle, a plurality of application packages; obtaining, by the at least one processor, a user-specified installation order for the plurality of application packages; installing the plurality of application packages according to the obtained user-specified installation order; Including, The installation may include: determining an application package among the plurality of application packages as a prioritized application package; installing the determined preferred application package first, regardless of the user-specified installation order; Including, A non-transitory computer-readable recording medium.

14. The determining includes determining a safety-critical application package or an application package associated with a vehicle defect as the priority application package.

14. The non-transitory computer readable storage medium of claim 13.

15. said downloading including downloading said plurality of packages according to said user-specified installation order; 15. The non-transitory computer-readable recording medium according to claim 13 or claim 14.

16. The method comprises: For one or more applications for which an installation order has not been specified by a user, determining an installation order based on at least one of a behavior history of the user or a behavior history of another user associated with the user.

15. The non-transitory computer-readable recording medium according to claim 13 or claim 14.

17. determining the installation order includes determining the installation order using a machine learning model.

17. The non-transitory computer readable storage medium of claim 16.

Citation Information

Patent Citations

  • Installation program and installation method

    JP2014191641A

  • Server, software update system, and software update device

    JP2021022018A

  • System and method involving multiple software targets packaged into one file

    JP2021177383A

  • Filtering a list of available install items for an install program based on a consumer's install policy

    US20080028389A1

  • OVER-THE-AIR (OTA) UPDATES OF ELECTRONIC CONTROL UNITS (ECUs) IN VEHICLES

    US20200218531A1