1. Field of Invention
The present invention relates to a communication architecture, and more specifically, to a communication architecture for establishing connectivity between devices using one or more transports.
2. Background
In general, software programs may include instruction sets that are executable by a processor, and are further organized to receive input (e.g., data) for use in a calculation or determination resulting in an output. Software technology has evolved to transform these individual instruction sets into program modules that may in turn be integrated together to form the more complex programs. Today's more-sophisticated software programs may receive various forms of input such as raw data, for example as stored in magnetic or optical storage, user input through various known types of user interfaces, measured or monitored information converted to electronic information from electronic and/or electromechanical sensors, etc.
In some instances, programs may be configured to produce data usable by other software applications. However, a problem may be presented in conveying the information from one program to another. If the relationship is known before the programs are created, then a specific strategy may be devised to convert one program's output into another program's input. Traditionally this strategy has led to functional but rigid software applications, requiring frequent and possibly substantial revisions due to changes in functionality, platform, architecture, etc.
Recently, more flexible modular architectures for sharing information amongst programs are emerging. These programs use modular program units, or “nodes,” that can be revised or replaced without having to interrupt overall device operation. In particular, some nodes may contribute information to a shared memory space, while others may read previously stored information from the shared memory space or may combine these functions. Other types of nodes may also be specialized to provide communication services. Using this strategy, altering program elements (e.g., altering, adding or deleting one or more nodes) may not affect nodes that are actively communicating with other nodes, and memory usage may be optimized since information may be stored in a single location while being accessible to all of the nodes.
While this strategy can conceptually be implemented in a single device platform, no effective solution currently exists for coupling nodes on different devices. Problems currently exist with respect to facilitating the establishment of a transport (e.g., a wireless communication medium) with which one node may correspond with another. Further, if a selected transport becomes unavailable, for example, because of environmental interference, range and or traffic issues, then under the application of current practices a whole new connection configuration would have to be devised. In addition, even if another transport was configured manually or as an automated backup to the original transport, a substantial risk may still exist if the alternative transport isn't available (e.g., is a particular transport that is also experiencing problems). A risk may further exist with respect to lost data (e.g., dropped packets) as data already allocated to resources supporting a failing or failed transport cannot be recovered, and therefore, this information may have to be resent and/or recreated. This recovery process will unavoidably occupy system resources and delay the sending of any following data, resulting in a negative impact on the overall quality of service (QoS) provided by the communication device.
The present invention may include at least a method, computer program, device and system for automating connection management in a manner that may be transparent to any actively communicating applications operating in a Network on Terminal Architecture (NoTA). An application level entity, such as an application node, may access another node by making a request to a high level communication structure via a high level interface. The high level structure may then interact with a lower level structure in order to facilitate a connection to a programmatic element on another device, for example, via a particular communication transport.
In at least one embodiment of the present invention, information provided from one or more application and/or service level entities for transmission to another device may initially be stored in a transport-independent data buffer. At a later time, for example after a particular transport has been selected for conveying this information to the other device, the information may be forwarded to a lower level transport-specific data buffer corresponding to the selected transport as part of the preparation for transmission. The information in the transport-specific buffer may then be sent to the other device via the selected transport.
In accordance with the above example, a strategy may be employed to account for possible problems that may be encountered in the selected transport. A failure may occur in a communication link conducted using the selected transport due to, for example, physical disconnection of a communication line, moving out of range, environmental interference, etc. As a result, information already transferred to the transport-specific buffer in preparation for transmission may be lost. To account for this situation, various embodiments of the present invention may retain a copy of the information that was most recently passed to the transport-specific data buffer in the transport-independent data buffer until transport-related resources can confirm that the transmission was successful. In this way, corrective action in response to a failed transport may be performed expeditiously, which may reduce any impact on QoS.
More specifically, the transport-independent data buffer may only delete the retained copy of the previously-passed information after a some sort of confirmation of receipt message has been received from the other device. This is not to say that transport itself cannot also attempt to resend the information, for example, until some threshold condition has been met. However, if a determination is made that the currently selected transport can no longer provide a viable link, various embodiments of the present invention may then take action to establish a link with an alternative transport. After a new connection has been established using the newly selected transport, the transport-independent data buffer may send the retained copy of the information that may have been lost when the previous transport failed to the transport-specific data buffer corresponding to the newly selected transport in preparation for retransmission.
The invention will be further understood from the following detailed description of various exemplary embodiments, taken in conjunction with appended drawings, in which:
While the invention has been described below in a multitude of exemplary embodiments, various changes can be made therein without departing from the spirit and scope of the invention, as described in the appended claims.
I. Network on Terminal Architecture (NoTA)
Network on Terminal Architecture (NoTA) is a service based interconnect-centric platform architecture usable in various electronic apparatuses including wired and/or wireless (e.g., mobile) devices. The interconnect-centric approach incorporated in NoTA may allow any physical sub-system to directly communicate with other sub-systems while supporting multiple parallel connections. Direct connections are possible due to simple switches optimized for the underlying physical media. NoTA interconnect architecture and related interfaces may be complexity and performance optimized for service and data communication, and may be designed in such a way that different communication media technologies can be utilized.
Now referring to
Billboard level 124 may facilitate interaction between services available on the one or more devices. Services 134 and clients 136 that may utilize these services may be organized in service domains 126. In at least one scenario, service domains 126 may correspond to a particular protocol, such as UPnP, BT SDP, Bonjour, etc. In each service domain 126, services 134 may be represented by service nodes (SN) 130, and likewise, application nodes (AN) 132 may be established to correspond to applications. Further, service domains 126 may interact utilizing service ontology interpreters (SOI) 128. SOI 128 may allow service domains 126 to interact with other service domains (e.g., 138), even if service domain 138 resides on another wirelessly-linked device (e.g., to provide access information to service domains 126).
Connectivity map 144 may define connectivity methods/possibilities and topology for different devices participating in sharing resources in order to support a top level, for example whiteboard 110, and also billboard-type services in billboard level 122. In at least one exemplary embodiment of the present invention, devices 144 may be linked in directly connected groups 142. Examples of directly connected groups of devices (Dev) 142 may include devices connected via Bluetooth™ piconet, a WLAN network, a wUSB link, etc. Each directly connected group of devices 142 may further be linked by gateways (GW) 146.
II. Underlying Communication Elements that May Couple Subsystems
While examples of inter-node interaction involving application and/or service nodes has been described, no detailed discussion regarding how the devices may be coupled via wired or wireless communication, or the management of this connection, has been offered.
While an exemplary whiteboard 152 divided into two sections 152A and 152B has been utilized for the sake of explanation in the present disclosure, the facilitation of node interaction is not specifically limited to this scenario. For example, while proactive node (PN) 210 coupled to whiteboard section 152A may utilize SN 212 and 214 to interact with whiteboard section 152B as shown in
Utilizing the previously described architecture, an example of establishing access to a service on another device via a wireless link, in accordance with at least one exemplary embodiment of the present invention, is disclosed in
III. Exemplary Connection Management Structures
The present invention, in accordance with at least one embodiment, may be described in terms of the functionality of various architecture components and component relations.
L_INup 408 may perform multiple functions in embodiments of the present invention. For example, activation and deactivation may be controlled in this layer of the communication structure. The L_IN activation process is controlled over the L_IF 382. During the activation process, the L_IN 304 may be configured to be able to use wireless and/or wired transports as L_IN transports. As a result of successful activation, L_IN 304 may then be able to resolve an Interconnect Address (IA) as well as IAs for the existing Resource Managers (IArm). L_INup 408 may use the query services provided to L_INdown 412 during this activation.
When active, L_IN 304 may be able to detect loss of a L_IN network connection. As a result, any earlier allocated IA and IArms may be released in order to, for example, automatically reconnect the network connection using the same or a different transport. The deactivation process is also controlled over L_IF 382. In the deactivation process, L_IN 304 is deactivated in respect of all available transports. During this process, the IA is released.
The L_IN connection creation process may establish a L_IN-level connection between different devices such as shown in
In order for L_IN to carry out its function, a set of basic L_INup-L_INup connection protocols may be defined. All of these may be utilized by the L_INup communication structure 408, hence making the implementation of the L_INdown adapter 412 simple (e.g., because no generic L_INdown-L_INdown peer protocols are required). The following L_INup protocols may be defined for facilitating communication between L_IN communication structures existing in two separate devices (e.g., devices 200 and 202 as shown in
A protocol that may provide a means to allocate and identify unique interconnect addresses for each device may be called an Interconnect Address Resolution Protocol (IARP) in accordance with at least one exemplary embodiment of the present invention.
A protocol that may provide a means to establish data connection establishment and disconnection between sockets may be called the Device Access Protocol (DAP) in accordance with at least one exemplary embodiment of the present invention.
A protocol that may provide a means to exchange connectivity map-type information between devices. This information (e.g., regarding connectivity in the device environment) may further be utilized to select optimal connectivity method when distributing information across the devices. This protocol may be called the Connectivity Environment Protocol (CEP) in accordance with at least one exemplary embodiment of the present invention.
IARP may be specified to provide inter-device NoTA architecture Interconnect Address (IA) resolution within a network of devices, in an ad-hoc communication connection, etc. IARP may contain four messages in order to retrieve and release a unique IA. In the example of
DAP may provide connectivity initialization, creation, and disconnection. L_IN layer internal interface, L_IFdown 410, may provide uniform way for DAP to access individual transports. Each transport needs an adaptor 412 which implements L_IFdown interface 410.
Inter-transport switch triggering decisions may be controlled in view of condition information obtained by monitoring the transmit (TX) and receive (RX) buffer fill levels. All data conveyance may be considered “Best Effort” (BE) type. Introduction of some simple QoS classes (e.g. BE, low-latency delivery, minimized power consumption, etc.) may then be possible while still keeping the overall implementation complexity of NoTA manageable. The connection loss and recovery process is a supplemental action in L_IN communication structure 304 that can be utilized for restoration and reconnection procedures that could not otherwise be handled in as part of the inherent abilities of resources operating at the transport level.
Part of the connection setup, data delivery, and connectivity recovery solutions may include sharing and distributing information about the connectivity in the surrounding environment by means of the CEP protocol. This method may retrieve information about the available connectivity technologies used by other surrounding devices and enables smart decision making procedures when choosing optimal transport to access devices and services. In
The L_INdown communication structure 412 may provide other communication-related functionality. For example, a query operation may be an L_INdown internal function that is intended to provide information concerning transport-specific connection opportunities. This functionality may be tightly coupled with scene and connectivity maps by which information regarding the overall space/proximity/neighborhood connectivity may be obtained. The query function is mainly employed during the establishment of a connection.
A data delivery process may handle data flow control between the same transport peer entities (e.g., between L_IN up communication structures such as shown in
IV. Communication Management
These control elements may identify one or more wireless transports appropriate to implement according to various factors including, for example, buffer level. In the exemplary scenario depicted in
However, in accordance with at least one embodiment of the present invention, an exemplary implementation wherein co-operation of one or more wireless transports may help to resolve such a problematic scenario is disclosed in
A decision to perform the switch may be implemented based on many factors, and also in view of the particular configuration of the present invention that is being utilized. For example, a number of empty (or full) buffers and/or per time period, estimated needed bit-rate (e.g., determined based on monitoring the buffer filling level), etc. In addition, the request to perform the switch from one transport to another may be triggered by either end (TX or RX). In the case of push type configuration (e.g., stream from device 200 is pushed into storage in device 202) the TX side may be more likely to initiate a switch. In pull systems, (e.g. data is being pulled from device 200 to device 202), the RX side may initiate a switch. In either case, the implementation of one or more transports may result in a balancing of buffer levels as shown at 706, 708, 712 and 714 in
Another exemplary use may include that during utilization of transport 800 communication is suddenly lost and hence some “fallback” procedure is needed. This procedure may be negotiated during the setup phase of link 800. In this procedure it may be established that link 750 may be used (e.g., in accordance with certain factors) if the link 800 is lost. However, it might be that transport protocols do not control packet retransmission, for example, in a case where a transport delivered an erroneous packet. In at least one instance a bearer may be carrying a data packet successfully from device to another but there is an error in the packet that is not noticed by the bearer error-checking mechanism. For the same reason a packet already in queue for transport 800 is lost if the link is lost, even though the data is still in TX buffer 704. In this situation, it would be beneficial for the data to be restored from buffer 704 and resent using transport 750.
From a power consumption standpoint, it may be beneficial to utilize high bit rate connectivity to move large amount of bits during a short period of time. This means that TX buffer 704 is intentionally filled up and then emptied with high bit rate communication link (depending, for example, on whether the provider application can support the increased speed). However, it is conceivable that transport 800 may, in at least one instance, not support a sleep mode that increases operational efficiency, which may mean that substantial power will be consumed during waiting time until TX buffer 704 is filled up again. In this kind of exemplary situation, a low rate radio sleep mode may be utilized, which would mean that the transport 750 is active during the time when TX buffer 704 is filling. This activity may be controlled, as previously set forth, by various hardware and/or software control elements in device 200.
Transport control may also be implemented in view of receiving side flow control factors. A transport-specific RX buffer corresponding to TX buffer 704 may become filled resulting in receiver-side data flow control issues. In such a situation the TX side may stop its transmission. If the link was high bit rate link (e.g., transport 800) it might be beneficial to negotiate that the slower transport 750 should become active until a “GO” signal is again issued. It is also possible for connectivity control elements to monitor radio operation. Either side (TX or RX) may trigger a low power transport mode, but now the TX side control may understand that there is no point trying to use high bit rate link despite its TX buffer filled condition because the RX side issued flow control, and thus cannot process incoming data as fast as the TX side.
V. Proactive Control
In addition to the reactive control methodology described above, proactive control may also be implemented in accordance with at least one embodiment of the present invention.
Initially, a connection may be established between device 1 and the other devices utilizing a low power medium. This is shown in
There are at least two possible control implementations usable in accordance with various embodiments of the present invention. A first exemplary implementation may negotiate the duty cycle already at the beginning of video streaming. The role of ULP-BT would then be to set up the video streaming link as shown in
In accordance with a second exemplary implementation, as shown in
For example, the controlling of WLAN or UWB radio over ULP-BT may be arranged as follows: When a ULP-BT connection is created, one logical link may be reserved as a connectivity control channel. This channel may carry information regarding connectivity between devices. In this channel, for example, connectivity map information may be exchanged. In addition, this channel may make it possible to provide timing information (e.g., transport awakening and synchronization reference point delivery between devices) for control purposes. This connectivity information may be exchanged using any available transport, and may be used with many different applications to provide better initial transport selection, faster service discovery, optimal transport medium selection, transport handover etc. Connectivity map 140 may also be beneficial when selecting active bearer from multiple available bearers during link setup, link maintenance and data delivery. For example, at some point in
Another benefit of this procedure, especially in the exemplary scenario shown in
VI. Exemplary Transport Switching
In the example of
However, in some cases a connection established using a particular transport may become broken, or alternatively, parameters relating to the connection may become altered in a manner where another transport may become more preferable transport for maintaining the connection. For example, a wired transport may experience failure due to the physical disconnection of media (e.g., cables). Likewise, a wireless transport may experience a loss of connection due to a device leaving the transmission range of a particular transport, interference experienced from other radios in the same device or nearby wireless devices, electromagnetic emission, etc. Such an instance of disconnect is shown with respect to
In the example of
However, various exemplary embodiments of the present invention may provide a strategy for avoiding an overly detrimental impact on device operations caused by the loss of data by leveraging the flexibility of the NoTA architecture. Now referring to
The effect of the above exemplary configuration, in accordance with at least one embodiment, on a situation where the previously selected transport experiences a failure, or alternatively, parameters relating to the connection have changed so that the previously selected transport is no longer preferable, and a transport switch is determined to happen, is shown with respect to
It is important to note that general buffer 702 does not delete the information for data A until a successful transaction is confirmed over the new transport link 800. Therefore, once transport-specific buffer 1100 has received a confirmation and/or is ready to accept a new data unit, general buffer 702 may delete data A and forward a new data unit for transmission (e.g., data B). As in the process previously described above, general buffer 702 will save a copy of data B until a successful transaction is confirmed. Otherwise, a new transport may be selected if needed, and data B may be passed to the corresponding transport-specific buffer for sending.
In accordance with at least one embodiment of the present invention, the principle of releasing memory reserved in general buffer 702 for storing data copies may vary depending on the particular transport(s) in use. For example, since there may be various ways to indicate the receipt of some amount of data on the receiving end (e.g., transmission has been successful), then also the actual amount of received data confirmed may vary. More specifically, the granularity of general buffer 702 and transport-specific buffer 704 may differ, and thus, special consideration may be required when general buffer memory is released. In other words, the number of data copies that may be simultaneously maintained in general buffer 702 may depend on various transport-specific factors such as the speed of the transport(s) being used, whether the transport(s) supports error correction, the transmission data unit size of the transport(s), etc.
A flowchart describing a process flow in accordance with at least one exemplary embodiment of the present invention is now disclosed with respect to
In step 1206 a determination is made as to whether the information sent in step 1204 was successfully received. This may be confirmed, for example, by a receipt confirmation message being received. If receipt is not confirmed, then in step 1208 a determination may be made as to whether the transport should try to resend the data. This determination may be made in view of a threshold condition such as described above. If the option to retry is available, the transport may trigger the information to be resent in step 1210. The information may be sent in step 1204, and the verification of successful data transmission occurs again in step 1206.
If the data reception at the destination device is confirmed, then the copy of the previously sent data may be deleted in step 1212. If more data remains to be sent as determined in step 1214, then the process may return to step 1202 where the next data unit may be passed from the general buffer to the transport-specific buffer, and in accordance with at least one exemplary embodiment of the present invention, a copy of the passed data may be stored in the general buffer. However, the occurrence of a transport failure may trigger an alternate flow.
For example, if the sent data was not received successfully as determined in step 1206, and retry is not available (e.g., because the transport is nonfunctional, because a threshold condition with respect to retries has been realized, etc.), then in step 1218 a determination may be made as to whether a transport switch (e.g., transport switch 310) has been enabled in the configuration of the system. This configuration may reside on one or more of the devices participating in the NoTA system, and may be set on any or all of the devices depending on the specific configuration and abilities (e.g., user interface capability) of the device. If the transport switch is not set in step 1218, then the process may terminate in step 1216 (shown as same-page reference “A” in
Once a suitable transport is selected and is also determined to be available for use, then in step 1226 a communication link may be established using the new transport. The general buffer may then pass the saved copy of the unsuccessfully sent data to the transport-specific buffer corresponding to the newly selected transport in step 1228. The process flow may then return to step 1204 (shown as same-page reference “B” in
In view of the various embodiments of the present invention disclosed herein, several advantages may be realized from the combined implementation of transport-independent and transport-specific data buffers. For instance, expedient connection reestablishment and data retransmission may be realized in scenarios where one or more active transports may fail or a determination to switch an active transport for the connection has been made. In at least one exemplary scenario, data that may be awaiting transmission via Bluetooth when the transport experiences problems may be lost. However, a copy of the unsent data abandoned in the Bluetooth data buffer may still reside in the general data buffer. This backup data copy may be immediately allocated to an alternative transport (e.g., WLAN) without the burden of trying to recover and convert the Bluetooth-formatted data packets back into a transport-independent format because the “raw” data is still available in the transport-independent general data buffer in a transport-independent format. Further, the data stored in the general data buffer may be fragmented into transport-suitable packets, so that whenever the general data buffer receives an indication that the corresponding data has been successfully reached its destination, the copy stored in the general data buffer may then be removed. In the above exemplary scenario where the Bluetooth transport wasn't able to successfully transmit the data, an indication that the data has been reallocated to another transport may be provided to the Bluetooth radio control entity so that the data that was successfully sent via the alternative transport may be removed from the Bluetooth buffer.
Accordingly, it will be apparent to persons skilled in the relevant art that various changes in forma and detail can be made therein without departing from the spirit and scope of the invention. The breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IB2008/050711 | 2/27/2008 | WO | 00 | 8/27/2010 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2009/106932 | 9/3/2009 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5491693 | Britton et al. | Feb 1996 | A |
5548723 | Pettus | Aug 1996 | A |
5822598 | Lam | Oct 1998 | A |
5886645 | Eaton | Mar 1999 | A |
6148377 | Carter et al. | Nov 2000 | A |
6233224 | Yamashita et al. | May 2001 | B1 |
6247057 | Barrera, III | Jun 2001 | B1 |
6260158 | Purcell et al. | Jul 2001 | B1 |
6526487 | Ohran et al. | Feb 2003 | B2 |
6597919 | Kumar et al. | Jul 2003 | B1 |
6601093 | Peters | Jul 2003 | B1 |
6604140 | Beck et al. | Aug 2003 | B1 |
6871257 | Conley et al. | Mar 2005 | B2 |
6879561 | Zhang et al. | Apr 2005 | B1 |
6909721 | Ekberg et al. | Jun 2005 | B2 |
6931502 | Ohran et al. | Aug 2005 | B2 |
6976186 | Gardner | Dec 2005 | B1 |
7110405 | Divivier | Sep 2006 | B2 |
7162569 | Conley et al. | Jan 2007 | B2 |
7352998 | Palin et al. | Apr 2008 | B2 |
7549080 | Gardner et al. | Jun 2009 | B1 |
7567570 | Grass | Jul 2009 | B2 |
7590097 | Ekberg et al. | Sep 2009 | B2 |
7627767 | Sherman et al. | Dec 2009 | B2 |
7668565 | Ylanen et al. | Feb 2010 | B2 |
7693952 | Limprecht | Apr 2010 | B2 |
7697893 | Kossi et al. | Apr 2010 | B2 |
7787367 | Gusat et al. | Aug 2010 | B2 |
8320373 | Iraninejad | Nov 2012 | B2 |
8576861 | Cardona et al. | Nov 2013 | B2 |
9119180 | Palin | Aug 2015 | B2 |
20010051981 | Davison et al. | Dec 2001 | A1 |
20020080719 | Parkvall et al. | Jun 2002 | A1 |
20020150045 | Vogtmeier et al. | Oct 2002 | A1 |
20030100308 | Rusch | May 2003 | A1 |
20030231598 | Venkataraman et al. | Dec 2003 | A1 |
20030236890 | Hurwitz et al. | Dec 2003 | A1 |
20040019640 | Bartram et al. | Jan 2004 | A1 |
20050003822 | Aholainen et al. | Jan 2005 | A1 |
20050013259 | Papoushado et al. | Jan 2005 | A1 |
20050066033 | Cheston et al. | Mar 2005 | A1 |
20050071879 | Haldavnekar et al. | Mar 2005 | A1 |
20050097087 | Punaganti et al. | May 2005 | A1 |
20050114448 | Skomra et al. | May 2005 | A1 |
20050138173 | Ha et al. | Jun 2005 | A1 |
20050193056 | Schaefer et al. | Sep 2005 | A1 |
20050193106 | Desai et al. | Sep 2005 | A1 |
20050254472 | Roh et al. | Nov 2005 | A1 |
20060140146 | Funk et al. | Jun 2006 | A1 |
20060221933 | Bauer | Oct 2006 | A1 |
20060259606 | Rogers et al. | Nov 2006 | A1 |
20070058630 | Fujimoto | Mar 2007 | A1 |
20070112915 | Klassen et al. | May 2007 | A1 |
20070141984 | Kuehnel | Jun 2007 | A1 |
20070180073 | Paul et al. | Aug 2007 | A1 |
20070204275 | Alshab et al. | Aug 2007 | A1 |
20070280111 | Lund | Dec 2007 | A1 |
20070280277 | Lund | Dec 2007 | A1 |
20110002344 | Palin | Jan 2011 | A1 |
Number | Date | Country |
---|---|---|
1633097 | Jun 2005 | CN |
1758604 | Apr 2006 | CN |
1949697 | Apr 2007 | CN |
1949698 | Apr 2007 | CN |
1542409 | Jun 2005 | EP |
1758312 | Feb 2007 | EP |
1858210 | Nov 2007 | EP |
2004008793 | Jan 2004 | WO |
2007095966 | Aug 2007 | WO |
Entry |
---|
International Search Report and Written Opinion of the International Searching Authority for Patent Cooperation Treaty Application No. PCT/IB2008/050708 dated Mar. 3, 2009, 17 pages. |
Lee et al., “Protocols for Service Discovery in Dynamic and Mobile Networks”, International Journal of Computer Research, vol. 11, No. 1, 2002, pp. 1-12. |
The Salutation Corsortium, “Salutation Architecture Specification (Part 1), Version 2.1” Salutation Architecture Specification, XX, XX, Dec. 31, 1999, i-v, 1. |
Suoranta et al., “New Directions in Mobile Device Architectures”, Digital System Design: Architectures, Methods and Tools, 2006. DSD 200 6. 9th Euromicro Conference on, IEEE, PI, Jan. 1, 2006, pp. 17-26. |
Lapetelainen et al., “Networked Systems, Services and Information”, NOTA2008, 1st International network on Terminal Architecture Conference, Jun. 11, 2008, pp. 1-7. |
Kronlof et al., “Advances in Design and Specification Languages for Embedded Systems”, Jul. 19, 2007, Springer, Netherlands. |
Desoli et al., “An Outlook on the Evolution of Mobile Terminals: From monolithic to modular multiradio, multiapplication platforms”, IEEE Circuits and Systems Magazine, IEEE Service Center, New York, vol. 6, No. 2, Jan. 1, 2006, pp. 17-29. |
Dobrev et al., “Device and Service Discovery in Home Networks with OSGi”, In-Home Networking, IEEE Communications Magazine, Aug. 2002, 7 pages. |
Miaoqing, “Service Discovery between Multiple Home Networks”, TKK T-110.5190 Seminar on Internetworking, Mar. 4-5, 2007. |
International Search Report and Written Opinion of the International Searching Authority for corresponding Patent Cooperation Treaty Application No. PCT/IB2007/054550 dated Oct. 15, 2008, 12 pages. |
Se Gi Hong, et al: “Accelerating Service Discovery in Ad-Hoc Zero Configuration Networking” Global Telecommunications Conference, 2007. Globecom '07. IEEE, IEEE, Piscataway, NJ, USA, Nov. 1, 2007 (Nov. 1, 2007), pp. 962-965, XP031196113 ISBN: 978-1-4244-1042-2, section II. |
Celeste Campo, et al: “DNS-Based Service Discovery in Ad Hoc Networks: Evaluation and Improvements” Personal Wireless Commnications Lecture Notes in Computer Science; LNCS, Springer Berlin, DE, vol. 4217, Jan. 1, 2006 (Jan. 1, 2006), pp. 111-122, XP019044018 ISBN: 978-3-540-45174-7, section 2. |
Stuart Cheshire; Marc Krochmal, Apple Computer, et al: “DNA-Based Service Discovery; draft-cheshire-dnsext-dnssd-04.text” IETF Standard-Working-Draft, Internet Engineering Task Force, IETF, CH, No. 4, Aug. 10, 2006 (Aug. 10, 2006), XP015046478 ISSN: 0000-0004, section 14. |
International Search Report and Written Opinion for PCT/IB2008/053759 dated Mar. 27, 2009, 15 pages. |
Quiroz, et al., “Version vectors based synchronization engine for mobile devices”, Proceeding PDCN'07 Proceedings of the 25th conference on Proceedings of the 25th IASTED International Multi-Conference: parallel and distributed computing and networks 2007. |
Final Technology Evaluation Report SIRENA Service Infrastructure for Real-time Embedded Networked Applications ITEA 02014 Project Reference WP2/110 Version V1.0 Author(s) / Organisation SIRENA Consortium Date May 14, 2004. |
Lent, R.; “Smart packet-based selection of reliable paths in ad hoc networks” Design of Reliable Communication Networks, 2005. (DRCN 2005). Proceedings.5th International Workshop on Oct. 16-19, 2005 pp. 5 pp. |
International Search Report and Written Opinion for PCT/FI2008/050242, dated Aug. 18, 2008, 12 pages. |
Raverdy et al., “Efficient Context-aware Service Discovery in Multi-Progtocol Pervasive Environments”, Mobile Data Management, 7th International Conference, Conference Proceedings Article, IEEE, May 10, 2006. |
Raverdy et al., “A Multi-Protocol Approach to Service Discovery and Acces in Pervasive Environments”, Mobile and Ubiquitous Systems: Networking & Services, 2006 Third Annual International Conference on Jul. 2006, IEEE 2006, pp. 1-9. |
Kim et al., “Service Discovery Using FIPA-Compliant AP to Support Scalability in Ubiquitous Environments”, Proceedings of the Fourth Annual ACIS International Conference on Computer and Information Science on 2005, pp. 647-652. |
Scholten et al., “Secure Service Discovery in Home Networks”, International Conference on Consumer Electronics, 2006, ICCE '06, 2006 Digest of Technical Papers, Jan. 7-11, 2006, pp. 115-116. |
International Search Report and Written Opinion for PCT/IB2008/052437, dated May 1, 2009, 14 pages. |
Office Action from European Patent Application No. 08776431.2, dated Aug. 2, 2010, 6 pages. |
Rekimoto et al., “A Multiple Device Approach for Supporting Whiteboard-Based Interactions”, Chi '98. Human Factors in Computing Systems, Conference Proceedings, Los Angeles, CA, Apr. 18-23, 1998. |
Frank et al, “A Customizable Shared Information Space to Support Concurrent Design”, Computers in INdustry, Elsevier Science Publishers, Amsterdam, NL, vol. 48, No. 1, May 1, 2002, pp. 45-57. |
Tandler, “Software Infrastructure for Ubiquitous Computing Environments: Supporting Synchronous Collaboration with Heterogeneous Devices”, Lecture Notes in Computer Science, LNCS, vol. 2201/2001, Jan. 1, 2001, pp. 95-115. |
International Search Report and Written Opinion for corresponding Patent Cooperation Treaty Application No. PCT/IB2008/050711, dated Feb. 2, 2009, 14 pages. |
Sttenkiste, “A Systematic Approach to Host Interface Design for High Speed Networks”, Computer, IEEE Service Center, Los Alamitos, CA, US, vol. 27, No. 3, Mar. 1994, pp. 47-57. |
Kliazovich et al., “A Delayed-ACK Scheme for MAC-Level Performance Enhancement of Wireless LANs”, Telecommunications and Networking—ICT 2004; [Lecture Notes in Computer Science; ; LNCS], Springer-Verlag, Berlin/Heidelberg, vol. 3124, Jul. 2004, pp. 1289-1295. |
International Search Report and Written Opinion of the International Searching Authority for PCT/IB2008/050709, dated Feb. 25, 2009, 18 pages. |
Eriksson et al., “Providing Quality of Service in Always Best Connected Networks”, IEEE Communicaitons Magazine, IEEE Service Center, Piscataway, US, vol. 41, No. 7, Jul. 2003, pp. 154-163. |
Suoranta et al., “New Directions in Mobile Device Architectures”, Digital System Design: Architectures, Methods and Tools, 2006. DSD 200 6, 9th Euromicro Conference on IEEE PI, Jan. 2006, pp. 17-26. |
Steenkiste, P. A., “A Systematic Approach to Host Interface Design for High-Speed Networks”, Computer, IEEE Service Center, Mar. 1994, pp. 47-57 and pp. 12-13. |
EP Communication dated Aug. 22, 2016 for European Patent Application No. 08719493.2, 6 pages. |
Number | Date | Country | |
---|---|---|---|
20110002344 A1 | Jan 2011 | US |