US20050055687A1 - Software update information via session initiation protocol event packages - Google Patents
Software update information via session initiation protocol event packages Download PDFInfo
- Publication number
- US20050055687A1 US20050055687A1 US10/656,862 US65686203A US2005055687A1 US 20050055687 A1 US20050055687 A1 US 20050055687A1 US 65686203 A US65686203 A US 65686203A US 2005055687 A1 US2005055687 A1 US 2005055687A1
- Authority
- US
- United States
- Prior art keywords
- software
- update
- user terminal
- available
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Definitions
- the invention relates to software updates, and more particularly procedures for finding out about and downloading software updates.
- Session Initiation Protocol is an application layer protocol, at layer seven of the Open Systems Interconnection (OSI), which is an internationally accepted framework of standards for communication between different systems made by different vendors.
- SIP is for the establishment, modification, and termination of conferencing and telephony sessions over an internet protocol (IP) network.
- IP internet protocol
- SIP is further defined by the Internet Engineering Task Force (IETF), in Request for Comments (RFC) 3261. As thus defined, SIP allows for the establishment, handling and release of end-to-end multimedia sessions.
- IETF Internet Engineering Task Force
- RRC Request for Comments
- SIP events framework allows a user to subscribe to certain type of information (so-called “events”) from a notifier.
- Events The information to be reported by a notifier to a subscriber is defined by an event package, and the notifier then sends notifications to the subscriber when the information changes.
- the SIP events framework leaves the definition of SIP events to the event packages, which are concrete extensions of the SIP events framework.
- Event packages extend or modify basic event package behavior. However, event packages will not succeed if they weaken certain core aspects of basic behavior, even though such aspects can be strengthened or supplemented. There is a set of specific issues that must be addressed by the inventor of an event package, and this has been achieved by various concrete “event package” extensions of the general SIP events framework. These prior art event packages have made use of SIP's “SUBSCRIBE” and “NOTIFY” functions, while addressing the specific issues that must be addressed by an event package inventor. See, for example, “A Presence Event Package for the Session Initiation Protocol (SIP) by J. Rosenberg (IETF Internet Draft). Nevertheless, an SIP event package for software updates has not heretofore been accomplished.
- SIP Session Initiation Protocol
- a protocol stack is basically a collection of modules of software that together combine to produce the software that enables the protocol to work, i.e. to allow communications between dissimilar computer devices. It is called a “stack” because the software modules are piled on top of each other, and the process of communicating typically starts at the bottom of the stack and works up the stack.
- the basic SIP functionality is now proposed to be extended in a new way, so that software applications can subscribe to an event which will cause a notification whenever a new version of the software is available.
- a new SIP Event Package is defined, for example called “software-update.”
- the update will include notification, for example in extensible markup language (XML), about items such as the size of the new software-version, its version-number, a link to the download-site, the price of the update if any, et cetera.
- XML extensible markup language
- the software application when started on the user terminal, initiates a procedure for the SIP stack to send a SUBSCRIBE message with the “software-update” event in the event header of the SUBSCRIBE message.
- a procedure for the SIP stack to send a SUBSCRIBE message with the “software-update” event in the event header of the SUBSCRIBE message.
- More detailed information about the application is given, in order to specify the software which the subscriber is interested in (e.g. “Wireless Presenter” software).
- This SUBSCRIBE message is sent to a server, which can either be a server of the software provider or a centralized software server in the network. If the server has information about the indicated application available, it sends to the user terminal a 200 OK, which indicates that the request has succeeded, and immediately a NOTIFY message, indicating the current version of the software that could be downloaded.
- the application in the terminal checks if an update is needed or not. If an update is needed it may either automatically download and install the software, or ask the user.
- the software-server When a new update for the software is available, the software-server will send out a new NOTIFY to all subscribers.
- the application in the terminal when receiving this NOTIFY, checks if an update is needed or not. If an update is needed it may either automatically download and install the software, or ask the user. The update can then be downloaded via the network.
- This standardized mechanism is implemented via an SIP application programming interface (API), using centralized software-servers with a generic (SIP) interface. This allows updates of different applications to be announced in a generic way.
- API application programming interface
- SIP generic interface
- the present invention provides a generic mechanism that works for every application, in order for a user to get informed about software updates.
- This mechanism will, for example, work for every software that is running on a machine which also involves an SIP Stack.
- the method and system of the present invention are for helping a terminal to find out about and download software updates, in which the terminal sends a standardized subscribe request for software updates.
- a server responds by sending an initial notify message back to the sending terminal only, the initial notify message having content defined by an event package.
- This system and method utilize an application layer protocol called Session Initiation Protocol, and the event package requires information as to software name, update server address, update retrieval protocol, and latest version.
- the terminal checks if it has the available software version, and if not then the terminal automatically downloads the update, or the user is given a choice whether to download and obtain the available software version.
- the terminal and other terminals subsequently receive a further type of notify message having content again defined by the event package, describing at least one newly available update.
- the invention also includes a computer-readable medium encoded with a data structure for performing the method just described.
- the system includes a first user terminal for sending a standardized subscribe request signal indicative of at least one application in the first user terminal.
- a software server responsive to the standardized subscribe request signal, is for providing an initial notify signal having content defined by an event package, the initial notify signal being indicative of at least one available software version.
- the system further comprises other user terminals that have at least one application in common with the first terminal.
- the first user terminal and the other user terminals are responsive to a further type of notify signal having content defined by the event package, the further type of notify signal being indicative of at least one newly available update to the at least one application in common.
- the first user terminal and the other user terminals are for downloading the at least one newly available update insofar as respective users approve the downloading, or insofar as the respective users have approved automatic downloading.
- the invention further includes a subscriber user terminal for finding out about and downloading software updates, the subscriber terminal including a plurality of application modules for providing a respective application profile including a respective software version.
- the subscriber user terminal also includes a software update module, for subscribing to at least one server in order to receive software update notifications regarding the plurality of application modules.
- the software update module is responsive to each of the notifications, by requesting at least one of the respective application profiles from the application modules, performing a comparison with a respective one of the notifications, and initiating a download procedure if the comparison indicates a mismatch.
- the user may have an option to stop the download procedure, for example, if the price of the download is too high.
- FIG. 1 depicts the method according to one of the preferred embodiments of the present invention.
- FIG. 2 shows the system of the present invention according to one of the preferred embodiments, including a subscriber user terminal and other components.
- a preferred method 100 begins by sending 105 a standardized subscribe request for software updates regarding an application of a user terminal.
- SUBSCRIBE request has the following format:
- a 200 OK Response is received 110 , followed by an initial NOTIFY message 115 having content defined by an event package, the initial notify message describing at least one available software version.
- the NOTIFY message has the following format:
- the event package requires at least one set of information as to software name (e.g. SW1 and SW2), update server address, update retrieval protocol, and latest version.
- the information may further include things like an update price and a latest update date.
- the initial NOTIFY message is acknowledged by sending a 200 OK Response 120 .
- the next step is checking 125 if the user terminal has the available software version, and if not then 130 automatically downloading an update to obtain the available software version, or giving the user a choice whether to download and obtain the available software version.
- the next step is receiving 135 a further type of notify message having content defined by the same event package, the further type of notify message describing at least one newly available update.
- this new NOTIFY message has the following format:
- the next step is to download 145 the newly available update unless the user gets and exercises an option to not receive the newly available update.
- the user may have already programmed the terminal so that the downloading is entirely automatic, in which case the user does not get such an option, but the user may have programmed the terminal so that the user does get an option to refuse the download. Whether or not the user gets such an option may depend upon the price of the download, and also may depend upon which application in the terminal the downloaded software update is for.
- the download is accomplished when the terminal (also called a user equipment or UE) establishes a hypertext transfer protocol (HTTP) session with a.b.c.d and downloads the update for version 2 of SW1 via HTTP.
- HTTP hypertext transfer protocol
- the version 23 update of SW2 will not be downloaded, because that version has not changed since the initial NOTIFY.
- SW1 version 1 and SW2 version 23 were both available to subscribers prior to the standardized subscribe request 105 , but the newly available update version 2 of SW1 is newly available to subscribers when the further type of notify message is received 135 .
- SW1 and SW2 are, of course, software for two different applications in the UE. Not every NOTIFY message need cover every application in the UE, or even every application in the UE for which software updates are needed, and instead NOTIFY messages can be received by the UE that cover only software for which new updates are available. Although all software in which the user is interested can be requested in a single SUBSCRIBE message, it is also appropriate to send separate SUBSCRIBE messages, in which case the method 100 is simply repeated 150 .
- the further type of notify message is received 135 substantially simultaneously by the user terminal and other user terminals, but the initial notify message is received 115 only by the user terminal at a time that is substantially immediately after the standardized subscribe request is sent 105 and acknowledged 110 .
- the subscribe request is sent 105 either to a centralized software server in the network, or to a respective server of a software provider.
- the UE is provided with a computer-readable medium or media encoded with a data structure for performing the method, and this software itself may be among the software that is updated by the present method.
- FIG. 2 shows a system 200 for finding out about and downloading software updates.
- the system includes a first user terminal 210 , for sending a standardized subscribe request signal 215 indicative of at least one application in the first user terminal.
- the system also includes a software server 220 , responsive to the standardized subscribe request signal 215 , for providing an initial notify signal 225 having content defined by an event package, the initial notify signal being indicative of at least one available software version.
- the first user terminal 210 is also for requesting 230 and receiving 235 a downloaded update so as to obtain an available software version, if the first terminal 210 lacks that software version, provided that a user of the first terminal approved the downloading or has approved automatic downloading.
- the user can give a case-by-case approval or instead can give a blanket approval for downloads of software updates.
- the system 200 further comprises other user terminals 240 , 245 that have at least one application in common with the first terminal.
- the first user terminal 210 and the other user terminals 240 , 245 are responsive to a further type of notify signal 250 , 255 , and 260 having content defined by the event package, and indicative of at least one newly available update to a common application.
- the first user terminal 210 and the other user terminals 240 , 245 are for downloading the at least one newly available update insofar as respective users approve the downloading, or insofar as the respective users have approved automatic downloading.
- the first application 265 and the second application 270 in the user terminal 210 match the first application 275 and the second application 280 in the other user terminals 240 , 245 .
- These two application include applications from two different software providers.
- the software server 220 it is then advantageous for the software server 220 to be a centralized software server, which communicates with separate software provider servers 285 , 290 , 295 .
- the first user terminal 210 and the other user terminals 240 , 245 can instead communicate directly with the separate software provider servers 285 , 290 , 295 if there is no centralized software server 220 .
- the various signals 215 , 225 , 250 , 255 , and 260 are acknowledged by respective 200 OK signals 296 , 297 , 298 , 299 , 201 .
- the first user terminal 210 may also be called a subscriber user terminal. It includes a software update module 202 , for sending, receiving and processing the aforementioned signals to and from the first user terminal 210 , in order to receive software update notifications regarding the application modules 265 and 270 .
- the software update module 202 is for responding to each of the notifications 225 , 260 by obtaining application profiles from or about the application modules, performing a comparison with a respective one of the notifications, and initiating a download procedure if the comparison indicates a mismatch.
- the package parameters may advantageously include Software-Name, Update-Server-Address, Update-Retrieval-Protocol (e.g. HTTP, FTP, et cetera), Latest-Version, and Latest-Update-Date/-Time.
- SUBSCRIBE bodies those include a list of programs/software for which update information is requested; otherwise the SUBSCRIBE bodies are generally assumed to be empty.
- duration there will be either fetching, wherein the client occasionally asks the server, in which case the duration would be null (zero), or alternatively there will be a more permanent duration.
- the duration would occur while the machine on which the software is installed is running, or while the program itself is running, or while the SIP Stack is running.
- Notifier processing of SUBSCRIBE requests a NOTIFY is sent back, including the current data for the related software.
- That related software is all software that the notifier has information about if no SUBSCRIBE body is given, or only that software that is indicated in the SUBSCRIBE body.
- Notifier generation of NOTIFY requests G
- a state is held for every subscription with a zero expiration time, and the subscribe is informed with another NOTIFY whenever the version of software has changed, similar to the Notifier processing (F).
- the present invention is directed at providing software update notifications, but can be extended to provide notifications when new replacement software becomes available, wherein the replacement software has similar functionality or purpose but a different software provider from the software that it would replace.
- a user who has a software program might be interested in finding out if a competing software product becomes available that is better or cheaper, so that the user will perhaps switch over to the new product instead of continuing to update the old product. Then it is no longer dedicated software that the user wants information about, but rather a type of application. This type of situation is more complicated for the client (i.e. user) to handle; for example the client must decide if the alternative software installation will cause the original software to be deleted. Nevertheless, such an extension of the present invention is doable, and potentially useful.
- the user terminal will send a SUBSCRIBE message each time the software application is used by the user, or alternatively only the first time. Further alternatives are possible without departing from the scheme of the invention. It is noted that, although the 200 okay messages discussed herein might seem redundant, every SIP request (besides ACK) must be acknowledged by a final response quite apart from the present invention, and there is no way around that.
- a software-server will send out a new NOTIFY to all subscribers.
- the application in the terminal when receiving this NOTIFY, checks if an update is needed or not.
- a terminal that is shut off (no power) will, of course, not receive the NOTIFY, but when it powers on again it will at some point subscribe to the software-update event package.
- the terminal then immediately receives, as discussed above, the NOTIFY that includes the current version(s) and compares that with the installed version. In this way, the terminal does not lose any information.
- a user can unsubscribe if the user is happy with the user's version of the software and does not want any updates. Even if the user subscribes, subscribing does not mean that the user must download or retrieve the available software, because the user can preserve the option of declining if the price is too high, or for other reasons.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
A method and system of finding out about and downloading software updates to a terminal, in which the terminal sends a standardized subscribe request for software updates, and a server responds by sending an initial notify message back to the sending terminal only, the initial notify message having content defined by an event package. This system and method utilize an application layer protocol called Session Initiation Protocol, and the event package requires information as to software name, update server address, update retrieval protocol, and latest version. The terminal checks if it has the available software version, and if not then the terminal automatically downloads the update, or the user is given a choice whether to download and obtain the available software version. The terminal and other terminals subsequently receive a further type of notify message having content again defined by the event package, describing at least one newly available update.
Description
- The invention relates to software updates, and more particularly procedures for finding out about and downloading software updates.
- Session Initiation Protocol (SIP) is an application layer protocol, at layer seven of the Open Systems Interconnection (OSI), which is an internationally accepted framework of standards for communication between different systems made by different vendors. SIP is for the establishment, modification, and termination of conferencing and telephony sessions over an internet protocol (IP) network. SIP is further defined by the Internet Engineering Task Force (IETF), in Request for Comments (RFC) 3261. As thus defined, SIP allows for the establishment, handling and release of end-to-end multimedia sessions.
- There have been several additions to the SIP protocol, which for example allow event notification based on SIP, which is the basis for an SIP-based Presence Service and other services. One of these Extensions is the SIP events framework, which is specified in RFC 3265. The SIP events framework allows a user to subscribe to certain type of information (so-called “events”) from a notifier. The information to be reported by a notifier to a subscriber is defined by an event package, and the notifier then sends notifications to the subscriber when the information changes. The SIP events framework leaves the definition of SIP events to the event packages, which are concrete extensions of the SIP events framework.
- Event packages extend or modify basic event package behavior. However, event packages will not succeed if they weaken certain core aspects of basic behavior, even though such aspects can be strengthened or supplemented. There is a set of specific issues that must be addressed by the inventor of an event package, and this has been achieved by various concrete “event package” extensions of the general SIP events framework. These prior art event packages have made use of SIP's “SUBSCRIBE” and “NOTIFY” functions, while addressing the specific issues that must be addressed by an event package inventor. See, for example, “A Presence Event Package for the Session Initiation Protocol (SIP) by J. Rosenberg (IETF Internet Draft). Nevertheless, an SIP event package for software updates has not heretofore been accomplished.
- As software updates for installations running on personal computers or wireless terminals become more frequent, easier methods for accomplishing these updates are needed. To make the update to the new software version easier to use, applications nowadays often implement proprietary mechanisms to get informed about an updated version. The user then gets informed about the possible update and may request that the new version be automatically installed. These propriety mechanisms are not consistent with each other, nor do they utilize the functionality made available by the SIP events framework. The user has to cope with a multitude of different procedures for the different applications used at the user's terminal. A need exists for applications to become aware of newer software versions as they become available, using the SIP events framework.
- In the near future, every wireless terminal and most likely every personal computer (PC) too will provide a generic SIP stack, which can be used by any kind of application. A protocol stack is basically a collection of modules of software that together combine to produce the software that enables the protocol to work, i.e. to allow communications between dissimilar computer devices. It is called a “stack” because the software modules are piled on top of each other, and the process of communicating typically starts at the bottom of the stack and works up the stack.
- The basic SIP functionality is now proposed to be extended in a new way, so that software applications can subscribe to an event which will cause a notification whenever a new version of the software is available. A new SIP Event Package is defined, for example called “software-update.” The update will include notification, for example in extensible markup language (XML), about items such as the size of the new software-version, its version-number, a link to the download-site, the price of the update if any, et cetera.
- The software application, when started on the user terminal, initiates a procedure for the SIP stack to send a SUBSCRIBE message with the “software-update” event in the event header of the SUBSCRIBE message. Within the body of the SUBSCRIBE message from the user terminal, more detailed information about the application is given, in order to specify the software which the subscriber is interested in (e.g. “Wireless Presenter” software).
- This SUBSCRIBE message is sent to a server, which can either be a server of the software provider or a centralized software server in the network. If the server has information about the indicated application available, it sends to the user terminal a 200 OK, which indicates that the request has succeeded, and immediately a NOTIFY message, indicating the current version of the software that could be downloaded. The application in the terminal checks if an update is needed or not. If an update is needed it may either automatically download and install the software, or ask the user.
- When a new update for the software is available, the software-server will send out a new NOTIFY to all subscribers. The application in the terminal, when receiving this NOTIFY, checks if an update is needed or not. If an update is needed it may either automatically download and install the software, or ask the user. The update can then be downloaded via the network.
- This standardized mechanism is implemented via an SIP application programming interface (API), using centralized software-servers with a generic (SIP) interface. This allows updates of different applications to be announced in a generic way.
- The present invention provides a generic mechanism that works for every application, in order for a user to get informed about software updates. This mechanism will, for example, work for every software that is running on a machine which also involves an SIP Stack.
- The method and system of the present invention are for helping a terminal to find out about and download software updates, in which the terminal sends a standardized subscribe request for software updates. A server responds by sending an initial notify message back to the sending terminal only, the initial notify message having content defined by an event package. This system and method utilize an application layer protocol called Session Initiation Protocol, and the event package requires information as to software name, update server address, update retrieval protocol, and latest version. The terminal checks if it has the available software version, and if not then the terminal automatically downloads the update, or the user is given a choice whether to download and obtain the available software version. The terminal and other terminals subsequently receive a further type of notify message having content again defined by the event package, describing at least one newly available update. The invention also includes a computer-readable medium encoded with a data structure for performing the method just described.
- The system includes a first user terminal for sending a standardized subscribe request signal indicative of at least one application in the first user terminal. A software server, responsive to the standardized subscribe request signal, is for providing an initial notify signal having content defined by an event package, the initial notify signal being indicative of at least one available software version. The system further comprises other user terminals that have at least one application in common with the first terminal. The first user terminal and the other user terminals are responsive to a further type of notify signal having content defined by the event package, the further type of notify signal being indicative of at least one newly available update to the at least one application in common. The first user terminal and the other user terminals are for downloading the at least one newly available update insofar as respective users approve the downloading, or insofar as the respective users have approved automatic downloading.
- The invention further includes a subscriber user terminal for finding out about and downloading software updates, the subscriber terminal including a plurality of application modules for providing a respective application profile including a respective software version. The subscriber user terminal also includes a software update module, for subscribing to at least one server in order to receive software update notifications regarding the plurality of application modules. The software update module is responsive to each of the notifications, by requesting at least one of the respective application profiles from the application modules, performing a comparison with a respective one of the notifications, and initiating a download procedure if the comparison indicates a mismatch. The user may have an option to stop the download procedure, for example, if the price of the download is too high.
-
FIG. 1 depicts the method according to one of the preferred embodiments of the present invention. -
FIG. 2 shows the system of the present invention according to one of the preferred embodiments, including a subscriber user terminal and other components. - A best mode embodiment will now be discussed in order to demonstrate in detail how a person skilled in the art is enabled to practice the present invention, so that a user terminal will find out about and download software updates. This embodiment utilizes and is formatted based upon an application layer protocol known as Session Initiation Protocol (SIP). As seen in the flow chart of
FIG. 1 , a preferred method 100 according to the present invention begins by sending 105 a standardized subscribe request for software updates regarding an application of a user terminal. For example, this SUBSCRIBE request has the following format: - SUBSCRIBE software-update-server.homel.net
-
- Event: software-update
- Expires: 6000
- Contact: 1.2.3.4
- Then a 200 OK Response is received 110, followed by an initial NOTIFY
message 115 having content defined by an event package, the initial notify message describing at least one available software version. For example, the NOTIFY message has the following format: - NOTIFY 1.2.3.4
- Event: software-update
<software> <name>SW1</name> <latest-version>1 </latest-version> <update-server-address>a.b.c.d</update-server-address> <update-retrieval-protocol>HTTP</upate-retrieval-protocl> </software> <software> <name>SW2</name> <latest-version>23</latest-version> <update-server-address>1.f.2.f</update-server-address> <update-retrieval-protocol>FTP</upate-retrieval-protocl> </software> - The event package requires at least one set of information as to software name (e.g. SW1 and SW2), update server address, update retrieval protocol, and latest version. The information may further include things like an update price and a latest update date. The initial NOTIFY message is acknowledged by sending a 200
OK Response 120. - The next step is checking 125 if the user terminal has the available software version, and if not then 130 automatically downloading an update to obtain the available software version, or giving the user a choice whether to download and obtain the available software version.
- The next step is receiving 135 a further type of notify message having content defined by the same event package, the further type of notify message describing at least one newly available update. For example, this new NOTIFY message has the following format:
- NOTIFY 1.2.3.4
- Event: software-update
<software> <name>SW1</name> <latest-version>2</latest-version> <update-server-address>a.b.c.d</update-server-address> <update-retrieval-protocol>HTTP</upate-retrieval-protocl> </software> <software> <name>SW2</name> <latest-version>23</latest-version> <update-server-address>1.f.2.f</update-server-address> <update-retrieval-protoco1>FTP</upate-retrieval-protoc1> </software>
This new NOTIFY message is acknowledged 140 by a 200 Okay. The next step is to download 145 the newly available update unless the user gets and exercises an option to not receive the newly available update. The user may have already programmed the terminal so that the downloading is entirely automatic, in which case the user does not get such an option, but the user may have programmed the terminal so that the user does get an option to refuse the download. Whether or not the user gets such an option may depend upon the price of the download, and also may depend upon which application in the terminal the downloaded software update is for. In the example given above, the download is accomplished when the terminal (also called a user equipment or UE) establishes a hypertext transfer protocol (HTTP) session with a.b.c.d and downloads the update for version 2 of SW1 via HTTP. The version 23 update of SW2 will not be downloaded, because that version has not changed since the initial NOTIFY. - SW1 version 1 and SW2 version 23 were both available to subscribers prior to the
standardized subscribe request 105, but the newly available update version 2 of SW1 is newly available to subscribers when the further type of notify message is received 135. SW1 and SW2 are, of course, software for two different applications in the UE. Not every NOTIFY message need cover every application in the UE, or even every application in the UE for which software updates are needed, and instead NOTIFY messages can be received by the UE that cover only software for which new updates are available. Although all software in which the user is interested can be requested in a single SUBSCRIBE message, it is also appropriate to send separate SUBSCRIBE messages, in which case the method 100 is simply repeated 150. - The further type of notify message is received 135 substantially simultaneously by the user terminal and other user terminals, but the initial notify message is received 115 only by the user terminal at a time that is substantially immediately after the standardized subscribe request is sent 105 and acknowledged 110.
- The subscribe request is sent 105 either to a centralized software server in the network, or to a respective server of a software provider. In order to execute the present method 100, the UE is provided with a computer-readable medium or media encoded with a data structure for performing the method, and this software itself may be among the software that is updated by the present method.
-
FIG. 2 shows asystem 200 for finding out about and downloading software updates. The system includes afirst user terminal 210, for sending a standardized subscribe request signal 215 indicative of at least one application in the first user terminal. The system also includes asoftware server 220, responsive to the standardizedsubscribe request signal 215, for providing an initial notifysignal 225 having content defined by an event package, the initial notify signal being indicative of at least one available software version. - The
first user terminal 210 is also for requesting 230 and receiving 235 a downloaded update so as to obtain an available software version, if thefirst terminal 210 lacks that software version, provided that a user of the first terminal approved the downloading or has approved automatic downloading. In other words, the user can give a case-by-case approval or instead can give a blanket approval for downloads of software updates. - The
system 200 further comprisesother user terminals first user terminal 210 and theother user terminals signal first user terminal 210 and theother user terminals - The
first application 265 and thesecond application 270 in theuser terminal 210 match thefirst application 275 and thesecond application 280 in theother user terminals software server 220 to be a centralized software server, which communicates with separatesoftware provider servers first user terminal 210 and theother user terminals software provider servers centralized software server 220. Of course, thevarious signals OK signals - The
first user terminal 210 may also be called a subscriber user terminal. It includes asoftware update module 202, for sending, receiving and processing the aforementioned signals to and from thefirst user terminal 210, in order to receive software update notifications regarding theapplication modules - The
software update module 202 is for responding to each of thenotifications - According to Section 4.4 of RFC 3265, authors and inventors of event packages can address various details, when applicable:
-
- A. Event Package Name
- B. NOTIFY bodies
- C. Event Package Parameters
- D. SUBSCRIBE bodies
- E. Subscription Duration
- F. Notifier processing of SUBSCRIBE requests
- G. Notifier generation of NOTIFY requests
- H. Subscriber processing of NOTIFY requests
- I. Handling of forked requests
- J. Rate of notifications
- K. State Agents
- L. Examples
- M. Use of URIs to Retrieve State
- Different embodiments of the present invention will handle these details somewhat differently, and therefore it is understood that this discussion involves only an example. Regarding the event package name (A), there are various possibilities that will be obvious to those skilled in the art, for example “software-update.” Concerning NOTIFY bodies (B) and package parameters (C), the package parameters may advantageously include Software-Name, Update-Server-Address, Update-Retrieval-Protocol (e.g. HTTP, FTP, et cetera), Latest-Version, and Latest-Update-Date/-Time. With respect to SUBSCRIBE bodies (D), those include a list of programs/software for which update information is requested; otherwise the SUBSCRIBE bodies are generally assumed to be empty.
- Regarding subscription duration (E), there will be either fetching, wherein the client occasionally asks the server, in which case the duration would be null (zero), or alternatively there will be a more permanent duration. In the case of the more permanent duration, the duration would occur while the machine on which the software is installed is running, or while the program itself is running, or while the SIP Stack is running.
- Concerning Notifier processing of SUBSCRIBE requests (F), a NOTIFY is sent back, including the current data for the related software. That related software is all software that the notifier has information about if no SUBSCRIBE body is given, or only that software that is indicated in the SUBSCRIBE body. With respect to Notifier generation of NOTIFY requests (G), a state is held for every subscription with a zero expiration time, and the subscribe is informed with another NOTIFY whenever the version of software has changed, similar to the Notifier processing (F).
- Regarding Subscriber processing of NOTIFY requests (H), it is checked whether the version number/last-update time/date of software that is running on the machine is higher than the currently installed version. If yes, then the user is informed. If the user wants to download, then the information from the NOTIFY is used to start download and possible auto-install.
- Handling of forked requests (I), State Agents (K), and use of URIs to Retrieve State (M) are not applicable to the present type of event package. The Rate of notifications (J) should not be a problem, as the present type of event will occur relatively seldom. The examples (L) have already been discussed, with respect to
FIG. 1 andFIG. 2 . - The present invention is directed at providing software update notifications, but can be extended to provide notifications when new replacement software becomes available, wherein the replacement software has similar functionality or purpose but a different software provider from the software that it would replace. For example, a user who has a software program might be interested in finding out if a competing software product becomes available that is better or cheaper, so that the user will perhaps switch over to the new product instead of continuing to update the old product. Then it is no longer dedicated software that the user wants information about, but rather a type of application. This type of situation is more complicated for the client (i.e. user) to handle; for example the client must decide if the alternative software installation will cause the original software to be deleted. Nevertheless, such an extension of the present invention is doable, and potentially useful.
- According to a best mode of the present invention, the user terminal will send a SUBSCRIBE message each time the software application is used by the user, or alternatively only the first time. Further alternatives are possible without departing from the scheme of the invention. It is noted that, although the 200 okay messages discussed herein might seem redundant, every SIP request (besides ACK) must be acknowledged by a final response quite apart from the present invention, and there is no way around that.
- At the instant when a new update for the software is available, a software-server will send out a new NOTIFY to all subscribers. The application in the terminal, when receiving this NOTIFY, checks if an update is needed or not. A terminal that is shut off (no power) will, of course, not receive the NOTIFY, but when it powers on again it will at some point subscribe to the software-update event package. The terminal then immediately receives, as discussed above, the NOTIFY that includes the current version(s) and compares that with the installed version. In this way, the terminal does not lose any information.
- A user can unsubscribe if the user is happy with the user's version of the software and does not want any updates. Even if the user subscribes, subscribing does not mean that the user must download or retrieve the available software, because the user can preserve the option of declining if the price is too high, or for other reasons.
- It is to be understood that all of the present Figures, and the accompanying narrative discussions of the best mode embodiment, do not purport to be completely rigorous treatments of the method and system under consideration. A person skilled in the art will understand that the steps and signals of the present application represent general cause-and-effect relationships that do not exclude intermediate interactions of various types, and will further understand that the various steps and structures described in this application can be implemented by a variety of different combinations of hardware and software which need not be further detailed herein.
Claims (17)
1. A method of finding out about and downloading software updates, comprising the steps of:
sending a subscribe request for software updates regarding an application of a user terminal,
receiving an initial notify message having content defined by an event package, the initial notify message describing at least one available software version,
checking if the user terminal has the available software version, and if not then automatically downloading an update to obtain the available software version, or giving the user a choice whether to download and obtain the available software version,
receiving a further type of notify message having content defined by the event package, the further type of notify message describing at least one newly available update, and
downloading the newly available update unless the user gets and exercises an option to not receive the newly available update,
wherein the at least one available software version was available to subscribers prior to the standardized subscribe request, but the newly available update is newly available to subscribers when the further type of notify message is received.
2. The method of claim 1 , wherein the method utilizes and is formatted based upon an application layer protocol known as Session Initiation Protocol, and
wherein the event package requires at least one set of information as to software name, update server address, update retrieval protocol, and latest version.
3. The method of claim 1 , wherein the further type of notify message is sent substantially simultaneously to the user terminal and to other user terminals, but
wherein the initial notify message is sent only to the user terminal and is sent to the user terminal substantially immediately after the standardized subscribe request is received and acknowledged.
4. The method of claim 1 , wherein the steps encompass, or are also performed for, at least one other application of the user terminal.
5. The method of claim 1 , wherein the subscribe request is sent to a centralized software server in the network.
6. The method of claim 1 , wherein the subscribe request is sent to a respective server of a software provider.
7. The method of claim 2 , wherein the information further includes an update price and a latest update date.
8. The method of claim 1 , wherein the sending step and the receiving step are each followed substantially immediately by transmitting an okay response.
9. A computer-readable medium or media for use in a user terminal, the medium being encoded with a data structure for performing the method of claim 1 .
10. A system for finding out about and downloading software updates, comprising:
a first user terminal, for sending a standardized subscribe request signal indicative of at least one application in the first user terminal, and
a software server, responsive to the standardized subscribe request signal, for providing an initial notify signal having content defined by an event package, the initial notify signal being indicative of at least one available software version,
wherein the first user terminal is also for downloading an update to obtain the at least one available software version if the first terminal lacks the at least one available software version, provided that a user of the first terminal approved the downloading or has approved automatic downloading,
wherein the system further comprises other user terminals that have at least one application in common with the first terminal,
wherein the first user terminal and the other user terminals are responsive to a further type of notify signal having content defined by the event package, the further type of notify signal being indicative of at least one newly available update to the at least one application in common, and
wherein the first user terminal and the other user terminals are for downloading the at least one newly available update insofar as respective users approve the downloading, or insofar as the respective users have approved automatic downloading.
11. The system of claim 10 , wherein the at least one application includes applications from at least two software providers.
12. The system of claim 10 , wherein the event package requires at least one set of information as to software name, update server address, update retrieval protocol, and latest version.
13. The system of claim 10 , wherein the software server is a centralized software server.
14. The system of claim 10 , wherein the software server is a software provider server.
15. The system of claim 10 , wherein the standardized subscribe request signal and the notify signal utilize, or are formatted consistently with, and event package based upon an application layer protocol known as Session Initiation Protocol.
16. A subscriber user terminal for finding out about and downloading software updates, comprising:
a plurality of application modules for providing a respective application profile including a respective software version; and
a software update module, for subscribing to at least one server in order to receive software update notifications regarding the plurality of application modules,
wherein the software update module is also for responding to each of the notifications, by requesting at least one of the respective application profiles from the application modules, performing a comparison with a respective one of the notifications, and initiating a download procedure if the comparison indicates a mismatch.
17. The subscriber user terminal of claim 16 , wherein the software update module is for finding out about and downloading software updates consistently with an event package that is based upon an application layer protocol known as Session Initiation Protocol.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/656,862 US20050055687A1 (en) | 2003-09-04 | 2003-09-04 | Software update information via session initiation protocol event packages |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/656,862 US20050055687A1 (en) | 2003-09-04 | 2003-09-04 | Software update information via session initiation protocol event packages |
Publications (1)
Publication Number | Publication Date |
---|---|
US20050055687A1 true US20050055687A1 (en) | 2005-03-10 |
Family
ID=34226450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/656,862 Abandoned US20050055687A1 (en) | 2003-09-04 | 2003-09-04 | Software update information via session initiation protocol event packages |
Country Status (1)
Country | Link |
---|---|
US (1) | US20050055687A1 (en) |
Cited By (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040193609A1 (en) * | 2003-03-26 | 2004-09-30 | Sony Corporation | Master content directory service server for providing a consolidated network-wide content directory |
US20050044280A1 (en) * | 1994-05-31 | 2005-02-24 | Teleshuttle Technologies, Llc | Software and method that enables selection of one of a plurality of online service providers |
US20050055722A1 (en) * | 2003-09-09 | 2005-03-10 | Sony Corporation | Intelligent routing of digital content |
US20050055352A1 (en) * | 2003-09-08 | 2005-03-10 | Sony Corporation | Content directory and synchronization bridge |
US20050055374A1 (en) * | 2003-09-08 | 2005-03-10 | Sony Corporation | Method of and apparatus for providing localized information from an internet server or portal to user without requiring user to enter location |
US20050060435A1 (en) * | 2003-09-17 | 2005-03-17 | Sony Corporation | Middleware filter agent between server and PDA |
US20050060370A1 (en) * | 2003-09-17 | 2005-03-17 | Sony Corporation | Version based content distribution and synchronization system and method |
US20050071486A1 (en) * | 2003-09-25 | 2005-03-31 | Sony Corporation | Information and content exchange document type definitions to support content distribution |
US20050102662A1 (en) * | 2003-09-19 | 2005-05-12 | Pctel, Inc. | PCTEL-13800U automated updating system for wireless networks |
US20050165941A1 (en) * | 2004-01-22 | 2005-07-28 | Edward Eytchison | Methods and apparatuses for streaming content |
US20050166153A1 (en) * | 2004-01-22 | 2005-07-28 | Edward Eytchison | Methods and apparatus for presenting content |
US20050182738A1 (en) * | 2003-10-10 | 2005-08-18 | Denis Prouvost | Message handling device and method for telecommunication terminal and telecommunication terminal provided with such a device |
US20060190569A1 (en) * | 2005-02-22 | 2006-08-24 | Nextair Corporation | Facilitating mobile device awareness of the availability of new or updated server-side applications |
US20060203806A1 (en) * | 2005-03-11 | 2006-09-14 | Rong-Xing Tang | Update method and system of a network device |
EP1713219A1 (en) * | 2005-04-15 | 2006-10-18 | France Telecom | Communications device and method |
US20070058792A1 (en) * | 2005-08-12 | 2007-03-15 | Chaudhari Manoj K | Method and system for booting, provisioning and activating hardware and software clients |
US20070167362A1 (en) * | 2006-01-18 | 2007-07-19 | Staidson (Beijing) Pharmaceutical Co., Ltd. | Medicines containing nerve growth factor for assisting losing weight and methods for assisting losing weight using same |
US20070220148A1 (en) * | 2006-03-20 | 2007-09-20 | Microsoft Corporation | Managing parallel requests in a communications environment supporting serial and parallel request handlers |
US20080005732A1 (en) * | 2006-05-11 | 2008-01-03 | Coon Robert F | Method and System for Integrating Software Update Services with Software Applications |
US20080059640A1 (en) * | 2004-10-05 | 2008-03-06 | Matsushita Electric Industrial Co., Ltd. | Sip Terminal Control System |
US20080064367A1 (en) * | 2006-09-13 | 2008-03-13 | Mformation Technologies Inc. | System and method to enable subscriber self-activation of wireless data terminals |
US20080082612A1 (en) * | 2006-09-28 | 2008-04-03 | Motorola, Inc. | Methods handset and system for downloadable ims middleware |
US20080092226A1 (en) * | 2006-10-12 | 2008-04-17 | Motorola, Inc. | Pre-registration secure and authenticatedsession layer path establishment |
US20080155106A1 (en) * | 2005-04-11 | 2008-06-26 | Infineon Technologies Ag | Method For Forming a Common Communication Session, Method For Forming a First Communication Session and a Second Communication Session From a Common Communication Session, and Communication Session Server |
US20080261631A1 (en) * | 2007-04-23 | 2008-10-23 | Mformation Technologies Inc. | System and method for sending notification message to a mobile station using session initiation protocol (SIP) |
US20090063978A1 (en) * | 2007-09-05 | 2009-03-05 | Sony Corporation | Network status icon in navigable toolbar |
US20090094462A1 (en) * | 2007-10-03 | 2009-04-09 | Hari Haranath Madduri | System and method for self policing of authorized configuration by end points |
US20090187901A1 (en) * | 2006-02-27 | 2009-07-23 | Kyocera Corporation | Communication System, Communication Device, and Management Server Device |
CN1960280B (en) * | 2005-10-31 | 2010-05-05 | 纬创资通股份有限公司 | Method and system for updating system of network device |
US20100153942A1 (en) * | 2008-12-12 | 2010-06-17 | Lazar Borissov | Method and a system for delivering latest hotfixes with a support package stack |
EP2216717A1 (en) * | 2009-01-26 | 2010-08-11 | NTT DoCoMo, Inc. | Installation notification method, installation notification system, and installation notification server |
CN101808311A (en) * | 2010-04-02 | 2010-08-18 | 深圳市同洲电子股份有限公司 | System, device and method for upgrading wireless terminal software |
US20110010703A1 (en) * | 2009-07-13 | 2011-01-13 | Pfu Limited | Delivery system, server device, terminal device, and delivery method |
EP2374267A1 (en) * | 2008-12-12 | 2011-10-12 | Verizon Patent and Licensing Inc. | Voice-over-internet protocol device load profiling |
CN103227782A (en) * | 2013-03-28 | 2013-07-31 | 深圳市力同亚太科技有限公司 | Interphone, client, remote server, software distributing method and software updating method |
US20140136016A1 (en) * | 2011-07-19 | 2014-05-15 | Bayerische Motoren Werke Aktiengesellschaft | Control Unit for a Motor Vehicle, Programming Unit, and Programming System |
US20140173582A1 (en) * | 2006-10-03 | 2014-06-19 | Salesforce. Com, Inc. | Methods and systems for upgrading and installing application packages to an application platform |
WO2014123898A1 (en) * | 2013-02-05 | 2014-08-14 | Apple Inc. | Automatic updating of applications |
CN104750491A (en) * | 2015-03-31 | 2015-07-01 | 百度在线网络技术(北京)有限公司 | File releasing method and device |
US20150193220A1 (en) * | 2014-01-09 | 2015-07-09 | Ford Global Technologies, Llc | Autonomous global software update |
CN104809006A (en) * | 2014-01-24 | 2015-07-29 | 福特全球技术公司 | Apparatus and Method of Software Implementation Between a Vehicle and Mobile Device |
US9325650B2 (en) | 2014-04-02 | 2016-04-26 | Ford Global Technologies, Llc | Vehicle telematics data exchange |
US9323546B2 (en) | 2014-03-31 | 2016-04-26 | Ford Global Technologies, Llc | Targeted vehicle remote feature updates |
WO2016188315A1 (en) * | 2015-12-28 | 2016-12-01 | 中兴通讯股份有限公司 | Method for pushing multimedia information and terminal |
US9524156B2 (en) | 2014-01-09 | 2016-12-20 | Ford Global Technologies, Llc | Flexible feature deployment strategy |
US9716762B2 (en) | 2014-03-31 | 2017-07-25 | Ford Global Technologies Llc | Remote vehicle connection status |
US20180121219A1 (en) * | 2016-10-29 | 2018-05-03 | Deutsche Telekom Ag | Distribution of a software client application towards a client computing device |
US10140110B2 (en) | 2014-04-02 | 2018-11-27 | Ford Global Technologies, Llc | Multiple chunk software updates |
CN110753923A (en) * | 2017-08-30 | 2020-02-04 | 深圳市欢太科技有限公司 | Non-brush amount terminal detection method and device |
CN110750369A (en) * | 2019-10-09 | 2020-02-04 | 中国人民解放军国防科技大学 | Distributed node management method and system |
US11210080B1 (en) * | 2006-04-11 | 2021-12-28 | Open Invention Network Llc | Workstation uptime, maintenance, and reboot service |
US11238979B1 (en) | 2019-02-01 | 2022-02-01 | Vignet Incorporated | Digital biomarkers for health research, digital therapeautics, and precision medicine |
US11244104B1 (en) | 2016-09-29 | 2022-02-08 | Vignet Incorporated | Context-aware surveys and sensor data collection for health research |
US11314492B2 (en) | 2016-02-10 | 2022-04-26 | Vignet Incorporated | Precision health monitoring with digital devices |
US11409417B1 (en) | 2018-08-10 | 2022-08-09 | Vignet Incorporated | Dynamic engagement of patients in clinical and digital health research |
CN115037728A (en) * | 2022-04-20 | 2022-09-09 | 上海极豆科技有限公司 | Protocol updating method, device, equipment and storage medium |
US20220385715A1 (en) * | 2013-05-06 | 2022-12-01 | Convida Wireless, Llc | Internet of things (iot) adaptation services |
US11705230B1 (en) | 2021-11-30 | 2023-07-18 | Vignet Incorporated | Assessing health risks using genetic, epigenetic, and phenotypic data sources |
US11763919B1 (en) | 2020-10-13 | 2023-09-19 | Vignet Incorporated | Platform to increase patient engagement in clinical trials through surveys presented on mobile devices |
US11901083B1 (en) | 2021-11-30 | 2024-02-13 | Vignet Incorporated | Using genetic and phenotypic data sets for drug discovery clinical trials |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6202207B1 (en) * | 1998-01-28 | 2001-03-13 | International Business Machines Corporation | Method and a mechanism for synchronized updating of interoperating software |
US7050861B1 (en) * | 1999-12-22 | 2006-05-23 | Nortel Networks Limited | Controlling a destination terminal from an originating terminal |
US7080051B1 (en) * | 1993-11-04 | 2006-07-18 | Crawford Christopher M | Internet download systems and methods providing software to internet computer users for local execution |
- 2003
- 2003-09-04 US US10/656,862 patent/US20050055687A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7080051B1 (en) * | 1993-11-04 | 2006-07-18 | Crawford Christopher M | Internet download systems and methods providing software to internet computer users for local execution |
US6202207B1 (en) * | 1998-01-28 | 2001-03-13 | International Business Machines Corporation | Method and a mechanism for synchronized updating of interoperating software |
US7050861B1 (en) * | 1999-12-22 | 2006-05-23 | Nortel Networks Limited | Controlling a destination terminal from an originating terminal |
Cited By (110)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8719339B2 (en) | 1994-05-31 | 2014-05-06 | Intellectual Ventures I Llc | Software and method that enables selection of one of a plurality of online service providers |
US20050044280A1 (en) * | 1994-05-31 | 2005-02-24 | Teleshuttle Technologies, Llc | Software and method that enables selection of one of a plurality of online service providers |
US9484078B2 (en) | 1994-05-31 | 2016-11-01 | Intellectual Ventures I Llc | Providing services from a remote computer system to a user station over a communications network |
US9484077B2 (en) | 1994-05-31 | 2016-11-01 | Intellectual Ventures I Llc | Providing services from a remote computer system to a user station over a communications network |
US8635272B2 (en) | 1994-05-31 | 2014-01-21 | Intellectual Ventures I Llc | Method for distributing a list of updated content to a user station from a distribution server wherein the user station may defer installing the update |
US8407682B2 (en) * | 1994-05-31 | 2013-03-26 | Intellectual Ventures I Llc | Software and method that enables selection of one of a plurality of online service providers |
US9111604B2 (en) | 1994-05-31 | 2015-08-18 | Intellectual Ventures I Llc | Software and method that enables selection of on-line content from one of a plurality of network content service providers in a single action |
US8812620B2 (en) | 1994-05-31 | 2014-08-19 | Intellectual Property I LLC | Software and method that enables selection of one of a plurality of online service providers |
US8499030B1 (en) | 1994-05-31 | 2013-07-30 | Intellectual Ventures I Llc | Software and method that enables selection of one of a plurality of network communications service providers |
US20040193609A1 (en) * | 2003-03-26 | 2004-09-30 | Sony Corporation | Master content directory service server for providing a consolidated network-wide content directory |
US20050055374A1 (en) * | 2003-09-08 | 2005-03-10 | Sony Corporation | Method of and apparatus for providing localized information from an internet server or portal to user without requiring user to enter location |
US20050055352A1 (en) * | 2003-09-08 | 2005-03-10 | Sony Corporation | Content directory and synchronization bridge |
US20050055722A1 (en) * | 2003-09-09 | 2005-03-10 | Sony Corporation | Intelligent routing of digital content |
US20050060435A1 (en) * | 2003-09-17 | 2005-03-17 | Sony Corporation | Middleware filter agent between server and PDA |
US8359406B2 (en) | 2003-09-17 | 2013-01-22 | Sony Corporation | Middleware filter agent between server and PDA |
US20110161287A1 (en) * | 2003-09-17 | 2011-06-30 | Sony Corporation | Middleware filter agent between server and pda |
US7925790B2 (en) | 2003-09-17 | 2011-04-12 | Sony Corporation | Middleware filter agent between server and PDA |
US20050060370A1 (en) * | 2003-09-17 | 2005-03-17 | Sony Corporation | Version based content distribution and synchronization system and method |
US9294441B2 (en) | 2003-09-17 | 2016-03-22 | Sony Corporation | Middleware filter agent between server and PDA |
US20050102662A1 (en) * | 2003-09-19 | 2005-05-12 | Pctel, Inc. | PCTEL-13800U automated updating system for wireless networks |
US20050071486A1 (en) * | 2003-09-25 | 2005-03-31 | Sony Corporation | Information and content exchange document type definitions to support content distribution |
US7735000B2 (en) | 2003-09-25 | 2010-06-08 | Sony Corporation | Information and content exchange document type definitions to support content distribution |
US20050182738A1 (en) * | 2003-10-10 | 2005-08-18 | Denis Prouvost | Message handling device and method for telecommunication terminal and telecommunication terminal provided with such a device |
US8689113B2 (en) | 2004-01-22 | 2014-04-01 | Sony Corporation | Methods and apparatus for presenting content |
US20050166153A1 (en) * | 2004-01-22 | 2005-07-28 | Edward Eytchison | Methods and apparatus for presenting content |
US20050165941A1 (en) * | 2004-01-22 | 2005-07-28 | Edward Eytchison | Methods and apparatuses for streaming content |
US10372748B2 (en) | 2004-01-22 | 2019-08-06 | Sony Corporation | Methods and apparatuses for presenting content |
US20080059640A1 (en) * | 2004-10-05 | 2008-03-06 | Matsushita Electric Industrial Co., Ltd. | Sip Terminal Control System |
US20060190569A1 (en) * | 2005-02-22 | 2006-08-24 | Nextair Corporation | Facilitating mobile device awareness of the availability of new or updated server-side applications |
US20060203806A1 (en) * | 2005-03-11 | 2006-09-14 | Rong-Xing Tang | Update method and system of a network device |
US20080155106A1 (en) * | 2005-04-11 | 2008-06-26 | Infineon Technologies Ag | Method For Forming a Common Communication Session, Method For Forming a First Communication Session and a Second Communication Session From a Common Communication Session, and Communication Session Server |
EP1713219A1 (en) * | 2005-04-15 | 2006-10-18 | France Telecom | Communications device and method |
WO2006108705A1 (en) * | 2005-04-15 | 2006-10-19 | France Telecom | Communications device and method |
US20070058792A1 (en) * | 2005-08-12 | 2007-03-15 | Chaudhari Manoj K | Method and system for booting, provisioning and activating hardware and software clients |
US9525595B2 (en) | 2005-08-12 | 2016-12-20 | Comcast Cable Communications, Llc | Updating configuration parameters of clients |
US8615648B2 (en) | 2005-08-12 | 2013-12-24 | Comcast Cable Holdings, Llc | Method and system for booting, provisioning and activating hardware and software clients |
US8019986B2 (en) * | 2005-08-12 | 2011-09-13 | Comcast Cable Holdings, Llc | Method and system for booting, provisioning and activating hardware and software clients |
CN1960280B (en) * | 2005-10-31 | 2010-05-05 | 纬创资通股份有限公司 | Method and system for updating system of network device |
US20070167362A1 (en) * | 2006-01-18 | 2007-07-19 | Staidson (Beijing) Pharmaceutical Co., Ltd. | Medicines containing nerve growth factor for assisting losing weight and methods for assisting losing weight using same |
US20090187901A1 (en) * | 2006-02-27 | 2009-07-23 | Kyocera Corporation | Communication System, Communication Device, and Management Server Device |
US8645943B2 (en) * | 2006-02-27 | 2014-02-04 | Kyocera Corporation | Communication system, communication device, and management server device |
US7730192B2 (en) | 2006-03-20 | 2010-06-01 | Microsoft Corporation | Managing parallel requests in a communications environment supporting serial and parallel request handlers |
US20070220148A1 (en) * | 2006-03-20 | 2007-09-20 | Microsoft Corporation | Managing parallel requests in a communications environment supporting serial and parallel request handlers |
US11210080B1 (en) * | 2006-04-11 | 2021-12-28 | Open Invention Network Llc | Workstation uptime, maintenance, and reboot service |
US20080005732A1 (en) * | 2006-05-11 | 2008-01-03 | Coon Robert F | Method and System for Integrating Software Update Services with Software Applications |
US20080064367A1 (en) * | 2006-09-13 | 2008-03-13 | Mformation Technologies Inc. | System and method to enable subscriber self-activation of wireless data terminals |
US8559947B2 (en) | 2006-09-13 | 2013-10-15 | Mformation Software Technologies Llc | System and method to enable subscriber self-activation of wireless data terminals |
US20080082612A1 (en) * | 2006-09-28 | 2008-04-03 | Motorola, Inc. | Methods handset and system for downloadable ims middleware |
US9348576B2 (en) * | 2006-10-03 | 2016-05-24 | Salesforce.Com, Inc. | Methods and systems for upgrading and installing application packages to an application platform |
US20140173582A1 (en) * | 2006-10-03 | 2014-06-19 | Salesforce. Com, Inc. | Methods and systems for upgrading and installing application packages to an application platform |
US9870218B2 (en) | 2006-10-03 | 2018-01-16 | Salesforce.Com Inc. | Methods and systems for upgrading and installing application packages to an application platform |
US10831462B2 (en) | 2006-10-03 | 2020-11-10 | Salesforce.Com, Inc. | Methods and systems for upgrading and installing application packages to an application platform |
US20080092226A1 (en) * | 2006-10-12 | 2008-04-17 | Motorola, Inc. | Pre-registration secure and authenticatedsession layer path establishment |
US9462060B2 (en) * | 2007-04-23 | 2016-10-04 | Alcatel Lucent | System and method for sending notification message to a mobile station using session initiation protocol (SIP) |
US20080261631A1 (en) * | 2007-04-23 | 2008-10-23 | Mformation Technologies Inc. | System and method for sending notification message to a mobile station using session initiation protocol (SIP) |
US20090063978A1 (en) * | 2007-09-05 | 2009-03-05 | Sony Corporation | Network status icon in navigable toolbar |
US8413130B2 (en) * | 2007-10-03 | 2013-04-02 | International Business Machines Corporation | System and method for self policing of authorized configuration by end points |
US20090094462A1 (en) * | 2007-10-03 | 2009-04-09 | Hari Haranath Madduri | System and method for self policing of authorized configuration by end points |
EP2374267A4 (en) * | 2008-12-12 | 2012-07-11 | Verizon Patent & Licensing Inc | Voice-over-internet protocol device load profiling |
US20100153942A1 (en) * | 2008-12-12 | 2010-06-17 | Lazar Borissov | Method and a system for delivering latest hotfixes with a support package stack |
US8493968B2 (en) | 2008-12-12 | 2013-07-23 | Verizon Patent And Licensing Inc. | Voice-over-Internet Protocol device load profiling |
CN102308565B (en) * | 2008-12-12 | 2014-04-16 | 维里逊专利及许可公司 | Voice-over-internet protocol device load profiling |
EP2374267A1 (en) * | 2008-12-12 | 2011-10-12 | Verizon Patent and Licensing Inc. | Voice-over-internet protocol device load profiling |
CN102308565A (en) * | 2008-12-12 | 2012-01-04 | 维里逊专利及许可公司 | Voice-over-internet protocol device load profiling |
EP2216717A1 (en) * | 2009-01-26 | 2010-08-11 | NTT DoCoMo, Inc. | Installation notification method, installation notification system, and installation notification server |
US8320899B2 (en) | 2009-01-26 | 2012-11-27 | Ntt Docomo, Inc. | Installation notification method, installation notification system, and installation notification server |
US8423996B2 (en) * | 2009-07-13 | 2013-04-16 | Pfu Limited | Delivery system, server device, terminal device, and delivery method |
US20110010703A1 (en) * | 2009-07-13 | 2011-01-13 | Pfu Limited | Delivery system, server device, terminal device, and delivery method |
CN101808311A (en) * | 2010-04-02 | 2010-08-18 | 深圳市同洲电子股份有限公司 | System, device and method for upgrading wireless terminal software |
US10073675B2 (en) * | 2011-07-19 | 2018-09-11 | Bayerische Motoren Werke Aktiengesellschaft | Control unit for a motor vehicle, programming unit, and programming system |
US20140136016A1 (en) * | 2011-07-19 | 2014-05-15 | Bayerische Motoren Werke Aktiengesellschaft | Control Unit for a Motor Vehicle, Programming Unit, and Programming System |
US9977668B2 (en) | 2013-02-05 | 2018-05-22 | Apple Inc. | Automatic updating of applications |
WO2014123898A1 (en) * | 2013-02-05 | 2014-08-14 | Apple Inc. | Automatic updating of applications |
US9542172B2 (en) | 2013-02-05 | 2017-01-10 | Apple Inc. | Automatic updating of applications |
CN103227782A (en) * | 2013-03-28 | 2013-07-31 | 深圳市力同亚太科技有限公司 | Interphone, client, remote server, software distributing method and software updating method |
US20220385715A1 (en) * | 2013-05-06 | 2022-12-01 | Convida Wireless, Llc | Internet of things (iot) adaptation services |
US9524156B2 (en) | 2014-01-09 | 2016-12-20 | Ford Global Technologies, Llc | Flexible feature deployment strategy |
US20150193220A1 (en) * | 2014-01-09 | 2015-07-09 | Ford Global Technologies, Llc | Autonomous global software update |
CN104778056A (en) * | 2014-01-09 | 2015-07-15 | 福特全球技术公司 | Autonomous global software update |
US9766874B2 (en) * | 2014-01-09 | 2017-09-19 | Ford Global Technologies, Llc | Autonomous global software update |
CN104809006A (en) * | 2014-01-24 | 2015-07-29 | 福特全球技术公司 | Apparatus and Method of Software Implementation Between a Vehicle and Mobile Device |
US9716762B2 (en) | 2014-03-31 | 2017-07-25 | Ford Global Technologies Llc | Remote vehicle connection status |
US9323546B2 (en) | 2014-03-31 | 2016-04-26 | Ford Global Technologies, Llc | Targeted vehicle remote feature updates |
US9325650B2 (en) | 2014-04-02 | 2016-04-26 | Ford Global Technologies, Llc | Vehicle telematics data exchange |
US10140110B2 (en) | 2014-04-02 | 2018-11-27 | Ford Global Technologies, Llc | Multiple chunk software updates |
CN104750491A (en) * | 2015-03-31 | 2015-07-01 | 百度在线网络技术(北京)有限公司 | File releasing method and device |
CN106921720A (en) * | 2015-12-28 | 2017-07-04 | 中兴通讯股份有限公司 | A kind of method and terminal for pushing multimedia messages |
WO2016188315A1 (en) * | 2015-12-28 | 2016-12-01 | 中兴通讯股份有限公司 | Method for pushing multimedia information and terminal |
US11474800B2 (en) | 2016-02-10 | 2022-10-18 | Vignet Incorporated | Creating customized applications for health monitoring |
US11321062B2 (en) | 2016-02-10 | 2022-05-03 | Vignet Incorporated | Precision data collection for health monitoring |
US11954470B2 (en) | 2016-02-10 | 2024-04-09 | Vignet Incorporated | On-demand decentralized collection of clinical data from digital devices of remote patients |
US11467813B2 (en) | 2016-02-10 | 2022-10-11 | Vignet Incorporated | Precision data collection for digital health monitoring |
US11340878B2 (en) * | 2016-02-10 | 2022-05-24 | Vignet Incorporated | Interative gallery of user-selectable digital health programs |
US11314492B2 (en) | 2016-02-10 | 2022-04-26 | Vignet Incorporated | Precision health monitoring with digital devices |
US11675971B1 (en) | 2016-09-29 | 2023-06-13 | Vignet Incorporated | Context-aware surveys and sensor data collection for health research |
US11501060B1 (en) | 2016-09-29 | 2022-11-15 | Vignet Incorporated | Increasing effectiveness of surveys for digital health monitoring |
US11244104B1 (en) | 2016-09-29 | 2022-02-08 | Vignet Incorporated | Context-aware surveys and sensor data collection for health research |
US11507737B1 (en) | 2016-09-29 | 2022-11-22 | Vignet Incorporated | Increasing survey completion rates and data quality for health monitoring programs |
US10877773B2 (en) * | 2016-10-29 | 2020-12-29 | Deutsche Telekom Ag | Distribution of a software client application towards a client computing device |
US20180121219A1 (en) * | 2016-10-29 | 2018-05-03 | Deutsche Telekom Ag | Distribution of a software client application towards a client computing device |
CN110753923A (en) * | 2017-08-30 | 2020-02-04 | 深圳市欢太科技有限公司 | Non-brush amount terminal detection method and device |
US11520466B1 (en) | 2018-08-10 | 2022-12-06 | Vignet Incorporated | Efficient distribution of digital health programs for research studies |
US11409417B1 (en) | 2018-08-10 | 2022-08-09 | Vignet Incorporated | Dynamic engagement of patients in clinical and digital health research |
US11238979B1 (en) | 2019-02-01 | 2022-02-01 | Vignet Incorporated | Digital biomarkers for health research, digital therapeautics, and precision medicine |
US11923079B1 (en) | 2019-02-01 | 2024-03-05 | Vignet Incorporated | Creating and testing digital bio-markers based on genetic and phenotypic data for therapeutic interventions and clinical trials |
CN110750369A (en) * | 2019-10-09 | 2020-02-04 | 中国人民解放军国防科技大学 | Distributed node management method and system |
US11763919B1 (en) | 2020-10-13 | 2023-09-19 | Vignet Incorporated | Platform to increase patient engagement in clinical trials through surveys presented on mobile devices |
US11705230B1 (en) | 2021-11-30 | 2023-07-18 | Vignet Incorporated | Assessing health risks using genetic, epigenetic, and phenotypic data sources |
US11901083B1 (en) | 2021-11-30 | 2024-02-13 | Vignet Incorporated | Using genetic and phenotypic data sets for drug discovery clinical trials |
CN115037728A (en) * | 2022-04-20 | 2022-09-09 | 上海极豆科技有限公司 | Protocol updating method, device, equipment and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20050055687A1 (en) | Software update information via session initiation protocol event packages | |
US11329840B2 (en) | Voice control of endpoint devices through a multi-services gateway device at the user premises | |
US8655984B2 (en) | Content aggregation service for mobile environment | |
CN101960822B (en) | SIP-HTTP application correlator | |
US9723137B2 (en) | System and method for implementing multimedia calling line identification presentation service | |
US7809846B2 (en) | Resilient application layer overlay framework for converged communication over Internet protocol networks | |
US9065666B2 (en) | System and method of multi-media conferencing between universal plug and play (UPnP) enabled telephony devices and wireless area network (WAN) devices | |
EP3539269B1 (en) | Node type based control of assistance for data streaming | |
US9769531B2 (en) | Method and apparatus for provisioning client devices connected to an interactive TV network | |
US20120124227A1 (en) | Browser-based voip service method and system | |
JP2004505384A (en) | Method for forming a multimedia streaming session | |
US20090190736A1 (en) | Communications | |
JP2006050632A (en) | Dynamic control method for session timeout | |
US11051078B2 (en) | Video distribution method and device | |
JP2004215237A (en) | Method and apparatus for removing client from interactive tv network | |
US7483369B2 (en) | Method and apparatus for migrating to an alternate call controller | |
CN101330498A (en) | SIP endpoint collocation in a VoIP network | |
KR101246881B1 (en) | System and Method on Session Sustaining of Variable IP Device Using SIP | |
US8015304B2 (en) | Method to distribute speech resources in a media server | |
WO2007031029A1 (en) | A method for resource state subscription based on session initiation protocol | |
US7817646B2 (en) | Communication server network for computer networks | |
JP2003530732A (en) | Communication system with scalability | |
EP2009845A1 (en) | Method and apparatus for error messaging in a multimedia network | |
CN112073672A (en) | Video networking conference control method and device | |
EP2104313A1 (en) | Method and apparatus for processing delivery of software items |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment | Owner name: NOKIA CORPORATION, FINLAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MAYER, G.;REEL/FRAME:014790/0476 Effective date: 20030923 | |
STCB | Information on status: application discontinuation | Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |