JP2012503449A - System and method for dynamic and automatic communication path selection, distributed device synchronization, and task delegation - Google Patents

System and method for dynamic and automatic communication path selection, distributed device synchronization, and task delegation Download PDF

Info

Publication number
JP2012503449A
JP2012503449A JP2011528038A JP2011528038A JP2012503449A JP 2012503449 A JP2012503449 A JP 2012503449A JP 2011528038 A JP2011528038 A JP 2011528038A JP 2011528038 A JP2011528038 A JP 2011528038A JP 2012503449 A JP2012503449 A JP 2012503449A
Authority
JP
Japan
Prior art keywords
communication
communication path
node
devices
task
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.)
Pending
Application number
JP2011528038A
Other languages
Japanese (ja)
Inventor
ジー. ボナー,ジェフリー
タフェル,ブライアン
ペカレク,アドリアン
チバー,スビル
ジー トマジン,ケネス
ジンター,カール
バートマン,マイケル
Original Assignee
ジャンプスタート ワイヤレス コーポレイション
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ジャンプスタート ワイヤレス コーポレイション filed Critical ジャンプスタート ワイヤレス コーポレイション
Publication of JP2012503449A publication Critical patent/JP2012503449A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/022Site diversity; Macro-diversity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/022Site diversity; Macro-diversity
    • H04B7/026Co-operative diversity, e.g. using fixed or mobile stations as relays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/02Arrangements for detecting or preventing errors in the information received by diversity reception
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/18Selecting a network or a communication service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals

Abstract

信号強度が弱い又は断続的である条件下において、有線及び無線の電気通信を提供するシステム、ソフトウェア、及び装置と、このような条件下における、特に断続的な又は低信頼性の通信リンクを含む各種の通信リンク間におけるデータ及びワークフローの調整及び同期化と、このような環境における、ワイヤレスモバイルアプリケーションの管理。本明細書における本発明の技術は、コンピュータ科学、電気通信、及びデータ管理の分野に関する。  Includes systems, software, and devices that provide wired and wireless telecommunications under conditions where signal strength is weak or intermittent, and particularly intermittent or unreliable communication links under such conditions Coordinate and synchronize data and workflow between various communication links and manage wireless mobile applications in such an environment. The technology of the present invention herein relates to the fields of computer science, telecommunications, and data management.

Description

[関連出願の相互参照]
本出願は、2005年6月29日に出願された同時係属米国特許出願第11/169,149号の一部継続出願であり、2008年9月22日に出願された仮出願第61/098,886号の利益を主張する。これらの各先願は、あらゆる目的のために参照によって全体を本明細書に組み込まれる。
[Cross-reference of related applications]
This application is a continuation-in-part of co-pending US patent application Ser. No. 11 / 169,149 filed Jun. 29, 2005, and provisional application No. 61/098 filed Sep. 22, 2008. 886 claims the benefit of 886. Each of these prior applications is incorporated herein by reference in its entirety for all purposes.

[技術分野]
本明細書における技術は、なかでも特に、信号強度が乏しい又は断続的である条件下において、有線及び無線の電気通信を提供するシステム、ソフトウェア、及び装置に関する。本明細書における典型的で例示的で非限定的な技術は、なかでも特に、このような条件下における、特に断続的な又は低信頼性の通信リンクを含む各種の通信リンク間におけるデータ及びワークフローの調整及び同期化と、このような環境における、ワイヤレスモバイルアプリケーションの管理とを提供する。本明細書における技術は、更に、より広くは、コンピュータ科学、電気通信、及びデータ管理の分野に関する。
[Technical field]
The techniques herein relate particularly to systems, software, and devices that provide wired and wireless telecommunications under conditions of poor or intermittent signal strength. Exemplary, exemplary, and non-limiting techniques herein include, among other things, data and workflows between various communication links, particularly intermittent or unreliable communication links under such conditions. Coordination and synchronization and management of wireless mobile applications in such an environment. The technology herein further relates more generally to the fields of computer science, telecommunications, and data management.

[背景および概要]
一般的なワイヤレス通信
ワイヤレス通信(「ワイヤレス」)では、2つ又は3つ以上の電子デバイスがそれらの間に物理的接続(すなわち、ワイヤ又はケーブル)を必要とすることなく情報を交換できる。ワイヤレスは、固定されていてもよいし、モバイル/ポータブルであってもよい。概して、固定ワイヤレスは、1つの固定位置から別の固定位置への又は固定位置とモバイル/ポータブルデバイスとの間のワイヤレス通信を可能にする。モバイル/ポータブルワイヤレスは、固定(例:中央)サイトと可動デバイスとの間、及び/又は2つ若しくは3つ以上のモバイル/ポータブルデバイスの間の通信を可能にする。固定ワイヤレス環境における2つのサイト間の接続性のレベル(例:信号強度及びその他の関連パラメータ)は、いずれのサイトもいかなる時も移動しないゆえに、通例、(天候及びその他の条件が一定であると仮定すれば)かなり一定である。しかしながら、モバイルワイヤレスにおける接続性のレベルは、例えば、ワイヤレスデバイスの位置、モバイルワイヤレス通信のトランスミッタ、レシーバ、及び/又はトランシーバの相対的位置、並びに木、建物、山、又はマルチパス若しくはその他の干渉を生じ得る若しくはそれ以外のやり方でワイヤレス信号の伝搬を変化させ得るその他の物体若しくは現象に依存して、大幅に変化する可能性がある。
[Background and Overview]
General wireless communication Wireless communication (“wireless”) allows two or more electronic devices to exchange information without requiring a physical connection (ie, wire or cable) between them. Wireless may be fixed or mobile / portable. In general, fixed wireless allows wireless communication from one fixed position to another or between a fixed position and a mobile / portable device. Mobile / portable wireless allows communication between a fixed (eg central) site and a mobile device and / or between two or more mobile / portable devices. Because the level of connectivity between two sites in a fixed wireless environment (eg, signal strength and other relevant parameters) does not move at any time, typically (weather and other conditions are constant) (Assuming that) it is fairly constant. However, the level of connectivity in mobile wireless includes, for example, the location of wireless devices, the relative location of transmitters, receivers, and / or transceivers for mobile wireless communications, and trees, buildings, mountains, or multipath or other interference. Depending on other objects or phenomena that may occur or otherwise change the propagation of the wireless signal, it can vary significantly.

モバイルワイヤレスデバイス(本明細書ではワイヤレスデバイス又はモバイルデバイスとも称される)のほんの幾つかの例として、ポケットベル、モバイルフォン、及びモバイルフォン、ポケットベル、携帯情報端末(PDA)の機能性を含む組み合わせデバイスが挙げられる。これらのデバイスは、文字情報の交換(例:ポケットベル、携帯電話、又はPDAを使用)はもちろん、音声及びデータの交換(例:携帯電話及びPDAを使用)も可能にすることができる。現在のワイヤレスデバイスの多くは、例えばテレフォニデータ(例:GPRS、EDGEなど)、ワイヤレスローカルエリアネットワーク(LAN)(例:Wi−Fi)、及び短距離デバイス相互接続(例:Bluetooth)のような、複数の通信インターフェースに対するサポートを組み入れている。複数の通信インターフェースは、伝送要件と通信経路の特性及び特徴とがベストマッチする(1本又は複数本の)通信経路の選択によって、通信経路使用の最適化を可能することができるが、このような最適化は、必ずしも一般的ではない、又はデバイスのメーカによって提供される事前定義されたプリファレンスを使用してなされる。1つの通信インターフェースのみをサポートするデバイスは、通常、このような最適化に対応することができない。ワイヤレスデバイスは、また、最近では、グローバルポジショニングシステム(GPS)アクセス、カメラ、スキャナ(無線自動識別(RFID)及びバーコードを処理可能なスキャナを含む)、並びに磁気/光データストレージカードなどの有用な特徴と統合されている。これらのタイプのデバイスは、人々が旅行中又は作業中も複数のリモート位置から互いに連絡を取り合うことを可能にし、複数のタイプのデータの収集を容易にした。更に、人々の間で交換される情報は、今述べられた特徴の統合及び集約の伸展ゆえに、近年著しく豊富になっている。   Just a few examples of mobile wireless devices (also referred to herein as wireless devices or mobile devices) include pagers, mobile phones, and mobile phone, pager, personal digital assistant (PDA) functionality Combination devices are mentioned. These devices can allow for the exchange of voice and data (eg, using cell phones and PDAs) as well as the exchange of textual information (eg, using pagers, cell phones, or PDAs). Many current wireless devices include, for example, telephony data (eg, GPRS, EDGE, etc.), wireless local area networks (LAN) (eg, Wi-Fi), and short-range device interconnects (eg, Bluetooth), Incorporates support for multiple communication interfaces. Multiple communication interfaces can optimize the use of communication paths by selecting the communication path (s) that best matches the transmission requirements and the characteristics and characteristics of the communication paths. Such optimization is not necessarily common or is done using predefined preferences provided by the device manufacturer. Devices that support only one communication interface usually cannot accommodate such optimization. Wireless devices are also recently useful, such as global positioning system (GPS) access, cameras, scanners (including scanners that can handle wireless automatic identification (RFID) and barcodes), and magnetic / optical data storage cards Integrated with features. These types of devices allowed people to stay in touch with each other from multiple remote locations while traveling or working and facilitated the collection of multiple types of data. Furthermore, the information exchanged between people has become significantly rich in recent years due to the integration of features and the consolidation of the features just described.

モバイルワイヤレスデバイスは、通常、電波などを非限定例として挙げられる電磁波を使用して通信する。トランスミッタは、ワイヤレス通信のアクセスポイント(point-of-presence)からワイヤレスデバイスに信号を送信し、レシーバは、アクセスポイントで受信されたデバイスからの信号を処理する。トランシーバは、送信及び受信の両方を行う。この状況下では、アクセスポイントは、モバイルワイヤレスデバイスと通信することができる1つ又は複数のトランスミッタ、レシーバ、及び/又はトランシーバを含む。例えば、携帯電話ネットワークの通信塔や、コーヒーショップにあるワイヤレスLAN接続が、アクセスポイントの非限定例として挙げられる。アクセスポイントのネットワークと連絡している中央サイトは、デバイスと適切なアクセスポイントとの間の通信を制御することができる。アクセスポイントは、場合によっては、デバイスの移動に伴い連続した通信を可能にするために、互いのサービスエリアが一部重なるように相隔てられる。アクセスポイントとモバイルワイヤレスデバイスとの間で接続がなされている限り、デバイスの能力に相応して情報の送受信を行うことができる。しかしながら、多くの環境では、アクセスポイントの圏内に入らないエリアが存在するゆえに、そして土地の起伏、建物の建築材、又はその他の要因が信号に干渉し得るゆえに、アクセスポイントとの間にこのような一定の連絡を維持することが不可能である。その結果、ポケットベルが数分間若しくは数時間にわたって圏外になったり、モバイルフォンの通話が会話の途中で途切れたり、データサービスが通信のシーケンス及びトランザクションを部分的に完了させることしかできず、その結果、データが損失されたりする可能性がある。現在は、ワイヤレスデバイスを互いに接続する又はワイヤレスデバイスを非モバイルデバイス若しくはインターネットに接続するために、各種の特性を持つ様々なサービスが用いられている。   Mobile wireless devices typically communicate using electromagnetic waves such as radio waves as non-limiting examples. The transmitter transmits a signal from a wireless communication point-of-presence to the wireless device, and the receiver processes the signal from the device received at the access point. The transceiver performs both transmission and reception. Under this circumstance, the access point includes one or more transmitters, receivers, and / or transceivers that can communicate with the mobile wireless device. For example, a communication tower of a mobile phone network and a wireless LAN connection in a coffee shop are non-limiting examples of access points. A central site in communication with the network of access points can control communication between the device and the appropriate access point. In some cases, the access points are spaced apart so that their service areas partially overlap to allow continuous communication as the device moves. As long as a connection is established between the access point and the mobile wireless device, information can be transmitted and received according to the capability of the device. However, in many environments, this is between the access point because there are areas that are not within range of the access point, and because land undulations, building materials, or other factors can interfere with the signal. It is impossible to maintain constant communication. As a result, pagers can go out of service for minutes or hours, mobile phone calls can be interrupted in the middle of a conversation, and data services can only partially complete communication sequences and transactions. Data may be lost. Currently, various services with various characteristics are used to connect wireless devices to each other or to connect wireless devices to non-mobile devices or the Internet.

セルラ方式の通信
携帯電話会社は、多くの場合、その加入者に、音声通話サービスはもちろんデータサービスも提供している。このようなデータサービスの例として、CSD(Circuit Switched
Data)、GPRS(General Packet Radio Service)、及びEDGE(Enhanced Data rates for GSM Evolution)又はEGPRS(Enhanced GPRS)などの拡張ヴァージョンはもちろん、UMTS(Universal Mobile Telecommunications System)などの「次世代」システムが挙げられる。このようなシステムは、サポートされているデバイスと、インターネット又は携帯電話会社によって提供されるSMS(Short Message Service)などのシステムとの間のデータ接続性を提供するために、無線リンクを通じて動作する。これらの各サービスの実装形態の詳細は多様であるが、大半のユーザにとっては透過的である。最も明らかな相違は、各自が提供する帯域幅又はデータ速度である。使用されているシステムに応じ、データ速度は、目下のところCSDの9.6キロビット/秒とUMTSの16メガビット/秒との間である。例えば、いわゆる3Gモバイル通信規格は、通話サービス及びデータサービスの同時使用と、ダウンリンクで最大14.0メガビット/秒及びアップリンクで最大5.8メガビット/秒のデータ速度とを可能にする。より高速な技術が、開発中である。場合によっては、これらのサービスは、携帯電話以外のPDAなどのデバイスによって直接的に使用される、又はアダプタカードの使用若しくはデータ通信デバイスとしてつなげた携帯電話若しくはその他のデバイスの使用を通してノートパソコンなどのデバイスによって間接的に使用される。
Cellular telecommunications mobile phone companies often provide data services as well as voice call services to their subscribers. As an example of such a data service, CSD (Circuit Switched
Data, GPRS (General Packet Radio Service), EDGE (Enhanced Data rates for GSM Evolution) or EGPRS (Enhanced GPRS), as well as “next generation” systems such as UMTS (Universal Mobile Telecommunications System) It is done. Such a system operates over a wireless link to provide data connectivity between supported devices and systems such as the SMS (Short Message Service) provided by the Internet or cellular operators. The details of the implementation of each of these services vary, but are transparent to most users. The most obvious difference is the bandwidth or data rate that each provides. Depending on the system used, the data rate is currently between 9.6 kilobits / second for CSD and 16 megabits / second for UMTS. For example, the so-called 3G mobile communication standard allows simultaneous use of call and data services and data rates up to 14.0 Mbit / s on the downlink and 5.8 Mbit / s on the uplink. Faster technologies are under development. In some cases, these services are used directly by devices such as PDAs other than mobile phones, or through the use of mobile phones or other devices connected to adapter cards or as data communication devices, such as laptops Used indirectly by the device.

セルラ方式のデータサービスは、通例TCP/IPを含む各種のデータプロトコルを、携帯電話会社のデータネットワークを通じて、そして多くはゲートウェイを通してインターネット上のシステムへとサポートしている。このような接続は、有線技術と比べて低速であると考えられ、また、プロバイダによって月額固定料金だったり伝送データバイト数に基づいて課金されたりするゆえに、高価であるとも考えられる。これらのサービスのサービスエリアは、同じ携帯電話会社を通した音声通話のサービスエリアよりも限られることがあるが、通常は、大半の都市及び都市間の主要ルート沿いにおいて利用可能である。TCP/IPに使用される(1つ又は複数の)アドレス指定体系及びモバイルデバイスでよく使用される(1つ又は複数の)実装方法では、デバイスは、多くの場合、ネットワークに接続するたびに、及び場合によっては接続中でも、異なるネットワークアドレスを割り当てられ(「動的IP」)、デバイスのアドレスはわからないうえに頻繁に変わり得るので、TCP/IPを使用して他のデバイスからモバイルデバイスに接続することは、ときによっては困難である。場合によっては、特定の固定ネットワークアドレス(「静的IP」)をデバイスに割り当てるなど、このような接続を可能にする特殊な措置をサービスプロバイダに講じることができるが、このようなやり方は、一般的でないことが多く、費用の増大を伴うのが通常である。TCP/IP接続は、したがって、モバイルデバイスから発せられるのが通常である。なぜならば、モバイルデバイスのみが、自身の現在のTCP/IPアドレスを承知して、それを、TCP/IPプロトコルによる必要に応じてTCP/IPデータパケットヘッダに含ませることができるからである。また、ホットスポットプロバイダのなかには、そのホットスポット内の全てのデバイスが1つのIPアドレスを共有可能であるように、NAT(Network Address Translation)と呼ばれる技術を使用するものがある。通例の実装方式では、NATは、ホットスポット内のデバイスから最初に接続を確立しない限り、ホットスポットを使用しているデバイスへのホットスポットの外のデバイスからの接続を阻み、たとえ許可された場合でも、ホットスポット内のデバイスへの接続は、FTP(File Transfer Protocol)などの特定のプロトコルに限定され得る。接続は、ひとたび形成されれば、双方向であるのが通常であり、モバイルデバイスに対し、サーバデバイスに対し、又は別のモバイルデバイスに対してデータの送受信が行われる。これらのプロトコル及びインフラの制限は、モバイルデバイスへのTCP/IPプッシュモード接続を阻み、モバイルデバイスにサーバ又は別のモバイルデバイスからデータを送信したいときにシステム全体の応答性を低下させる可能性がある。   Cellular data services typically support various data protocols, including TCP / IP, through cellular data networks, and often through gateways, to systems on the Internet. Such a connection is considered to be slower than the wired technology, and is also considered expensive because it is charged by the provider based on the fixed monthly fee or based on the number of transmitted data bytes. The service area of these services may be more limited than the service area of voice calls through the same mobile carrier, but is usually available along most cities and major routes between cities. In the addressing scheme (s) used for TCP / IP and the implementation method (s) often used in mobile devices, the device is often And sometimes even while connected, it is assigned a different network address ("Dynamic IP"), and the device's address is unknown and can change frequently, so it uses TCP / IP to connect to the mobile device from other devices That is sometimes difficult. In some cases, service providers can take special measures to enable such connections, such as assigning a specific fixed network address ("static IP") to the device, but this approach is generally It is often unintentional and usually involves increased costs. TCP / IP connections are therefore usually originated from mobile devices. This is because only the mobile device can recognize its current TCP / IP address and include it in the TCP / IP data packet header as required by the TCP / IP protocol. Some hot spot providers use a technique called NAT (Network Address Translation) so that all devices in the hot spot can share one IP address. In a typical implementation, the NAT will block connections from devices outside the hotspot to the device using the hotspot unless it first establishes a connection from a device within the hotspot, even if allowed However, the connection to devices in the hotspot can be limited to a specific protocol such as FTP (File Transfer Protocol). A connection is typically bi-directional once formed, and data is sent to and received from a mobile device, a server device, or another mobile device. These protocol and infrastructure limitations can prevent TCP / IP push mode connections to mobile devices and can reduce overall system responsiveness when it is desired to send data to the mobile device from a server or another mobile device. .

モバイルデバイス及びモバイルデバイスに接続するサービスには、TCP/IPに加えて、又はTCP/IPの代わりに、SMS(Short Message Service)又はMMS(Multimedia Messaging Service)などの他のデータプロトコルをサポートするものがある。これらのプロトコルは、プッシュモードを使用してモバイルデバイスに送信する能力などのTCP/IPに優る利点と、伝送が遅れる、メッセージサイズが限られる、コンテンツに制限がある、及びコストが高い(例:メッセージごとに数セント(約数円))などの欠点とを有すると考えられる。データの配信は、配信が試行されるが保証はされないSMS及びその「最善努力(best attempt)」配信などのように、多くの場合、信頼できない。   Mobile devices and services that connect to mobile devices that support other data protocols such as SMS (Short Message Service) or MMS (Multimedia Messaging Service) in addition to or instead of TCP / IP There is. These protocols have advantages over TCP / IP, such as the ability to send to mobile devices using push mode, with delayed transmission, limited message size, limited content, and high cost (eg: It is considered that each message has a disadvantage of several cents (about several yen). Delivery of data is often unreliable, such as SMS and its “best attempt” delivery where delivery is attempted but not guaranteed.

ピア・ツー・ピア通信
1つの非サーバデバイスが別の非サーバデバイスにデータを送信するときに、その交換は、「ピア・ツー・ピア」(P2P)と称される。これは、TCP/IP、Bluetooth、SMS、Ethernet(登録商標)などの、各種のプロトコル及び通信メカニズムを使用して達成される。しかしながら、メカニズム又はプロトコルのなかには、ほかよりもこの使用に問題のあるものがある。例えば、多くのモバイルTCP/IPサポートデバイスによって使用される動的なアドレス割り当ては、インターネットに接続するたびに異なるTCP/IPアドレスを有する結果となり、他のデバイスは、このアドレスを知る方法がなく、ゆえに、このデバイスとの接続を開始させることができず、したがって、どちらのデバイスも接続することができるシステムが一方又は両方のデバイスにアドレス情報を供給するための調整役として機能することができる場合を除いて、TCP/IPを使用したP2P接続は阻まれる。このような調整を実現するためのよくある1つの方法は、Dynamic DNS(Dynamic Domain Name System)の使用であり、この方法では、デバイスは、自身のアドレスをDNSサーバに登録し、そのアドレスを他のデバイスが学んで自身との通信を開始させることを可能にするが、情報のキャッシングゆえに、そしてときには、1つのホットスポットから別のホットスポットへと短時間に移動することがあるモバイルデバイスによくあるアドレスの急な変化ゆえに、この解決策は、信頼できないことが多く、全く役に立たないことさえある。一部のプロトコルに内在するアドレス指定の問題に加えて、P2Pには、デバイスの発見及び認証の問題もある。デバイスは、状況によっては、他のデバイスの存在に関する情報はもちろん、それらの他のデバイスとの通信を確立するために必要な方法又は情報を取得するように求められることがある。この情報を提供又は取得する手段が有用であると考えられる。
Peer-to-Peer Communication When one non-server device sends data to another non-server device, the exchange is referred to as “Peer-to-Peer” (P2P). This is accomplished using various protocols and communication mechanisms such as TCP / IP, Bluetooth, SMS, Ethernet. However, some mechanisms or protocols are more problematic for this use than others. For example, the dynamic address assignment used by many mobile TCP / IP support devices results in having a different TCP / IP address each time you connect to the Internet, and other devices have no way of knowing this address, Therefore, if a connection to this device cannot be initiated and therefore a system that can connect to both devices can serve as a coordinator to supply address information to one or both devices Except for P2P connection using TCP / IP is blocked. One common way to achieve such coordination is to use Dynamic DNS (Dynamic Domain Name System), where the device registers its address with a DNS server and the address is stored elsewhere. Devices can learn and initiate communication with themselves, but because of information caching, and sometimes on mobile devices that can move from one hot spot to another hot spot in a short time Due to the sudden change of an address, this solution is often unreliable and even completely useless. In addition to the addressing issues inherent in some protocols, P2P also has device discovery and authentication issues. In some situations, a device may be asked to obtain the method or information necessary to establish communication with those other devices as well as information regarding the presence of other devices. Means for providing or obtaining this information are considered useful.

デバイスには、Bluetooth又はその他の短距離デバイス接続を使用した接続をサポートできるものがある。Bluetoothは、GPRSなどの技術から遮断されているエリア(すなわち、工場若しくは大きな建物などの構造物の内部、又は地中深くにある地下)や、Wi−Fiが実用的でない又は望ましくないエリアに、接続性を拡張するのに有用でありうる。例えば、Wi−Fiの範囲の広さがセキュリティ懸念を生じ得る場合に車両リンクを通してポータブルデバイスを接続する場合や、デバイスがデータの交換を必要としておりBluetoothのピア・ツー・ピア能力ではこれが可能だが、モバイルデバイスに対するWi−FiのTCP/IPアドレス指定の制限がこれを阻む場合などである。Bluetoothは、また、リモートデバイスに接続するための、ダイヤルアップモデム、Ethernetインターフェース、Token Ring Adapterなどの方法をサポートしているデバイスへのリンクとしても、よく使用される。このようなリンクは、考えられる複数の通信経路の第1の又はその他のリンクとして機能することによって、Bluetooth対応デバイスのための通信の選択肢を広げることができる。   Some devices can support connections using Bluetooth or other short-range device connections. Bluetooth can be used in areas that are blocked from technologies such as GPRS (ie, inside structures such as factories or large buildings, or underground deep underground), or in areas where Wi-Fi is not practical or desirable. Can be useful for extending connectivity. For example, if the wide range of Wi-Fi can raise security concerns, connecting portable devices through vehicle links, or devices need to exchange data, and Bluetooth peer-to-peer capabilities can do this. This is the case when restrictions on Wi-Fi TCP / IP addressing for mobile devices prevent this. Bluetooth is also often used as a link to devices that support methods such as dial-up modems, Ethernet interfaces, Token Ring Adapter, etc. for connecting to remote devices. Such links can expand communication options for Bluetooth enabled devices by functioning as the first or other link of possible communication paths.

Bluetooth対応デバイスは、ピコネットとして知られる短距離アドホックネットワークを通して無線リンク上でワイヤレスで接続及び通信することができる。標準的な一実装形態では、各デバイスは、1つのピコネット内で最大7つの他のデバイスと通信することができ、ここでは、1つのデバイスが「マスタ」として機能し、その他のデバイスが「スレーブ」として機能する。各デバイスは、また、同時に幾つかのピコネットに属することもできる。ピコネットは、Bluetooth対応デバイスが電波近接エリアに出入りするときに、動的に且つ自動的に確立される。電波近接エリアは、関係しているデバイスのクラスに応じて、1、2フィートから数百フィートまでの幅がある。ピコネットは、また、それらの間の橋渡しとして機能するシステムによってつなぐこともできる。このような構成は、「スキャッタネット」として知られる。   Bluetooth enabled devices can connect and communicate wirelessly over a wireless link through a short-range ad hoc network known as a piconet. In one standard implementation, each device can communicate with up to seven other devices in one piconet, where one device acts as the “master” and the other devices are “slave” ". Each device can also belong to several piconets at the same time. A piconet is dynamically and automatically established when a Bluetooth enabled device enters and exits the radio wave proximity area. The radio proximity area can range from 1 to 2 feet to several hundred feet depending on the class of device involved. A piconet can also be connected by a system that acts as a bridge between them. Such a configuration is known as a “scatter net”.

Bluetoothデバイスは、干渉に対して耐性があり尚且つデータの暗号化及び他のデバイスの暗号識別を含むことができる方法によって、一部のデバイスでのTCP/IPを含む各種のプロトコルを使用して、721キロビット/秒の速度でデータを転送する。全てのBluetoothデバイスが同じプロトコルをサポートしているわけではなく、多くは、ノード又はその他の外部供給プログラミングの使用をサポートしていないヘッドフォンやバーコードリーダなどの特殊用途のデバイスである。しかしながら、その他のBluetoothデバイスは、ネットワークインターフェースとして機能することを意図されており、Bluetooth対応PDA、コンピュータ、又は同様のその他のデバイスの、LAN又はインターネットへの接続をサポートすることができる。また、2つ又は3つ以上のPDA、ノートパソコン、又はその他のBluetooth対応デバイスが、ピア・ツー・ピア方式でデータを交換することも可能である。Bluetooth又はその他の基準の具体的にどのプロトコル及び機能が所定のデバイスによってサポートされているかは、そのデバイスのメーカによって決定され、場合によっては、少なくとも一部のデバイスでは後から変更不可能である。   Bluetooth devices are resistant to interference and use various protocols, including TCP / IP on some devices, in a way that can include data encryption and cryptographic identification of other devices. , And transfer data at a rate of 721 kbps. Not all Bluetooth devices support the same protocol, and many are special purpose devices such as headphones or barcode readers that do not support the use of nodes or other externally supplied programming. However, other Bluetooth devices are intended to function as a network interface and can support connection of a Bluetooth enabled PDA, computer, or other similar device to a LAN or the Internet. It is also possible for two or more PDAs, notebook computers, or other Bluetooth enabled devices to exchange data on a peer-to-peer basis. The specific protocols and functions of Bluetooth or other criteria that are supported by a given device are determined by the manufacturer of the device, and in some cases, at least some devices cannot be changed later.

Wi−Fi通信
ワイヤレスデバイスには、Wi−Fi(Wireless Fidelity)を使用するものなどのように、ワイヤレスLANへの接続をサポートしているものがある。Wi−Fiは、IEEE 802.11規格に基づいてワイヤレスLAN製品の相互運用性を向上させる目的でWi−Fi Allianceによって所有されているワイヤレス技術のブランド名である。Wi−Fi Allianceは、IEEE 802.11規格シリーズに基づく一連の共通の相互運用可能製品に合意する個々の企業の集団である。ノートパソコン、携帯電話、又はPDAなどのWi−Fiデバイスは、LANに接続されたワイヤレスネットワークアクセスポイント(WAP)の領域内にあるときに、そのネットワークに接続することができる。もしそのネットワークがインターネットに接続されているならば、Wi−Fiデバイスは、ネットワークのゲートウェイ又はその他の手段を通してインターネットにアクセスすることができる。相互接続された1つ又は複数のアクセスポイントによってカバーされたエリアを、「ホットスポット」と呼ぶ。ホットスポットは、小さくは一部屋ほどの領域を、又は大きくはアクセスポイントの重なり合いを使用して数平方マイルもの領域をカバーすることができる。ホットスポットは、多くの企業、家庭、及び公共施設(空港など)で利用可能であり、地域によっては、街や大学構内の全体をカバーするWi−Fiネットワークを実装しているところもある。
Some Wi-Fi communication wireless devices support connection to a wireless LAN, such as those using Wi-Fi (Wireless Fidelity). Wi-Fi is a brand name of wireless technology owned by Wi-Fi Alliance for the purpose of improving the interoperability of wireless LAN products based on the IEEE 802.11 standard. The Wi-Fi Alliance is a group of individual companies that agree on a series of common interoperable products based on the IEEE 802.11 standard series. A Wi-Fi device such as a laptop, mobile phone, or PDA can connect to the network when it is in the area of a wireless network access point (WAP) connected to the LAN. If the network is connected to the Internet, the Wi-Fi device can access the Internet through a network gateway or other means. An area covered by one or more interconnected access points is called a “hot spot”. A hot spot can cover an area as small as one room, or as large as several square miles using overlapping access points. Hotspots can be used in many companies, homes, and public facilities (airports, etc.), and some areas have implemented Wi-Fi networks that cover the entire city or university campus.

概して、Wi−Fiは、デバイスどうしの直接接続を可能にするピア・ツー・ピア(ワイヤレスアドホックネットワーク)モードでの接続も可能にするが、この能力は、セキュリティ上の理由でしばしば無効にされる。アドホックワイヤレスネットワークは、例えば、2つ又は3つ以上のデバイスがネットワーク接続を共有しているが外部サーバ又はインターネットへのアクセスを必要としないときなどに、有利である。   In general, Wi-Fi also allows connection in peer-to-peer (wireless ad hoc network) mode, which allows direct connection between devices, but this capability is often disabled for security reasons. . An ad hoc wireless network is advantageous, for example, when two or more devices share a network connection but do not require access to an external server or the Internet.

Wi−Fiは、最大で数メガビット/秒又は多メガビット/秒の帯域幅をサポートすることができ、尚且つ大半の民間のホットスポットが固定使用料を課している又は顧客を引き付ける手段として無料アクセスを提供しているため、安価又は無料であり、尚且つ遅延がごく小さく且つ信頼性に優れている。多くの又は大半のケースでは、サービスエリアが狭い領域に限られ、サービスエリアから離れると、通例ほとんど又は全く警告なく接続性が断ち切られる。また、携帯電話ネットワーク上におけるTCP/IPと同様に、Wi−Fiホットスポットで使用されるアドレス指定方法は、ホットスポットのLAN上にないデバイスからモバイルデバイスに接続することを不可能にし、接続は、通常、モバイルデバイス発信でなければならない。これは、Wi−Fiを使用してサーバへの連絡を開始するようにモバイルデバイスに送信又は要求するために使用されるSMSなどの別の連絡方法がない限り、Wi−Fiを使用してモバイルデバイスに送信するときのサーバ発信伝送モードを使用不可にする。このサーバプッシュ可能通信経路を使用して、サーバプッシュ可能でない異なる通信経路を使用したサーバへの接続を開始するようにモバイルデバイスに要求することは、「協調プッシュ」と称されることがある。サーバは、協調プッシュ交換を開始させるために、任意のサーバプッシュ可能通信経路を用いることができる。   Wi-Fi can support bandwidths up to several megabits / second or multi-megabits / second, and most private hotspots charge a fixed fee or are free as a means to attract customers Since access is provided, it is inexpensive or free, has a very small delay, and is highly reliable. In many or most cases, the service area is limited to a small area, and leaving the service area typically disconnects with little or no warning. In addition, as with TCP / IP on a cellular phone network, the addressing method used in the Wi-Fi hotspot makes it impossible to connect to a mobile device from a device that is not on the hotspot LAN. Usually, it must be mobile device outgoing. This can be done using Wi-Fi unless there is another contact method such as SMS used to send or request the mobile device to initiate contact with the server using Wi-Fi. Disable server outbound transmission mode when sending to device. Using this server pushable communication path to request a mobile device to initiate a connection to a server using a different communication path that is not server pushable may be referred to as a “cooperative push”. The server can use any server pushable communication path to initiate a cooperative push exchange.

複数通信インターフェース
デバイスには、2つ以上の通信インターフェースをサポートする能力を有するものがある。例えば、デバイスには、2つ又は3つ以上のインターフェースを同時にサポートでき
るものがある。その他のデバイスは、異なる時間に異なるインターフェースをサポートすることができる。このような実装形態は、通常、特定デバイスの設計及び構成によって決定される。複数の通信インターフェースをサポートすることができるデバイスは、通常、これらのインターフェースの使用を様々なやり方で管理する。一部の典型的な実装形態では、デバイスは、所定の時間にどの(1つ又は複数の)インターフェースを使用するかを、ユーザプリファレンスを定めた構成設定を使用して自動的に選ぶことができる。その他のデバイスでは、通信インターフェースの選択は、ユーザによって手動で、又はアプリケーションソフトによって、又はデバイス若しくはそのオペレーティングシステムの設計によってなされる。一例として、カリフォルニア州クパチーノのApple ComputerによるApple iPhoneなどの先行技術システムは、何らかの形態の通信を維持することができるように、デバイス上で実行されているアプリケーションソフトに対して透過的なやり方で通信インターフェースを自動的に切り替えることができるデバイス実装形態を提供する。その他の先行技術システムは、通信経路の切り替えを透過的には行わず、アプリケーションによって使用されている通信インターフェースが接続可能性を失うときに、アプリケーションソフトが特定のアクションをとって通信インターフェースを切り替える必要がある。これらのアクションは、モバイルデバイスの設計又は構成によって異なると考えられ、例えば、利用可能な接続性を持つ通信インターフェースをデバイスに見つけさせるために接続の再確立を試みること、まだ利用可能なもののなかから新しい通信インターフェースを選んでサーバ接続を再確立すること、又は特定のデバイス実装形態を熟知した者によく知られているその他のアクションをとることなどが挙げられる。接続可能性の損失を検出するデバイスは、通常、最も近いアクセスポイントへの接続性リンクの信号強度、ポーリング、又はその他の特性に基づいてそれを行うのであって、アクセスポイントからサービスプロバイダのインフラへの接続又はサービスプロバイダからインターネットへの接続における故障などのような、接続のその他のセグメントで生じる接続性の損失は必ずしも検出しない。信号損失以外の損失が起きても、大半のデバイスでは必ずしも代わりのインターフェースへフェイルオーバするわけではない。これは、モバイルデバイスと異種のデバイス又はサーバとの間の通信に悪影響を及ぼす可能性がある。
Some multi-communication interface devices have the ability to support more than one communication interface. For example, some devices can support two or more interfaces simultaneously. Other devices can support different interfaces at different times. Such an implementation is usually determined by the design and configuration of the particular device. Devices that can support multiple communication interfaces typically manage the use of these interfaces in various ways. In some typical implementations, the device may automatically select which interface (s) to use at a given time using configuration settings that define user preferences. it can. In other devices, the selection of the communication interface is made manually by the user or by application software or by the design of the device or its operating system. As an example, a prior art system such as Apple Phone by Apple Computer in Cupertino, California communicates in a manner that is transparent to the application software running on the device so that it can maintain some form of communication. A device implementation capable of automatically switching an interface is provided. Other prior art systems do not transparently switch communication paths and require application software to take specific actions to switch communication interfaces when the communication interface used by the application loses connectivity There is. These actions may vary depending on the design or configuration of the mobile device, for example, trying to re-establish a connection to let the device find a communication interface with available connectivity, from among those still available Choose a new communication interface to re-establish the server connection, or take other actions familiar to those familiar with the particular device implementation. Devices that detect loss of connectivity typically do so based on the signal strength, polling, or other characteristics of the connectivity link to the closest access point, from the access point to the service provider infrastructure. It does not necessarily detect loss of connectivity that occurs in other segments of the connection, such as a failure in the connection or the connection from the service provider to the Internet. If a loss other than signal loss occurs, most devices do not necessarily fail over to an alternate interface. This can adversely affect communication between the mobile device and disparate devices or servers.

複数の通信インターフェースをサポートすることができるデバイスには、検出可能な接続性の損失が生じるまでは、必ずしも通信インターフェースの切り替えを行わないものがある。このようなデバイスには、インターフェース接続の可用性が変化しても、必ずしも利用可能インターフェース間で動的に切り替えを行わないものがある。これは、より効率的なインターフェースが利用可能になった後も、あまり効率的でない通信インターフェースが使用され続ける結果を招く可能性がある。これは、コストが高い、データ伝送が遅い、ユーザへの応答性が遅い、及びその他の望ましくない結果を招く可能性がある。   Some devices that can support multiple communication interfaces do not necessarily switch communication interfaces until a detectable loss of connectivity occurs. Some such devices do not necessarily dynamically switch between available interfaces even if the availability of the interface connection changes. This can result in less efficient communication interfaces being used even after more efficient interfaces become available. This can lead to high costs, slow data transmission, slow responsiveness to users, and other undesirable results.

デバイスが1つの通信インターフェースから別の通信インターフェースに変更するときに、その変更は、一部のアプリケーションに混乱をきたす可能性がある。これは、アプリケーションが、障害迂回のために選ばれた通信インターフェースによって提供されない通信インターフェースの機能性又は特性に依存しているときに、最も明らかである。例えば、インタラクティブ応答性(実施に通信を必要とするアクションがとられてからそのアクションの結果が現れるまでの時間の長さ)及び所要の帯域幅が、このような特性の例である。ストリーミングビデオや画像データへのデータベースアクセスなどの一部のアプリケーションは、応答性及び帯域幅の両方が機能していることを必要とする。異なる通信インターフェースは、例えば、Wi−Fiは十分な帯域幅を提供できるがEDGEはできないなどのように、異なる特性を有することがある。Wi−Fiホットスポットでストリーミングビデオを受信中のデバイスが、そのホットスポットのサービスエリアから出て、Wi−Fiサービスを伴わないエリアに入ったときは、デバイスは、EDGEの使用に切り替えることができるが、ストリーミングビデオアプリケーションは、Wi−Fiのときと同じ忠実度及び特徴ではEDGEを使用して機能しない。別の例として、e−mailメッ
セージをダウンロードするなどの断続的なタスクは、大抵の場合、必ずしも多くの帯域幅を必要としない。断続的に接続されるe−mailアプリケーションは、通信インターフェースにおけるこのような変更によって混乱をきたす可能性は低く、バックグラウンドで再試行及び通信を行って、より大容量の又はより多くのe−mailメッセージをダウンロードすることができる。帯域幅は、通常、特定の通信インターフェースをその他の通信インターフェースよりも好ましくする又は通信インターフェースの選択に応じて特定のアプリケーションに制約を加える数多くの特性の1つに過ぎず、これらの例の一部として、コスト、信頼性、帯域外(out-of-band)サポート、伝送遅延、地理的分布、及びサービスの期間が挙げられる。利用可能な通信インターフェース、並びにそれらの特性及び特徴を承知し、伝送又は受信されるべきデータのタイプに適したインターフェースを選択する能力は、多くの場合、使用可能な全ての通信インターフェースを最も効率良く活用するのに有用である。
When a device changes from one communication interface to another, the change can disrupt some applications. This is most apparent when the application relies on the functionality or characteristics of the communication interface not provided by the communication interface chosen for fault bypass. For example, interactive responsiveness (the length of time from when an action requiring communication to implementation is taken until the outcome of that action appears) and the required bandwidth are examples of such characteristics. Some applications such as streaming video and database access to image data require both responsiveness and bandwidth to be functional. Different communication interfaces may have different characteristics, for example, Wi-Fi can provide sufficient bandwidth but not EDGE. When a device receiving streaming video at a Wi-Fi hotspot exits the hotspot service area and enters an area without Wi-Fi service, the device can switch to using EDGE. However, streaming video applications do not work using EDGE with the same fidelity and features as Wi-Fi. As another example, intermittent tasks such as downloading e-mail messages often do not necessarily require a lot of bandwidth. Intermittently connected e-mail applications are less likely to be confused by such changes in the communication interface, and will retry and communicate in the background to provide higher capacity or more e-mail. You can download the message. Bandwidth is usually only one of many characteristics that make a particular communication interface preferred over other communication interfaces or constrain a particular application depending on the choice of the communication interface, and some of these examples Cost, reliability, out-of-band support, transmission delay, geographic distribution, and duration of service. The ability to be aware of the available communication interfaces and their characteristics and characteristics and to select the appropriate interface for the type of data to be transmitted or received is often the most efficient of all available communication interfaces. Useful for utilization.

現在のワイヤレスアプリケーションは、多くの場合、モバイルユーザが好ましいとするよりも困難で且つ時間を食い、接続性が断続的なエリア内で実行されたときに予想外の形で障害を生じる可能性がある。デバイスが同時に又は時間とともに順番に複数通信インターフェースを活用する能力は、この問題の影響を抑えることができるが、現在のデバイスは、通常又は大抵は、複数通信インターフェースを使用しない又は効率良く活用することができない。   Current wireless applications are often more difficult and time consuming than mobile users prefer, and can cause unexpected failures when connectivity is performed in intermittent areas. is there. The ability of a device to utilize multiple communication interfaces simultaneously or sequentially over time can mitigate the effects of this problem, but current devices usually or often do not use or efficiently utilize multiple communication interfaces. I can't.

ワイヤレスアプリケーション
現在のワイヤレスプロトコルによって課される制限及び内蔵デバイスサポートの欠如ゆえに、ワイヤレスデバイスのための信頼でき効率的なデータ伝送を提供する負担はプログラマに課される。プログラマは、接続性の損失に関連した問題、伝送されるべきデータのタイプに関わる各種の通信インターフェースの効率、又は大量のデータブロックのダウンロードの待機を予測しなければならなくなる。しかしながら、このような考慮は、一部には、多くのプログラマがワイヤレスアプリケーションに未熟であるため、及び多くのプロジェクトに関連したリリース期限が厳しいために、適切になされないことが非常に多い。したがって、プログラマは次のようなワイヤレスアプリケーションを作成してしまうことがある。すなわち、接続性が断続的なエリア内で実行されたときに予想外の形で障害を生じてしまったり、利用可能な帯域幅を過剰に使用してしまったり、見込みよりも費用がかさんだり、利用可能な通信能力及び保存能力を効率的に活用できなかったり、ユーザが長時間のデータ伝送に耐えなければならないようなワイヤレスアプリケーションを作成してしまうことがある。場合によっては、このような問題は非常に深刻であり、モバイルユーザはデバイス及びアプリケーションを全く使用しなくなってしまう。デバイスが複数通信インターフェースを、同時に又は時間とともに順番に、信頼できかつ容易な方法で活用できれば、この問題の影響を抑えることができる。
Wireless Applications Due to the limitations imposed by current wireless protocols and the lack of built-in device support, the burden of providing reliable and efficient data transmission for wireless devices is imposed on the programmer. The programmer will have to anticipate problems associated with loss of connectivity, the efficiency of various communication interfaces related to the type of data to be transmitted, or waiting to download large blocks of data. However, such considerations are often not adequately addressed in part because many programmers are unskilled in wireless applications and due to the tight release deadlines associated with many projects. Thus, programmers may create the following wireless applications: That is, when connectivity is performed in intermittent areas, it can fail unexpectedly, use too much available bandwidth, or cost more than expected. In some cases, the available communication and storage capabilities cannot be utilized efficiently, or a wireless application is created in which the user must withstand long-term data transmission. In some cases, such problems are very serious and mobile users will not use the devices and applications at all. If a device can utilize multiple communication interfaces simultaneously or sequentially over time in a reliable and easy way, the impact of this problem can be reduced.

ワイヤレスアプリケーションに関係するもう1つの問題は、モバイルデバイスのストレージ内に保持されるデータを、サーバ上又は他のデバイス上に維持されるデータと同期化させることである。一部のアプリケーションは、接続性が常に又はほぼ常に維持されることを想定して作成され、そのようなアプリケーションは、単純に、必要なデータを求めてサーバ又は他のデバイスに随時アクセスする。モバイルデバイスのクラスには、サーバ又は他のデバイスに頻繁に接続できないものがあり、重要なアプリケーションがほとんどの間使用できなくなっている。その他のアプリケーションは、通信が頻繁に利用不可になることが想定して作成されるが、アプリケーションが所要のサーバ又はその他のデバイスと多くの間通信できるくらい十分な頻度で接続性が存在することが想定される。このようなアプリケーションは、再び必要になる見込みがあるデータを、接続性を利用できない短期間の間の使用に備えてデバイスのストレージに保持するために、データをその使用と同時にキャッシュに入れることができる。接続が利用できない期間が長くなったり、データの
使用パターンが同じデータを繰り返し使用しないものであったりすると、この解決策では、欠点が露呈される。このような通信停止がモバイルデバイスユーザに及ぼす影響を抑えるには、接続性のない期間に必要になる見込みがあるデータを、接続性のある期間を使用してキャッシュするための、より良い方法が有用であると考えられる。
Another problem associated with wireless applications is synchronizing data held in the storage of the mobile device with data maintained on the server or on other devices. Some applications are created assuming that connectivity is always or almost always maintained, and such applications simply access servers or other devices from time to time for the necessary data. Some classes of mobile devices cannot frequently connect to servers or other devices, and critical applications have been disabled for most of the time. Other applications are created with the assumption that communication will be unavailable frequently, but connectivity may exist often enough that the application can communicate with the required server or other device for many times. is assumed. Such applications can cache data at the same time as it is used in order to keep it in the device's storage for short-term use where connectivity is not available. it can. This solution exposes drawbacks when the connection is unavailable for a long period of time or when the data usage pattern does not repeatedly use the same data. To reduce the impact of such outages on mobile device users, there is a better way to cache data that is likely to be needed during periods of no connectivity using periods of connectivity. It is considered useful.

関連の問題は、警告なく接続性が現れたり消えたりする環境において、ローカルなキャッシュされたデータを更新の実施することである。失効した情報の使用を回避するには、モバイルデバイス上に保存されるデータを、モバイルデバイスとサーバとの間であれ、2つのモバイルデバイス間であれ、ピア・ツー・ピア又はその他の接続を使用して同期化する方法が有用だと考えられる。データ蓄積を同期化する多くの方法は、データのブロック、又はデータのブロックから計算されたチェックサムなどの値を比較して相違を検出すること、及び、次いで、異なることがわかった全てのデータを転送してこれらの相違を調和(reconcile)することを伴う。このようなプロセスに対する割り込みは、接続性が再確立されたときにプロセスをやり直しさせる結果になる可能性がある。プロセスがどのように実施されているか、及びどれくらいの量のデータが関与しているかに応じて、このような伝送の繰り返しによって、大量の帯域幅が無駄にされる可能性がある。これらの問題は、データを同期化状態に維持する必要があるデバイスの数が多く、かつデバイス間の接続性が断続的であるときに、増幅される可能性がある。この問題に対する解決策として考えられるものに、マサチューセッツ州ボストンのAdesso Systemsの「Tubes」製品などがある。Tubesは、複数のデバイス上のデータ群を、どのデバイス上のデータに加えられた変更でもその他の全てのデバイスに伝搬されるように維持するネットワークベースのサービスである。データは、各デバイス上に維持されるので、デバイスが接続性を有する又は有さないにかかわらず、使用可能である。もし同期化が完了する前に接続性が損失したならば、ソフトウェアは、接続性が復活したときに自動的にタスクを再開させる。   A related issue is performing updates to local cached data in environments where connectivity appears and disappears without warning. To avoid the use of stale information, the data stored on the mobile device can be peer-to-peer or other connection, either between the mobile device and the server or between two mobile devices Thus, the synchronization method is considered useful. Many ways to synchronize data accumulation include comparing blocks of data or values such as checksums calculated from blocks of data to detect differences, and then all data found to be different Transfer and reconcile these differences. Interrupts to such a process can result in the process being retried when connectivity is re-established. Depending on how the process is performed and how much data is involved, repeated transmissions can waste a large amount of bandwidth. These problems can be amplified when the number of devices that need to keep data synchronized is large and the connectivity between devices is intermittent. Possible solutions to this problem include the “Tubes” product from Adesso Systems, Boston, Massachusetts. Tubes is a network-based service that maintains a group of data on multiple devices so that changes made to the data on any device are propagated to all other devices. Since data is maintained on each device, it can be used whether or not the device has connectivity. If connectivity is lost before synchronization is complete, the software will automatically resume the task when connectivity is restored.

当業者ならば、メッシュネットワーキングの概念も熟知している。メッシュネットワーキングは、フルメッシュトポロジ又は部分メッシュトポロジの2つのノード接続構成の1つを利用する。フルメッシュトポロジでは、各ノードは、互いに直接接続されている。部分メッシュトポロジでは、その他の全てのノードに接続可能なノードもあれば、大半のデータを交換する相手先ノードにのみ接続されるノードもある。接続は、有線又は無線であってよい。簡単に言うと、メッシュネットワークは、ノード間でデータ、音声、及び/又は命令をルーティングし、宛先ノードに到達するまでノードからノードへとデータを引き渡す(「ホップする」)ことによって連続的な継続及び破壊経路又は遮断経路を迂回する再構成を可能にする。概して、メッシュネットワークは、複数のホップを介して全ての構成部分が互いに接続可能であるという点で、その他のネットワークと異なる。メッシュネットワークは、当初、軍事用途のために開発され、提示される更なる能力及び挑戦ゆえに大きな注目と実験とを集めてきた。例として、参照によって本明細書に組み込まれるWang
et alによるWireless Mesh Networks (Advanced Texts in Communications and Networking) (Wiley 2009) including Chapter 7 ("mobility management")を参照せよ。
Those skilled in the art are familiar with the concept of mesh networking. Mesh networking utilizes one of two node connection configurations, a full mesh topology or a partial mesh topology. In the full mesh topology, the nodes are directly connected to each other. In the partial mesh topology, there are nodes that can be connected to all other nodes, and there are nodes that are connected only to counterpart nodes that exchange most data. The connection may be wired or wireless. Simply put, a mesh network is a continuous continuation by routing data, voice, and / or instructions between nodes and passing data from node to node ("hopping") until the destination node is reached. And allows reconfiguration to bypass the destruction or blocking path. In general, mesh networks differ from other networks in that all components can be connected to each other via multiple hops. Mesh networks were originally developed for military applications and have attracted great attention and experimentation because of the additional capabilities and challenges presented. As an example, Wang, which is incorporated herein by reference
See et al's Wireless Mesh Networks (Advanced Texts in Communications and Networking) (Wiley 2009) including Chapter 7 ("mobility management").

分散アプリケーションの管理のためのシステム
以上の問題の多くは、参照によって本明細書に組み込まれた出願人の同時係属共同所有米国特許出願第11/169,149号で取り組まれている。非限定的な例として、譲受人Jumpstartによって市販されている技術は、分散アプリケーションを管理するための数多くの有用な技術を提供しており、例えば、たとえデバイス間の通信が信頼できず、断続的であるとき、若しくは帯域幅が限られるときでも、又はデバイスのうちの1つ若しくは複数のデバイスのリソースが限られるときでも、異なるデバイスのユーザ間に信頼性の高い相互作用の方法を提供できるように、デバイス間において「ノード」、コマンド、及びその他のデータを交換する方法が挙げられる。ノードは、非限定的な例として、
プロセスを構成する少なくとも1つのアクション又は少なくとも1つの特質とを記述したデータ及び/又は命令と、ノード自体の処理、順序付け、識別、伝送、及び取り扱いを可能にする情報とを含むことができる。ノードの基本的な作成、取り扱い、保存、伝送、構造、及び処理に関する’149出願における記載は、参照によって本明細書に組み込まれる。
Many of the problems beyond the system for managing distributed applications are addressed in Applicant's co-pending US patent application Ser. No. 11 / 169,149, incorporated herein by reference. As a non-limiting example, the technology marketed by assignee Jumpstart provides a number of useful technologies for managing distributed applications, for example, communication between devices is unreliable and intermittent. Be able to provide a reliable method of interaction between users of different devices, even when bandwidth is limited or when resources of one or more of the devices are limited And a method of exchanging “nodes”, commands, and other data between devices. Node is a non-limiting example:
Data and / or instructions describing at least one action or at least one characteristic comprising the process and information that allows the node itself to be processed, ordered, identified, transmitted, and handled. The descriptions in the '149 application regarding the basic creation, handling, storage, transmission, structure, and processing of nodes are incorporated herein by reference.

ノードは、定義された構成と可変のコンテンツとを有するデータの集合でありうる。これらのデータはデバイスによって作成され、保存され、デバイス間で転送される。ノードは、例えば、デバイスによるデータ及びプログラム命令の処理を制御することによって、デバイスを制御することができる。この技術は、テキスト、画像(単一の画像及び一連の画像の両方)、署名情報、音声を符号化したデータ、入力デバイスからのデータ(例:バーコード、光データ、無線自動識別(RFID)、及び磁気カードスキャナ)、磁性材料から得られた情報(例:クレジットカード若しくは身分証明書)、印刷機器に送信される情報、地理的な位置に関連した情報(例:全地球測位システム「GPS」)、並びにその他の構成を非限定例として挙げられる多様なデータタイプを管理するように構成することができる。技術の典型的な一実装形態にしたがうと、このような様々なデータタイプの管理は、定められたノードタイプを使用して実装されるが、当業者ならば、通常の技術及び知識を使用して更に他のノードタイプが定義及び実装されることがわかる。   A node can be a collection of data having a defined configuration and variable content. These data are created, stored and transferred between devices. A node can control a device, for example, by controlling the processing of data and program instructions by the device. This technology uses text, images (both a single image and a series of images), signature information, audio encoded data, data from input devices (eg, barcodes, optical data, wireless automatic identification (RFID)) , And magnetic card scanners), information obtained from magnetic materials (eg, credit cards or identification cards), information sent to printing devices, information related to geographic location (eg, global positioning system “GPS” )), As well as other configurations can be configured to manage a variety of data types, which are given as non-limiting examples. According to one typical implementation of the technology, the management of such various data types is implemented using a defined node type, but those skilled in the art will use ordinary technology and knowledge. It can be seen that other node types are defined and implemented.

図1に示されるように、典型的で例示的で非限定的な実装形態は、1つ又は複数のワイヤレスネットワーク(1200a、1200b)を通してモバイルワイヤレスデバイス(1110)に接続されたTMCデバイス(1300a)(サーバ)を含む。ノード及びコマンドが、ノードマネージャ(1570)によってサーバのノードストレージ(1540)から検索され、通信インターフェース(不図示)を通して、ワイヤレスネットワーク(1200a又は1200b)上を送信され、ワイヤレスモバイルデバイスの通信インターフェース(2210、2220、又は2230)に達する。通信インターフェースを管理するワイヤレスデバイスのオペレーティングシステムは、ワイヤレスモバイルデバイスのディスパッチモジュール(2310)にノードを送信し、ディスパッチモジュールは、それらを処理し、それらが保存される又は処理されるノードストレージモジュール(2330)又はディスプレイモジュール(2320)に引き渡す。   As shown in FIG. 1, an exemplary, non-limiting implementation is a TMC device (1300a) connected to a mobile wireless device (1110) through one or more wireless networks (1200a, 1200b). (Server) is included. Nodes and commands are retrieved from the node storage (1540) of the server by the node manager (1570), transmitted over the wireless network (1200a or 1200b) through the communication interface (not shown), and the wireless mobile device communication interface (2210). 2220 or 2230). The operating system of the wireless device that manages the communication interface sends the nodes to the dispatch module (2310) of the wireless mobile device, which processes them and the node storage module (2330) where they are stored or processed. ) Or the display module (2320).

Jumpstartによってこれまでに市場に提供されてきた有用な技術にもかかわらず、依然、ある場所へのワイヤレス接続性は断続的であるがその場所のすぐ近くにいるユーザはローカルワイヤレスアクセスを利用可能であるような状況に対して利益をもたらす必要性が残っている。例えば、ある建設現場が1台又は複数台のトレーラを含み、各トレーラが、自身の内で利用可能であるがその直近の現場にも及ぶWi−Fi又はその他の通信を有することがある。(1台又は複数台の)トレーラと、より常設的な場所(例:中央オフィス)との間のワイヤレス接続性は、接続性の断続性に見舞われるが、ローカルワイヤレス通信は、実質的に全部でなくとも大半の現場に及ぶことができ、上述のデバイス及びシステムを使用する作業員によってアクセスされる。このようなケースでは、このような更なるデバイスまでサービスを広げて更なる能力を提供することが有益であると考えられる。   Despite the useful technology that has been provided to the market by Jumpstart so far, wireless connectivity to a location is still intermittent, but users in the immediate vicinity can still use local wireless access. There remains a need to benefit for certain situations. For example, a construction site may include one or more trailers, and each trailer may have Wi-Fi or other communications that are available within itself but also to the immediate site. Wireless connectivity between the trailer (s) and more permanent locations (eg, central office) suffers from intermittent connectivity, but local wireless communication is essentially all If not, it can cover most sites and is accessed by workers using the devices and systems described above. In such cases, it would be beneficial to extend the service to such additional devices to provide additional capabilities.

典型的で例示的で非限定的な実施形態は、たとえ、ワイヤレスネットワークデバイスと、より強固なその他のネットワークデバイスとの間の通信に信頼がなく、断続的であり、帯域幅が限られるときでも、又はデバイスのうちの1つ若しくは複数のデバイスのリソースに限りがあるときでも、ローカルワイヤレス接続を確立することができる、信頼性の高い相互作用の方法を、第1のデバイスのユーザと第2のデバイスのユーザとの間に提供できるように、デバイス間における「ノード」、コマンド、及びその他のデータ項目の交換を可能にするためのシステムと、装置と、ソフトウェアと、その他の構成とを提供する。
一部の実施形態では、本明細書で提供される技術の実装形態は、ユーザによって必要に応じて使用される中央設備によってワイヤレスインフラ、モバイルデバイス、及び各種の統合サーバが提供されるホスト型サービスプロバイダビジネスモデルを使用して提供される。このようなやり方での技術の提供は、ユーザがインフラ構成要素の配備及び管理ではなく自身のビジネスに焦点を当てることを可能にする。このアーキテクチャの性質は、異なる企業からの複数のユーザが互いを妨げることなく共通のインフラを透過的に共有することを可能にする。或いは、この技術は、1つの企業がインフラを所有してその従業員に上記インフラへのアクセスを提供するような、当業者に馴染みのその他のモデルを使用して実装される。
Exemplary, exemplary, and non-limiting embodiments are not reliable, intermittent, and limited in bandwidth for communication between wireless network devices and other more robust network devices. Or a method of reliable interaction that allows a local wireless connection to be established even when the resources of one or more of the devices are limited, with a user of the first device and a second Provides systems, devices, software, and other configurations to enable the exchange of “nodes”, commands, and other data items between devices so that they can be provided to users of other devices To do.
In some embodiments, an implementation of the technology provided herein is a hosted service where wireless infrastructure, mobile devices, and various integrated servers are provided by a central facility used as needed by the user. Provided using the provider business model. Providing technology in this manner allows users to focus on their business rather than deploying and managing infrastructure components. The nature of this architecture allows multiple users from different companies to transparently share a common infrastructure without interfering with each other. Alternatively, the technology is implemented using other models familiar to those skilled in the art, such as one company owning the infrastructure and providing its employees access to the infrastructure.

本明細書における技術の典型的で例示的で非限定的な一実装形態では、システム、ソフトウェア、及び装置は、各通信経路の利用可能性が予期せず変化し尚且つ各種の通信経路が異なる容量、信頼性、能力、及び動作方式を有する環境でアプリケーションが通信を行うことを可能にできるように、一度に1つずつ(例:順次)であれ又は一度に2つ以上(例:並行)であれ尚且つ帯域内伝送を提供するものであれ且つ/又は帯域外伝送を提供するものであれ1つ又は複数の伝送技術(すなわち、通信経路)を使用して、2つ又は3つ以上のデバイス間におけるデータ項目の伝送を可能にする。デバイス間でのデータ項目の同期化は、1本又は複数本の通信経路が断続的に中断される状態において、1本または複数本の通信経路をシリアルまたはパラレルに利用して利用可能な通信経路上で実施され、これにより、システムの少なくとも1つの特質を実装するのに有用なデータ項目(例:テンプレート、ノード、又はノードスタック)が損失や検出できない重複無しに通信される。一部の通信経路に関連した予期不能な遅延を補償し、ユーザに気付かれる伝送遅延を可能な限り減らすために、データ項目は、第1のデバイスによって意図的に複数の通信経路を使用して送信される。第2のデバイスは、このような伝送による方式で複製されたデータ項目を検出し、複製コピーは、重複として削除される。   In one exemplary, exemplary, and non-limiting implementation of the technology herein, the system, software, and apparatus may vary in the availability of each communication path and the various communication paths may differ unexpectedly. One at a time (eg, sequential) or two or more at a time (eg, parallel) to allow applications to communicate in an environment with capacity, reliability, capability, and mode of operation Two or more, using one or more transmission technologies (ie, communication paths), whether they provide in-band transmission and / or provide out-of-band transmission Allows transmission of data items between devices. Data item synchronization between devices is a communication path that can be used by using one or more communication paths serially or in parallel in a state where one or more communication paths are intermittently interrupted. Implemented above, this allows data items (eg, templates, nodes, or node stacks) useful for implementing at least one aspect of the system to be communicated without loss or undetectable duplication. In order to compensate for unpredictable delays associated with some communication paths and to reduce transmission delays noticed by the user as much as possible, the data items are intentionally used by the first device using multiple communication paths. Sent. The second device detects the data item duplicated in such a transmission method, and the duplicate copy is deleted as a duplicate.

本明細書に記載される技術の典型的で例示的で非限定的な別の実装形態は、第1のデバイスと第2のデバイスとの間におけるデータ項目の伝送を開始させるために第2のデバイスが第1のデバイスをポーリングすることに依存する(「プルモード」)先行技術のデバイス及びシステムとは対照的に、第1のデバイスから第2のデバイスへの伝送を開始させるための手段(「プッシュモード」)を提供する。本明細書における技術の典型的で例示的な実装形態による「プッシュモード」の使用は、直接的または「協調プッシュモード」において間接的に実施される。直接的な実施では、第1のデバイスが伝送を開始し、伝送を開始するために使用したのと同じ通信経路を使用してデータ項目を送信する。「協調プッシュモード」での間接的な実施は、第1のデバイスがプッシュノードを使用して(1つ若しくは複数の)データ項目の第1の部分を伝送し、該部分は、(1つ若しくは複数の)データ項目の第2の部分の移動をサポートすることはできるがデータ項目全体若しくはデータ項目群全体についてプッシュモードをサポートするために必要とされる特性には欠ける、若しくは広帯域幅、高信頼性、若しくは低コストなどのその他の望ましい特性を有する、同じ若しくは異なる伝送技術を使用して、(1つ若しくは複数の)データ項目の第2の部分を転送するために、第2のデバイスがプルモード通信セッションを開始させるための要求として第2のデバイスによって使用される。一部の典型的な実装形態では、第1のデバイスは、第2のデバイスのデバイスタイプに関する既知の情報をデバイス能力情報のデータベースと併せて使用し、第2のデバイスがプッシュモードをサポートしているかどうかを、又はそのような能力が存在するところに存在し得る制限を決定する。例えば、デバイスタイプによっては、音声通話の進行中又は特定のアプリケーションの実行中は、プッシュモード接続を受け付けないものがある。その他のデバイスタイプは、このような制限を有さない。同様に、第1の通信経路のプッシュモード特性は、第2の通信経路のプッシュモード特性と異なることがある。例えば、SMSメッセージは、送信後、数秒で配信されることもあれば数時間で配信されることもあり、あるいは送り手に対する通知のない
まま全く配信されないことがある。一方、TCPソケット伝送は、数秒以内に成功又は失敗し、伝送システムは、その成功又は失敗についてほぼ直ちに知らされる。本明細書における技術の典型的で例示的な実装形態は、適切な通信経路が利用可能なときに、プルモード、プッシュモード、協調プッシュモード、又はそれらの任意の組み合わせを使用することができる。本明細書における典型的で例示的な実装形態は、代替の通信経路を使用できる。これらの代替の通信経路は、それぞれ独自の特定の特性(例:コスト、帯域幅、プッシュモードサポート、伝送遅延、信頼性、可用性など)を有する。本明細書における典型的で例示的な技術は、1つ又は複数の通信技術を一度に使用すること、利用可能な通信技術間で適宜切り替えを行うこと、最も適した機能を求めて異種の通信技術を使用すること、それぞれ異なるデバイス通信技術を活用することができる複数本の通信経路を使用してデータ項目を重複して送信すること、又は当業者に明らかなその他の手段によって、コスト、スループット、信頼性、可用性、伝送遅延、インタラクティブ応答性、又はその他などの、デバイスについての1つ又は複数の通信特質を随意に且つ動的に最適化できるように複数通信技術を管理する手段を提供する。これらの拡張能力は、例えば、デバイスが、特定の通信経路を使用した通信が損失したときに代わりの通信経路に切り替えること、又は複数通信経路を同時に使用することによって全体のスループットを高めることを可能にすることができる。
Another exemplary, exemplary, and non-limiting implementation of the techniques described herein is a second method for initiating transmission of data items between a first device and a second device. In contrast to prior art devices and systems where the device relies on polling the first device (“pull mode”), means for initiating transmission from the first device to the second device (“ Push mode "). The use of “push mode” according to exemplary exemplary implementations of the techniques herein is performed directly or indirectly in “cooperative push mode”. In a direct implementation, the first device initiates transmission and transmits the data item using the same communication path that was used to initiate the transmission. An indirect implementation in “cooperative push mode” is when the first device uses a push node to transmit a first part of the data item (s), which part (one or Can support movement of the second part of the data item (s) but lacks the characteristics required to support push mode for the entire data item or group of data items, or has high bandwidth and high reliability The second device is in pull mode to transfer the second portion of the data item (s) using the same or different transmission techniques, having other desirable characteristics such as Used by the second device as a request to initiate a communication session. In some exemplary implementations, the first device uses known information about the device type of the second device in conjunction with a database of device capability information, and the second device supports push mode. Determine whether or not there is a limit that can exist where such a capability exists. For example, some device types do not accept push mode connections while a voice call is in progress or a particular application is running. Other device types do not have such restrictions. Similarly, the push mode characteristic of the first communication path may be different from the push mode characteristic of the second communication path. For example, an SMS message may be delivered in seconds, hours after delivery, or may not be delivered at all without notification to the sender. On the other hand, TCP socket transmission succeeds or fails within a few seconds, and the transmission system is almost immediately informed about its success or failure. Exemplary and exemplary implementations of the techniques herein can use pull mode, push mode, cooperative push mode, or any combination thereof when an appropriate communication path is available. The exemplary and exemplary implementations herein can use alternative communication paths. Each of these alternative communication paths has its own specific characteristics (eg, cost, bandwidth, push mode support, transmission delay, reliability, availability, etc.). Exemplary and exemplary techniques herein include the use of one or more communication technologies at a time, appropriate switching between available communication technologies, and heterogeneous communication in search of the most suitable function. Cost, throughput by using multiple technologies, using multiple communication paths that can utilize different device communication technologies, or by other means apparent to those skilled in the art Providing a means to manage multiple communication technologies so that one or more communication characteristics for a device can be arbitrarily and dynamically optimized, such as reliability, availability, transmission delay, interactive responsiveness, etc. . These extended capabilities, for example, allow a device to switch to an alternate communication path when communication using a specific communication path is lost, or to increase overall throughput by using multiple communication paths simultaneously Can be.

一部の典型的で例示的で非限定的な実装形態では、サポートされている利用可能な通信技術によって確立された通信経路は、その管理及び使用のための更なるメカニズムを規定するように構成される。例えば、通信経路を通じて送信されるデータ項目は、暗号化される、圧縮される、又はチェックサム若しくはその他のメカニズムの使用を通して改ざん若しくは損傷から保護される。このような更なる随意のメカニズムは、第1のデバイスから第2のデバイスへの通信経路の一部で使用されてその他の部分では使用されない、又はそのような通信経路の全体で使用される。複数のこのような随意のメカニズムが、同時に使用される。例えば、チェックサムが計算され、データ項目に追加されたとき、それらのデータ項目及びチェックサムは、次いで、圧縮及び伝送され、そのとき、それらの圧縮されたデータ項目及びチェックサムは、通信経路の一セグメント上を移送されるときに露見しないように、その通信経路セグメントによって暗号化及び復号化を施される。   In some exemplary, exemplary, and non-limiting implementations, communication paths established by supported available communication technologies are configured to define additional mechanisms for their management and use Is done. For example, data items transmitted over a communication path are encrypted, compressed, or protected from tampering or damage through the use of checksums or other mechanisms. Such further optional mechanisms are used in part of the communication path from the first device to the second device and not in other parts, or are used throughout such communication path. Several such optional mechanisms are used simultaneously. For example, when a checksum is calculated and added to a data item, the data item and checksum are then compressed and transmitted, when the compressed data item and checksum are Encryption and decryption are performed by the communication path segment so as not to be exposed when transported over one segment.

本明細書における典型的で例示的な技術によって提供されるデータ項目の転送は、GPRS/EDGEを使用したワイヤレステレフォニ、EVDO、802.11(Wi−Fi)を使用したワイヤレスネットワーキング、又はその他の無線及び有線の手段などの、1つ又は複数の通信技術を使用して、デバイスによって実施される。一部の典型的で例示的で非限定的な実装形態では、デバイスは、サーバやデスクトップ型若しくはノート型パソコンなどの標準的なコンピュータ、携帯電話やPDAなどのワイヤレスポータブルデバイス、エミュレートデバイス、又はこれらの任意の数の組み合わせである。   The transfer of data items provided by the exemplary exemplary techniques herein is wireless telephony using GPRS / EDGE, EVDO, wireless networking using 802.11 (Wi-Fi), or other radio And implemented by the device using one or more communication technologies, such as wired means. In some typical exemplary non-limiting implementations, the device is a standard computer such as a server or desktop or laptop computer, a wireless portable device such as a mobile phone or PDA, an emulated device, or Any number of these combinations.

上述された各種の通信方法を使用することによって、本明細書における典型的で例示的な技術は、ピア・ツー・ピア(P2P)メッセージ交換と、サーバの助けによる又はよらない第1のデバイスから第2のデバイスへのタスクのデリゲートと、複数のデバイスへの有効タスクの告知、応答の収集、肯定的に応答するもののなかからの、タスクの割り当て先となる1つ又は複数のデバイスの選択、(1つ又は複数の)選択されたデバイスへのタスクの割り当て、及びデリゲートの連鎖に沿った、タスク完了又はタスクキャンセルデータ項目の伝搬と、サーバの介在を受けた又は受けないデバイス間におけるカタログデータ項目の同期化と、デバイスによるデータ項目、データ項目群、又は通信方法の使用に対する制限及び許可の柔軟な規定を可能にするセキュリティテンプレートと、などを可能にする更なる能力と機能とを提供する。非直接的なクライアント−サーバアーキテクチャを使用して複雑なノード構造を管理する能力は、Jumpstartがこれまでに市場に提供してきた有用な技術にはなく、ノードベースのタスク、情報の収集、及びその他のタスク
を管理するための、デバイスの有用性及び適用性を大幅に拡張させる。典型的で例示的で非限定的な更なる特徴及び利点には、以下のものがある。
・一度に1本ずつであれ、一度に2本以上であれ、そして、速度/帯域幅、信頼性、コスト、プロトコル、伝送媒体、又はその他の特性などの各通信経路の特性の違いにかかわらず、第1のデバイスから第2のデバイスへのメッセージの転送のために複数通信経路を使用すること。複数通信経路は、通信経路の可用性が連続的でないときや、場所から場所へと変化するときや、時間若しくは場所によって異なる手段を使用して利用可能にされるときに、デバイスがサーバ又は他のデバイスとの通信を確立することができる可能性を増大させる。特に、これは、最も有利な利用可能通信経路上におけるノードベース構造の移動に対処し、デバイスの能力を各種の動作条件で動作するように拡張する。
・複数の利用可能通信経路のどれを特定の時間に所定のデータ項目のために用いるかを決定するための方法。通信経路は、能力、コスト、現デバイス位置に基づく固有の制限、セキュリティ制約、並びに/又は配信の速度及び保証がそれぞれ異なっており、これに、転送するノード及びカタログの選択を加味すると、限られたリソースのポータブルデバイス上で使用するのに十分に効率的な適切な経路を所定のノード群(関連の優先度、サイズ、タイプなどを伴う)に合わせて選ぶことは難題である。
・1つ又は複数のノード構造の複数コピーを基本的に並行して運ぶために、複数通信経路を使用すること。複数通信は、ノード構造の効果的使用を可能にするのに十分なノード構造が、起こり得る通信経路の破壊にかかわらず宛先で受信される機会を増やすとともに、その時点でどの通信経路が最速であるかに関する知識を必要とすることなく、移送遅延を最速通信経路のそれと同程度に抑える。しかしながら、これは、受信デバイスにおいて複製コピーを排除してノード構造を再構築しなくてはならないという面倒を増加させる。
・ノード構造の第1の部分を運ぶために第1の通信経路を使用し、同じノード構造の第2の部分を運ぶために第1の通信経路と少なくとも部分的に異なる第2の通信経路を使用すること。これは、通信に携わっているデバイスが、メッセージの送信済み部分を再伝送する必要なく、また見た目の帯域幅を増やすとともに受け手においてノード構造の受信に要する合計時間を短くするために複数の通信経路を通じてノード構造の部分を並行して送信する必要もなく、通信経路を切り替えることを可能にする。受け手は、所定のノード構造を伝送するためにどれほど多くの異なる通信経路が使用されたかに関係なく、その所定のノード構造の部分を認識し、それらを正しい順序に再構築し、起こり得るノード構造部分の重複受信に対処する能力を有する。これは、やはり、各通信経路によって伝送されるノード構造の部分を伝送デバイスが選択する必要があるという面倒を増加させる。
・あまり好ましくない通信経路よりも好ましい通信経路の使用を増やすための、随意的な、動的な通信経路切り替え。このような切り替えは、通信経路が利用可能になる又は機能しなくなるときに、デバイスが、利用可能な通信経路を最適に使用することを可能にする。最適な使用は、伝送の速度、コストの削減、デバイスユーザに対する応答性の向上、セキュリティの向上、又はその他の要因に関連する。これは、やはり、各経路によって転送されるノード構造の部分をデバイスが選択可能であることを必要とする。
・好ましい通信経路以外の時間、順序、又は手段によってデータ項目が送信される(例:Wi−Fi上でTCP/IPを使用する代わりにGPRS上でMMSを使用して送信される、又は予定されるポーリング時間の合間に送信される)帯域外(OOB)伝送。OOB伝送は、ユーザに対する応答性の向上、及び優先度の高いデータの、より適時な伝送を可能にする。
・送信されるべきデータ項目の又はその一部の特性に一部基づいて伝送方法が決定される優先メッセージング。ノード伝送優先度は、複数の利用可能通信経路のどれを使用するか、通信経路を動的に切り替えるかどうか、データをOOB送信するかどうか、及びデータ項目を送信するためにどの伝送モードが許可されるかを決定する要因である。ノード構造の伝送の優先順位付けは、全体であれ一部であれ、コストの削減、相互作用タスクにおける応答性の向上、及びタスク実装における柔軟性を可能にすることができる。
・重複の発生が偶発的であれ意図的であれ、重複するノード構造を検出して排除するこ
と。通信経路の動的切り替えは、受け手にノード構造又はノード構造部分の重複が見える結果を招くことがあり、したがって、これに対処するための方法が提供される。これらの方法は、また、ノード構造の更新ヴァージョンが同じノード構造の古いヴァージョンの送信後に送信される可能性、及びそれらが任意の順番又は任意のタイミングで受信デバイスに到達する可能性にも対処する。
・送り手が受け手に連絡を取ってメッセージの転送を開始させる、「プッシュモード」伝送モデル。これは、従前の定期的ポーリング、すなわち「プルモード」伝送モデルと比べて通信遅延を短縮させ尚且つデバイスユーザに対する応答性を向上させることができる「非同期」通信モデルを可能にする。伝送されるべきデータがないときにポーリング要求を排除することを通じて帯域幅の使用を減らすことも可能であり、これは、幾らかの通信経路と相まってコストの削減をもたらすことができる。
・1つ又は複数のノード及び/又はノード構造を転送するために、送り手が受け手に連絡を取り、プルモードセッションを開始させるように受け手に要求するコマンドを内包するメッセージを送信する、「協調プッシュモード」伝送モデル。送り手の要求及び受け手のプルモードセッションは、異なる通信経路上で発生することができる。協調プッシュモード伝送は、プッシュモードをサポートしていない通信経路を通じた非同期伝送を可能にし、ノード構造の重要部分の伝送を加速させるのに効果的である。プッシュモード要求は、OOB送信することができる、配信を確実にするために複数の通信経路を通じて一度に送信することができる、尚且つ1つ又は複数のノード及び/又はノード構造の伝送のためのその他のサポート能力を活用することができる。協調プッシュモード方式の伝送における困難の1つは、移動されるべきノード及び/又はノード構造を、受け手が要求できるように特定することである。
・一方が通信を開始させることができ尚且つ一方又は両方が他方にノード及び/又はノード構造を伝送することができる2つのデバイス間でノード及び/又はノード構造を送信するための「ピア・ツー・ピア」(P2P)ノード伝送モデル。この能力は、デバイスが、各デバイスがサーバへのアクセスを有するという要件を伴わずともやり取りすることを可能にし、複数のデバイスが、任意の特定のデバイスの通信経路リソースを共有することを許可し、そうして、通信の接続性に限りがある環境における全体的な接続性及び効率を向上させる。P2P環境の困難は、ノード構造の再構築及びそれに続く使用のために、(1つ又は複数の)デバイスがノード構造の一意インスタンスの認識を失うことなく複数の通信経路及びトポロジに沿ってノード構造を更新すること並びに報告を返信することが可能であるようにノードを一意的に識別することを中心に展開する。
・1つ又は複数の指定タスクの割り当てを受け入れる意思がある1人又は複数人のユーザを特定し、それらにタスクを提供するための、「告知及び受け入れ」(A&A)メカニズム。この能力は、ノード及び/又はノード構造を複数のデバイスに送信することができるブロードキャスト能力に依存する。このようなブロードキャストは、複数の異なる通信経路又は通信経路タイプを使用してなすことができ、通信経路によって1対多の伝送能力をサポートされていない各デバイスに個々の伝送を送ることによってシミュレートすることができる。A&Aメカニズムは、ノード及びノード構造によって表わされるタスクの選択及び受け入れ、並びにそれに続く選択、優先順位付け、及び利用可能通信経路を通じた伝送、並びにそれに続く再構築及び使用報告活動を解決するにあたって課題を提供する。
・サーバの助けによって又はよらずに、ノード又はノード構造によって表わされるタスクを第1のデバイスから第2のデバイスに転送するための、タスクデリゲート方法。サーバによる転送の仲介を必要としないタスク転送を可能にすることによって、一方又は両方のデバイスに対してサーバ通信を確立又は維持することができない場面(通信経路の障害があるとき)における効率が向上される。サーバ又は他のデバイスへの最終通知に備えてタスクの所有を追跡するための、及びサーバが関与していないときでもデバイス間のタスクの転送を制限するための方法が必要とされる。このような方法は、タスクがアクティブである間にどのパターンでデバイス対デバイス又はデバイス対サーバの通信経路が存在するかにかかわらず、機能しなければならない。第2のデバイスへの転送のために第1のデ
バイスによってノードを符号化するための、及び第2のデバイスによる受信後にノードを復号し、それらを第2のデバイスに機能的に組み込み可能にするための、更なる方法が必要とされる。
・タスクのキャンセルを適切なデバイスに通知するための、タスキャンセル配布方法。この方法は、タスクデリゲートの結果として生じる複雑性、及びサーバによる介在なしにデバイス間でなされるタスクデリゲートをサポートする。このような方法は、タスクがアクティブである間にどのようなパターンでデバイス対デバイス又はデバイス対サーバの通信経路が存在するかにかかわらず、機能しなければならず、多くの場合、その他のノード伝送要件よりも高い優先度でのキャンセル情報選択を必要とする。
・第1のデバイスのカタログと第2のデバイスのカタログとの間の相違を識別及び解消するための、カタログ同期化方法。このような方法は、2つ又は3つ以上のデバイスがサーバと通信していないときに、尚且つデバイスに加えられる更新の順序に関係なく、デバイスのカタログ間の相違の解消をサポートしなければならない。特定のデバイス又は特定のクラスのデバイスへのカタログデータの転送に対する制限は、たとえサーバが関与しておらず、転送がデバイス間であるときでも、維持されなければならない。
・データ項目、データ項目群、デバイス、又はサーバに対するアクセス、使用、又は変更の制限を可能にする、柔軟なセキュリティモデルの提供。このような制限は、サーバ又は第3のデバイスへの通信経路を有する第1のデバイスが、このような通信経路を有さない第2のデバイスのためにデータ項目を中継することに適用される。
・たとえ、ワイヤレスネットワークデバイスと、より強固なその他のネットワークデバイスとの間の通信が非信頼性であるとき、断続的であるとき、帯域幅が限られるときでも、又はデバイスのうちの1つ若しくは複数のデバイスのリソースに限りがあるときでも、ローカルワイヤレス接続を確立することができる、信頼性の高い相互作用の方法を、第1のデバイスのユーザと第2のデバイスのユーザとの間に提供できるように、デバイス間における「ノード」、コマンド、及びその他のデータ項目の交換を可能にするための、システム。
・たとえ、ワイヤレスネットワークデバイスと、より強固なその他のネットワークデバイスとの間の通信が非信頼性であるとき、断続的であるとき、帯域幅が限られるときでも、又はデバイスのうちの1つ若しくは複数のデバイスのリソースに限りがあるときでも、ローカルワイヤレス接続を確立することができる、信頼性の高い相互作用の方法を、第1のデバイスのユーザと第2のデバイスのユーザとの間に提供できるように、デバイス間における「ノード」、コマンド、及びその他のデータ項目の交換を可能にするための、方法。
By using the various communication methods described above, the exemplary and exemplary techniques herein are from a peer-to-peer (P2P) message exchange and a first device with or without server assistance. Delegating a task to a second device, announcing valid tasks to multiple devices, collecting responses, selecting one or more devices to which a task is assigned among those responding positively, Task assignment to selected device (s) and propagation of task completion or cancellation data items along the delegate chain and catalog data between devices with or without server intervention Flexible synchronization of items and restrictions on and restrictions on the use of data items, data items, or communication methods by devices Providing a security template to ability, and further the ability to enable such features and. The ability to manage complex node structures using an indirect client-server architecture is not a useful technology that Jumpstart has ever offered to the market, but node-based tasks, information gathering, and more Greatly expands the usefulness and applicability of devices to manage these tasks. Additional exemplary and non-limiting additional features and advantages include:
• One at a time, two or more at a time, and regardless of differences in the characteristics of each communication path, such as speed / bandwidth, reliability, cost, protocol, transmission medium, or other characteristics Using multiple communication paths for the transfer of messages from the first device to the second device. Multiple communication paths are used when a device is a server or other device when the availability of the communication path is not continuous, changes from place to place, or is made available using different means depending on time or place. Increase the likelihood that communication with the device can be established. In particular, it addresses the movement of node-based structures on the most advantageous available communication paths and extends the device capabilities to operate in various operating conditions.
A method for determining which of a plurality of available communication paths to use for a given data item at a particular time. Communication paths differ in terms of capabilities, costs, inherent restrictions based on current device location, security constraints, and / or delivery speed and guarantees, limited by the choice of forwarding nodes and catalogs. Choosing an appropriate path that is efficient enough to be used on a portable device with limited resources for a given set of nodes (with associated priority, size, type, etc.) is a challenge.
Use multiple communication paths to carry multiple copies of one or more node structures basically in parallel. Multiple communications increase the chances that a node structure sufficient to allow effective use of the node structure will be received at the destination regardless of possible disruption of the communication path, and which communication path is the fastest at that time Reduces transport delay to the same level as the fastest communication path without the need for knowledge of what is present. However, this increases the hassle of having to reconstruct the node structure by eliminating duplicate copies at the receiving device.
Using a first communication path to carry a first part of the node structure and a second communication path at least partly different from the first communication path to carry a second part of the same node structure To use. This is because the devices involved in the communication do not need to retransmit the transmitted part of the message, increase the apparent bandwidth and reduce the total time required to receive the node structure at the receiver. It is possible to switch communication paths without having to transmit parts of the node structure in parallel. Regardless of how many different communication paths were used to transmit a given node structure, the recipient recognizes parts of that given node structure, reconstructs them in the correct order, and possible node structures Ability to deal with duplicate reception of parts. This again increases the hassle of having to select the part of the node structure transmitted by each communication path.
• Optional dynamic communication path switching to increase the use of preferred communication paths over less desirable communication paths. Such switching allows the device to optimally use the available communication path when the communication path becomes available or fails. Optimal use is related to transmission speed, cost reduction, improved responsiveness to device users, increased security, or other factors. This again requires that the device be able to select the portion of the node structure that is transferred by each path.
Data items are sent by time, order, or means other than the preferred communication path (eg, sent or scheduled using MMS over GPRS instead of using TCP / IP over Wi-Fi) Out-of-band (OOB) transmission (sent between polling times). OOB transmission enables improved responsiveness to users and more timely transmission of high priority data.
Priority messaging in which the transmission method is determined in part based on the characteristics of the data item to be transmitted or part thereof. Node transmission priority determines which of the available communication paths to use, whether to dynamically switch communication paths, whether to send data OOB, and which transmission mode to send data items. It is a factor that determines what is done. Prioritizing transmission of node structures, whether in whole or in part, can allow for cost reduction, improved responsiveness in interactive tasks, and flexibility in task implementation.
-Detect and eliminate duplicate node structures, whether they occur accidentally or intentionally. Dynamic switching of communication paths can result in the recipient seeing overlapping node structures or node structure portions, and thus a way to deal with this is provided. These methods also address the possibility that an updated version of the node structure will be transmitted after transmission of an older version of the same node structure and that they may reach the receiving device in any order or at any time .
A “push mode” transmission model in which the sender contacts the receiver and initiates message transfer. This enables an “asynchronous” communication model that can reduce communication delays and improve responsiveness to device users compared to previous periodic polling, ie “pull mode” transmission models. It is also possible to reduce bandwidth usage through eliminating polling requests when there is no data to be transmitted, which can lead to cost savings coupled with some communication paths.
Send a message containing a command that requests the receiver to contact the receiver and initiate a pull mode session to transfer one or more nodes and / or node structures, "Push mode" transmission model. The sender's request and the recipient's pull mode session can occur on different communication paths. Cooperative push mode transmission enables asynchronous transmission over communication paths that do not support push mode, and is effective in accelerating transmission of critical parts of the node structure. Push mode requests can be sent OOB, can be sent at once through multiple communication paths to ensure delivery, and for transmission of one or more nodes and / or node structures Other support capabilities can be utilized. One of the difficulties in cooperative push mode scheme transmission is identifying the node and / or node structure to be moved so that the recipient can request it.
"Peer-to-two" for sending a node and / or node structure between two devices, one of which can initiate communication and one or both can transmit the node and / or node structure to the other Peer (P2P) node transmission model. This capability allows devices to interact without the requirement that each device has access to the server, allowing multiple devices to share the communication path resources of any particular device. And thus improve overall connectivity and efficiency in environments where communication connectivity is limited. The difficulty of the P2P environment is that due to the reconfiguration and subsequent use of the node structure, the node structure along multiple communication paths and topologies without the device (s) losing recognition of the unique instance of the node structure. Revolve around identifying nodes uniquely so that they can be updated as well as reports can be returned.
An “Announcement and Acceptance” (A & A) mechanism to identify one or more users who are willing to accept the assignment of one or more designated tasks and provide tasks to them. This capability depends on the broadcast capability that can transmit a node and / or node structure to multiple devices. Such a broadcast can be made using a plurality of different communication paths or communication path types, and is simulated by sending individual transmissions to each device that does not support one-to-many transmission capabilities by the communication path. can do. The A & A mechanism addresses challenges in resolving selection and acceptance of tasks represented by nodes and node structures, as well as subsequent selection, prioritization, and transmission over available communication paths, and subsequent restructuring and usage reporting activities. provide.
A task delegate method for transferring a task represented by a node or node structure from a first device to a second device with or without the aid of a server. Increases efficiency in situations where server communication cannot be established or maintained for one or both devices (when there is a communication path failure) by enabling task transfer that does not require transfer mediation by the server Is done. What is needed is a way to track task ownership in preparation for final notification to a server or other device and to limit the transfer of tasks between devices even when the server is not involved. Such a method must work regardless of the pattern in which the device-to-device or device-to-server communication path exists while the task is active. For encoding the nodes by the first device for transfer to the second device, and decoding the nodes after reception by the second device, enabling them to be functionally incorporated into the second device There is a need for further methods for this.
A task cancellation distribution method for notifying an appropriate device of task cancellation. This method supports the complexity resulting from task delegates and task delegates made between devices without server intervention. Such a method must work regardless of the pattern in which the device-to-device or device-to-server communication path exists while the task is active, often in other nodes Cancel information selection with higher priority than transmission requirements is required.
A catalog synchronization method for identifying and resolving differences between the catalog of the first device and the catalog of the second device. Such a method must support resolving differences between catalogs of devices when two or more devices are not communicating with the server and regardless of the order of updates applied to the devices. Don't be. Restrictions on the transfer of catalog data to a specific device or class of devices must be maintained even when the server is not involved and the transfer is between devices.
Providing a flexible security model that can restrict access, use, or modification to data items, data items, devices, or servers. Such restrictions apply to a first device having a communication path to a server or a third device relaying data items for a second device that does not have such a communication path. .
Even if communication between the wireless network device and other more robust network devices is unreliable, intermittent, bandwidth limited, or one of the devices or Providing a reliable interaction method between a user of a first device and a user of a second device that can establish a local wireless connection even when resources of multiple devices are limited A system to allow the exchange of “nodes”, commands, and other data items between devices.
Even if communication between the wireless network device and other more robust network devices is unreliable, intermittent, bandwidth limited, or one of the devices or Providing a reliable interaction method between a user of a first device and a user of a second device that can establish a local wireless connection even when resources of multiple devices are limited A method for enabling the exchange of “nodes”, commands, and other data items between devices.

これらの及びその他の特徴及び利点は、典型的で非限定的で例示的な実施形態の以下の詳細な説明を図面と併せて参照することによって、より良く且つより完全に理解される。   These and other features and advantages will be better and more fully understood by reference to the following detailed description of exemplary, non-limiting, exemplary embodiments in conjunction with the drawings.

参照によって本明細書に組み込まれる共同所有の米国特許出願第11/169,149号に記載される技術にしたがった、サーバデバイスと、クライアントデバイスと、それらの間のネットワーク接続とを含むネットワークの概略図を示している。Network overview including server devices, client devices, and network connections between them according to the techniques described in co-owned US patent application Ser. No. 11 / 169,149, incorporated herein by reference. The figure is shown. 2つのサーバデバイスと、3つのモバイルクライアントデバイスと、それらの間のネットワーク接続とを含む、デバイス&ネットワーク構成の概略図を示している。FIG. 2 shows a schematic diagram of a device and network configuration including two server devices, three mobile client devices, and a network connection between them. 協調プッシュモード通信の実装を目的とした、データ項目の送信及びコマンドの送信の両方における典型的で例示的で非限定的なプッシュモード使用を示したフローチャートである。FIG. 6 is a flowchart illustrating exemplary, exemplary, and non-limiting push mode usage in both data item transmission and command transmission for the purpose of implementing cooperative push mode communication. SMSを使用した協調プッシュモード通信における典型的で例示的で非限定的なデバイス−サーバ相互作用を示している。FIG. 2 illustrates a typical, exemplary, non-limiting device-server interaction in cooperative push mode communication using SMS. 通信経路を選択するための方法の典型的で例示的で非限定的な実装形態を示したフローチャートである。FIG. 6 is a flowchart illustrating an exemplary, exemplary, and non-limiting implementation of a method for selecting a communication path. 本明細書における典型的で例示的で非限定的な技術にしたがった、複数の通信インターフェースを通して様々な他のデバイスに到達可能な複数の通信経路を有する典型的で例示的で非限定的なデバイスの概略図である。Exemplary, exemplary, and non-limiting devices having multiple communication paths that are reachable to various other devices through multiple communication interfaces in accordance with the exemplary, exemplary, and non-limiting techniques herein. FIG. 伝送されるメッセージに対するプロトコルマネージャによる処理の典型的で例示的で非限定的な実装形態を示したフローチャートである。FIG. 6 is a flowchart illustrating an exemplary, exemplary, and non-limiting implementation of processing by a protocol manager for a transmitted message. 受信中のメッセージに対するプロトコルマネージャによる処理の典型的で例示的で非限定的な実装形態を示したフローチャートである。FIG. 4 is a flowchart illustrating an exemplary, exemplary, and non-limiting implementation of processing by a protocol manager for a message that is being received. 告知及び受け入れ(A&A)プロセス及びカタログ同期化プロセスにおける典型的で例示的で非限定的なメッセージフローを示している。FIG. 3 illustrates an exemplary, non-limiting message flow in an announcement and acceptance (A & A) process and a catalog synchronization process. A&A手続きを実施するための及び十分な肯定応答の不足に対処するための方法の典型的で例示的で非限定的な実装形態を示したフローチャートである。FIG. 6 is a flowchart illustrating an exemplary, exemplary, and non-limiting implementation of a method for performing an A & A procedure and for addressing a lack of sufficient acknowledgment. A&Aメッセージに対する応答を収集及び処理するための方法の典型的で例示的で非限定的な実装形態を示したフローチャートである。FIG. 6 is a flowchart illustrating an exemplary, exemplary, and non-limiting implementation of a method for collecting and processing responses to A & A messages. 割り当てられたタスクを第1のデバイスから第2のデバイスにデリゲートする方法の典型的で例示的で非限定的な実装形態を示したフローチャートである(方法1)。FIG. 4 is a flowchart illustrating an exemplary, exemplary, and non-limiting implementation of a method for delegating assigned tasks from a first device to a second device (Method 1). 方法1又は方法2のいずれかを使用したタスクデリゲートのための典型的で例示的で非限定的なメッセージフローを示している。FIG. 4 illustrates an exemplary, exemplary, non-limiting message flow for a task delegate using either Method 1 or Method 2. FIG. 割り当てられたタスクを第1のデバイスから第2のデバイスにデリゲートする方法の典型的で例示的で非限定的な実装形態を示したフローチャートである(方法2)。FIG. 6 is a flowchart illustrating an exemplary, exemplary, and non-limiting implementation of a method for delegating assigned tasks from a first device to a second device (Method 2). 典型的で例示的で非限定的なセキュリティ規定を示している。Fig. 2 illustrates a typical, exemplary and non-limiting security policy.

用語の定義
[OOB]:「帯域外(Out Of Band)」。好ましくない通信経路を通じて行われるデータ項目伝送。例えば、接続ベースのプロトコルではなく接続のないプロトコルを使用する伝送、予定されるポーリング間隔以外の時間に行う伝送、優先度の高いデータ項目が優先度の低いデータ項目よりも先に送信するなどのデータ項目の送信が要求される順序以外の順序で実施される伝送。
Definition of terms [OOB]: “Out Of Band”. Data item transmission that takes place over unfavorable communication paths. For example, transmission using a connectionless protocol instead of a connection-based protocol, transmission performed at a time other than the scheduled polling interval, data items with high priority sent before data items with low priority, etc. Transmission performed in an order other than the order in which data items are requested to be sent.

[データ項目]:典型的な実装形態が正常に機能するために必要とされるデータオブジェクト(例:ノード、ノードスタック、カタログ、タスク、又はこれらの組み合わせ)。   Data item: A data object (eg, node, node stack, catalog, task, or combination thereof) that is required for a typical implementation to function properly.

[デバイス]:本明細書で使用される「デバイス」は、典型的で例示的で非限定的な一実装形態では、少なくとも1つのプロトコルマネージャ及び少なくとも1つの通信インターフェースを更に含む(後述のような)ディスパッチマネージャを含むように構成されたコンピュータである。一部の典型的なデバイス実装形態には、プロトコルマネージャ及び通信インターフェースが複数提供される。動作にあたり、メッセージは、1本又は複数本の通信経路を通じて第1のデバイスから第2のデバイスに伝送される。デバイス内のハードウェア及びソフトウェアの構成は、たとえデバイス間に強固な通信経路がない場合でもデバイス間における効率的なメッセージ伝送を可能にするために、上記デバイス上のプログラム及びデータ項目の動作の特質を制御する。更に、デバイスは、例えばワイヤレス技術を使用して接続されユーザとともに移動するデバイスなどのモバイルデバイス、固定位置を有するデバイス(例:デスクトップ型コンピュータ若しくはサーバ、若しくは自動販売機若しくは圧力モニタなどの別のメカニズムに埋め込まれたコンピュータ)、又はエミュレートデバイスのいずれかである。モバイルデバイスは、時折若しくは常に有線接続を使用することができる、ワイヤレス接続をサポートすることができる、又はその両方である。   [Device]: A “device” as used herein, in one exemplary, non-limiting implementation, further includes at least one protocol manager and at least one communication interface (as described below). ) A computer configured to include a dispatch manager. Some typical device implementations are provided with multiple protocol managers and communication interfaces. In operation, a message is transmitted from a first device to a second device through one or more communication paths. The hardware and software configuration within the device is a characteristic of the operation of the programs and data items on the device to enable efficient message transmission between the devices even if there is no strong communication path between the devices. To control. In addition, the device may be a mobile device, such as a device that is connected using wireless technology and moves with the user, a device with a fixed location (eg, a desktop computer or server, or another mechanism such as a vending machine or pressure monitor). Embedded in a computer) or an emulated device. The mobile device can sometimes or always use a wired connection, can support a wireless connection, or both.

[カタログ]:類似構造のデータ項目の集合(例:データ表、パーツリスト、ジョブコードリスト、コストコードリスト、終了コードリスト)。   [Catalog]: A set of data items having similar structures (eg, data table, parts list, job code list, cost code list, end code list).

[コマンド]:バイトの順序付き配列であり、一部は特定の値を有し、第2のデバイスに所望のアクションをとらせる意図を持って第1のデバイスから第2のデバイスに送信される。   [Command]: an ordered array of bytes, some of which have specific values and are sent from the first device to the second device with the intent to cause the second device to take the desired action .

[メッセージセグメント]:メッセージの断片であり、所定のメッセージを構成する全ての断片をそのメッセージに再構築することを可能にするとともに完全なメッセージの再構築に必要とされるこのようなメッセージ断片の数を記述する情報が付随している。   [Message segment]: A fragment of a message that allows all of the fragments that make up a given message to be reconstructed into that message, and for such message fragments that are required to reconstruct a complete message. Accompanying information describing the number.

[通信経路]:第1のデバイスから第2のデバイスへのメッセージ又はメッセージセグメントの送信を可能にする技術の又は組み合わせ技術の実装形態。   Communication path: An implementation of a technique or combination technique that allows transmission of a message or message segment from a first device to a second device.

[プルモード]:受け手が送り手に連絡を取ってメッセージの転送を要求する伝送モデル。   [Pull mode]: A transmission model in which the receiver contacts the sender and requests message transfer.

[プッシュモード]:送り手が受け手に連絡を取ってメッセージの転送を開始させる伝送モデル   [Push mode]: A transmission model in which the sender contacts the receiver and starts forwarding the message.

[協調プッシュモード]:送り手が受け手に連絡を取り、プルモードセッションを開始させるように受け手に要求するコマンドを含むメッセージを送信する伝送モデル。送り手による要求及び受け手によるプルモードセッションは、異なる通信経路上で発生することができる。   [Cooperative Push Mode]: A transmission model in which a sender contacts a receiver and sends a message containing a command requesting the receiver to initiate a pull mode session. Requests by the sender and pull mode sessions by the receiver can occur on different communication paths.

[P2P]:「ピア・ツー・ピア」。一方が通信を開始させることができ尚且つ一方又は両方が他方にメッセージを伝送することができる2つのデバイス間におけるメッセージ伝送モデルを指して使用される。   [P2P]: “Peer to Peer”. Used to refer to a message transmission model between two devices, one can initiate communication and one or both can transmit messages to the other.

[タスク]:デバイス上で実施されるべき作業の個別的単位であり、1つ又は複数のデータ項目によって定義される。   [Task]: An individual unit of work to be performed on a device, defined by one or more data items.

[LAN]:「ローカルエリアネットワーク(Local Area Network)」。LANは、互いに近くに位置するとともにEthernet、Wi−Fi、Token Ringなどの1つ又は複数のネットワーキング技術によって接続される2つ又は3つ以上のデバイスからなる。   [LAN]: “Local Area Network”. A LAN consists of two or more devices that are located close to each other and connected by one or more networking technologies such as Ethernet, Wi-Fi, Token Ring.

[DNS]:「ドメイン名システム(Domain Name System)」。「anycompany.com」など人間が読み取れるアドレスを、インターネットソフトウェアがデータ項目の送信のために使用可能なTCP/IPバイナリアドレスに変換するために使用される、分散型データベースを含むインターネットシステム。
[ノード]:本明細書で使用される「ノード」とは、米国特許出願第11/169,149号によって定められたノードと同様のデータ項目であり、本明細書では、後述のように、データフィールド及びノードタイプを追加で含ませることによって拡張される。
[セキュリティ規定]:一部特定の又は限られた範囲の値を有するバイトのルール正しい配列であり、データ項目、データ項目群、デバイス、又はサーバに関連付けられ、データ項目、データ項目群、通信経路、デバイス、又はサーバのアクセス、使用、又は変更に対する許可及び/又は制約を規定するために使用される。
[DNS]: “Domain Name System”. An Internet system that includes a distributed database that is used to translate a human readable address such as “anycompany.com” into a TCP / IP binary address that Internet software can use to transmit data items.
[Node]: As used herein, a “node” is a data item similar to a node defined by US patent application Ser. No. 11 / 169,149. Extended by including additional data fields and node types.
[Security provisions]: A rule-ordered array of bytes with some specific or limited range values, associated with a data item, data item group, device, or server, data item, data item group, communication path Used to define permissions and / or restrictions on access, use, or modification of devices, servers, or servers.

概要
典型的で例示的で非限定的な現実装形態は、非限定例として以下に挙げられるこれまで利用できなかった重要な能力を伴う通信システム及び通信デバイスを提供する。
・一度に1本ずつであれ一度に2本以上であれ、そして、速度/帯域幅、信頼性、コスト、プロトコル、伝送媒体、又はその他の特性などの各通信経路の特性の違いにかかわらず、第1のデバイスから第2のデバイスにメッセージを転送するために複数通信経路を使用すること。
・あまり好ましくない通信経路よりも好ましい通信経路の使用を増やすための随意的で動的な通信経路切り替え。
・好ましい通信経路以外の時間、順序、又は手段によってデータ項目が送信される(例:Wi−Fi上でTCP/IPを使用する代わりにGPRS上でMMSを使用して送信される、又は予定されるポーリング時間の合間に送信される)帯域外(OOB)伝送。
・送信されるべきデータ項目の特性に一部基づいて伝送方法が決定される優先メッセージング。
・重複の発生が偶発的であれ意図的であれ、重複するメッセージ及びデータ項目を検出して排除すること。
・送り手が受け手に連絡を取ってメッセージの転送を開始させる「プッシュモード」伝送モデル。
・送り手が受け手に連絡を取り、プルモードセッションを開始させるように受け手に要求するコマンドを内包するメッセージを送信する「協調プッシュモード」伝送モデル。送り手の要求及び受け手のプルモードセッションは、異なる通信経路上で発生することができる。
・一方が通信を開始させることができ尚且つ一方又は両方が他方にメッセージを伝送することができる2つのデバイス間でメッセージを送信するための「ピア・ツー・ピア」(P2P)メッセージ伝送モデル。
・1つ又は複数の指定タスクの割り当てを受け入れる意思がある1人又は複数人のユーザを特定し、それらにタスクを提供するための「告知及び受け入れ」(A&A)メカニズム。
・サーバの助けによって又はよらずに第1のデバイスから第2のデバイスにタスクを転送するためのタスクデリゲート方法。
・タスクのキャンセルを適切なデバイスに通知するためのタスキャンセル配布方法。
・第1のデバイスのカタログと第2のデバイスのカタログとの間の相違を識別及び解消するためのカタログ同期化方法。
・データ項目、データ項目群、デバイス、又はサーバのアクセス、使用、又は変更に対する制限を可能にする柔軟なセキュリティモデルの提供。
Overview Exemplary, exemplary, and non-limiting implementations provide communication systems and communication devices with significant capabilities not previously available that are listed below as non-limiting examples.
-One at a time or more than two at a time, and regardless of the characteristics of each communication path, such as speed / bandwidth, reliability, cost, protocol, transmission medium, or other characteristics Using multiple communication paths to transfer a message from a first device to a second device;
• Optional dynamic communication path switching to increase the use of preferred communication paths over less desirable communication paths.
Data items are sent by time, order, or means other than the preferred communication path (eg, sent or scheduled using MMS over GPRS instead of using TCP / IP over Wi-Fi) Out-of-band (OOB) transmission (sent between polling times).
Priority messaging in which the transmission method is determined based in part on the characteristics of the data item to be transmitted.
• Detect and eliminate duplicate messages and data items, whether duplicates are accidental or intentional.
A “push mode” transmission model in which the sender contacts the receiver and initiates message transfer.
A “cooperative push mode” transmission model in which the sender contacts the receiver and sends a message containing a command requesting the receiver to initiate a pull mode session. The sender's request and the recipient's pull mode session can occur on different communication paths.
A “peer-to-peer” (P2P) message transmission model for sending messages between two devices where one can initiate communication and one or both can send messages to the other.
An “Announcement and Acceptance” (A & A) mechanism for identifying one or more users who are willing to accept assignments for one or more designated tasks and providing tasks to them.
A task delegate method for transferring a task from a first device to a second device with or without the assistance of a server.
A task cancellation distribution method for notifying an appropriate device of task cancellation.
A catalog synchronization method for identifying and resolving differences between the catalog of the first device and the catalog of the second device.
Provide a flexible security model that allows restrictions on access, use, or modification of data items, data items, devices, or servers.

本明細書に記載されるデバイスは、無線デバイス、有線デバイス、エミュレートデバイス、サーバ(TPC)デバイス、及びその他のデバイスを含む。典型的で例示的な技術の態様は、例えば、企業LANに断続的に接続されるノート型パソコン及びPDA、ワイヤレス信号を利用できない場所にあることがあるモバイルデバイス、又は信頼性の高い通信可用性を有さない固定位置デバイスなど、接続性の断続性などに見舞われるあらゆるクラスのデバイスに対して等しく適用可能である。また、本明細書に記載されるように、当業者ならば、本明細書における技術にしたがって任意の数のデバイスが互いに通信し合えることがわかる。   The devices described herein include wireless devices, wired devices, emulated devices, server (TPC) devices, and other devices. Typical exemplary technical aspects include, for example, laptops and PDAs that are intermittently connected to a corporate LAN, mobile devices that may be in locations where wireless signals are not available, or reliable communication availability. It is equally applicable to any class of devices that suffer from connectivity continuity, such as fixed location devices that do not have. Also, as described herein, those skilled in the art will recognize that any number of devices can communicate with each other in accordance with the techniques herein.

データ項目は、通信経路を使用してデバイス間で転送される。通信経路は、デバイスによってサポートされる任意の通信技術からなってよく、非限定例として、従来のセルラ方式若しくはその他のワイヤレステレフォニデータ(例:GPRS、EDGE、EVDO、SMS)、ローカライズドワイヤレスネットワーク(例:ワイヤレスフィデリティ(例:Wi−Fi、802.11x)若しくはBluetooth)、有線データメカニズム(Ethernet、PSTN、シリアル若しくはパラレルなデータケーブル、ダイヤルア
ップモデム、DSLなど)、又はこれらの任意の組み合わせであってメッセージ若しくはメッセージセグメントを1つのデバイスから別のデバイスへ転送する能力を有する追加の若しくはその他のプロトコルを伴う若しくは伴う組み合わせが挙げられる。通信経路は、順次に又は並行して使用され第1のデバイスから第2のデバイスにメッセージ又はメッセージセグメントを転送するのに有効な1つ又は複数の通信技術の実装形態を含む。通信経路は、速度/帯域幅、プロトコル、信頼性、可用性、コスト、又はその他の特性などが異なってよい。典型的で例示的で非限定的な実装形態の各種の実装形態は、特定の通信経路の使用を制限又は促進を、データ項目のタイプ、データ項目のサイズ、データ項目の優先度によって、又はセキュリティ規定による許可若しくは制限によって、又は当業者によって適切であると判断されるその他の任意の特性に基づいて行うことができる。通信経路及びそれらの使用に関する更なる説明は、以下で見られる。
Data items are transferred between devices using a communication path. The communication path may consist of any communication technology supported by the device, including, but not limited to, conventional cellular or other wireless telephony data (eg, GPRS, EDGE, EVDO, SMS), localized wireless networks ( Example: Wireless fidelity (eg Wi-Fi, 802.11x) or Bluetooth), wired data mechanism (Ethernet, PSTN, serial or parallel data cable, dial-up modem, DSL, etc.), or any combination thereof Combinations with or with additional or other protocols that have the ability to transfer messages or message segments from one device to another. The communication path includes one or more implementations of communication technologies that are used sequentially or in parallel to transfer a message or message segment from a first device to a second device. Communication paths may differ in speed / bandwidth, protocol, reliability, availability, cost, or other characteristics. Various implementations of exemplary, exemplary, and non-limiting implementations may limit or facilitate the use of specific communication paths, depending on data item type, data item size, data item priority, or security This can be done by regulatory permission or restriction, or based on any other characteristic deemed appropriate by those skilled in the art. Further explanation regarding communication paths and their use can be found below.

本明細書における技術の典型的で例示的で非限定的な実装形態は、ユーザによって必要に応じて使用される中央設備によってワイヤレスインフラ、モバイルデバイス、及び各種の統合サーバが提供されるホスト型サービスプロバイダビジネスモデルを使用して提供される。このようなやり方での技術の提供は、ユーザがインフラ構成要素の配備及び管理ではなく自身のビジネスに焦点を当てることを可能にする。このアーキテクチャの性質は、異なる企業からの複数のユーザが互いを妨げることなく共通のインフラを透過的に共有することを可能にする。或いは、この技術は、1つの企業がインフラを所有してその従業員及びデバイスに上記インフラへのアクセスを提供する従来のモデルに実装される。当業者ならば、更にその他の適切なモデルも明らかである。   A typical, exemplary, and non-limiting implementation of the technology herein is a hosted service where wireless infrastructure, mobile devices, and various integrated servers are provided by a central facility that is used as needed by the user. Provided using the provider business model. Providing technology in this manner allows users to focus on their business rather than deploying and managing infrastructure components. The nature of this architecture allows multiple users from different companies to transparently share a common infrastructure without interfering with each other. Alternatively, this technology is implemented in a traditional model where one company owns the infrastructure and provides its employees and devices with access to the infrastructure. Still other suitable models will be apparent to those skilled in the art.

本明細書における技術の典型的で例示的で非限定的な実装形態は、一度に1本ずつ(例:複数本の通信経路の順次使用)であれ、一度に2本以上(例:並行使用)であれ、サーバを終端としない通信経路を通じてであれ、複数本の通信経路を使用して、デバイス間におけるメッセージ又はメッセージセグメントの伝送を可能にする。また、この改善されたシステムは、各通信経路の利用可能性が予期せず変化し尚且つ各種の通信経路が異なる容量、信頼性、能力、及び動作方式を有する環境での通信を可能にできるように帯域内伝送及び/又は帯域外伝送を提供する伝送技術をサポートする。1つ又は複数の通信経路が断続的に中断される状態で、利用可能な通信経路を順番に又は並列に用いて、デバイス間の同期化を行われるように、伝送データの調整を利用可能な通信経路上で行う。これは、本システムの少なくとも1つの特質を実装するために必要とされるデータ項目及び/又はコマンドが、損失又は未検出の重複を伴うことなく通信されるように実施される。第1のデバイスは、一部の通信経路に関連した予期不能な遅延を補償するために、又は一部の通信経路によるメッセージ損失の影響を抑えるために、又はユーザに気付かれる伝送遅延を可能な限り減らすために、又はその他の任意の目的のために、特定のメッセージを複数の通信経路を使用して送信することによって意図的に複製することができる。このような伝送による方式で複製されたメッセージ又はデータ項目は、第2のデバイスによって検出され、これらの複製コピーは、重複として削除される。   Typical, exemplary, and non-limiting implementations of the techniques herein are two or more at a time (eg, parallel use), one at a time (eg, sequential use of multiple communication paths). ) Or through communication paths that do not terminate at the server, multiple communication paths are used to enable transmission of messages or message segments between devices. The improved system also enables communication in environments where the availability of each communication path changes unexpectedly and the various communication paths have different capacities, reliability, capabilities, and operating methods. As such, it supports transmission techniques that provide in-band transmission and / or out-of-band transmission. Allows adjustment of transmission data to be synchronized between devices using available communication paths in sequence or in parallel with one or more communication paths interrupted intermittently On the communication path. This is done so that the data items and / or commands required to implement at least one aspect of the system are communicated without loss or undetected duplication. The first device is capable of compensating for unpredictable delays associated with some communication paths, or reducing the effects of message loss due to some communication paths, or transmission delays noticed by the user. In order to reduce as much as possible, or for any other purpose, a particular message can be intentionally replicated by sending it using multiple communication paths. Messages or data items replicated in such a transmission manner are detected by the second device, and these duplicate copies are deleted as duplicates.

図2に示されるように、典型的で例示的で非限定的な現在の実装形態のサーバデバイス(2500a、2500b)(例:TPCデバイス)及びワイヤレスモバイルデバイス(2110a、2110b、2110c)は、複数の方式で互いに接続することができる。例えば、サーバデバイス(2500b)は、テレフォニベースのEDGE通信経路などの単一の通信経路(2600c)を通じてワイヤレスモバイルデバイス(2110c)に接続することができる。或いは、サーバ(TPC)デバイス(2500a)は、EDGE(2600c)、Wi−Fi(2600b)、及びSMS(2600a)などの複数の通信経路(2600a、2600b、2600c)を通じて複数のワイヤレスモバイルデバイス(2110a、2110b、2110c)に接続される。更に、サーバ(TPC)デバイス(2500a)は、単一の通信経路(2600b)を通じて複数のワイヤレスモバイルデバイス(2110b、2110c)に接続される。また、ワイヤレスモバイルデバイス(2110c)は、1本又は複数本の通信経路を使用して複数のサーバ(TPC)デバイス(2300a、2300b)に接続される。更に他の典型的で例示的で非限定的な実装形態では、第1のワイヤレスモバイルデバイス(2110a)は、1つ又は複数のピア・ツー・ピア(P2P)技術を使用し、Bluetooth又はアドホックネットワーキングモードのWi−FiなどのP2P通信経路(2600d)を通して第2のワイヤレスモバイルデバイス(2110b)に接続される。利用可能通信経路の使用は、各経路上をどのタイプのデータが送信されるかを制御するために、セキュリティテンプレートに基づいて制限することができる。例えば、パーツ番号のカタログをパブリック共有Wi−Fi接続を通じて送信することは許容されるが、個人情報である従業員の給与データを送信することは許容されない。このような場合、Wi−Fi通信経路についてのデバイスのセキュリティ規定は、それが低いセキュリティレベルを有することを規定し、パーツ番号データ及び給与データについてのセキュリティ規定は、それらがそれぞれ低レベル及び高レベルのセキュリティを必要とすることを規定すると考えられる。パーツ番号データは、そのセキュリティ要件がWi−Fi経路のセキュリティレベルに一致すると考えられ、したがって、Wi−Fi経路上で送信されてよいが、給与データは、その高レベルのセキュリティ要件によって、Wi−Fi経路を通じて送信されることを禁じられ、したがって、有線のEthernet接続又は暗号化された短距離Bluetoothリンクなどの適切にセキュリティ保証された通信経路が給与システムまで利用可能になるまで保持されると考えられる。   As shown in FIG. 2, typical, exemplary, and non-limiting implementations of current implementations of server devices (2500a, 2500b) (eg, TPC devices) and wireless mobile devices (2110a, 2110b, 2110c) include multiple Can be connected to each other. For example, server device (2500b) may connect to wireless mobile device (2110c) through a single communication path (2600c), such as a telephony-based EDGE communication path. Alternatively, the server (TPC) device (2500a) may be connected to a plurality of wireless mobile devices (2110a) through a plurality of communication paths (2600a, 2600b, 2600c) such as EDGE (2600c), Wi-Fi (2600b), and SMS (2600a). 2110b, 2110c). Further, the server (TPC) device (2500a) is connected to a plurality of wireless mobile devices (2110b, 2110c) through a single communication path (2600b). The wireless mobile device (2110c) is connected to a plurality of server (TPC) devices (2300a, 2300b) using one or a plurality of communication paths. In yet another exemplary, exemplary, and non-limiting implementation, the first wireless mobile device (2110a) uses one or more peer-to-peer (P2P) technologies and uses Bluetooth or ad hoc networking. Connected to the second wireless mobile device (2110b) through a P2P communication path (2600d) such as mode Wi-Fi. The use of available communication paths can be restricted based on a security template to control what type of data is transmitted on each path. For example, it is allowed to send a catalog of part numbers through a public shared Wi-Fi connection, but not to send employee salary data that is personal information. In such a case, the device security provisions for the Wi-Fi communication path stipulate that it has a low security level, and the security provisions for part number data and salary data indicate that they are low and high levels, respectively. It is considered that it stipulates that security is required. The part number data is considered that its security requirements match the security level of the Wi-Fi path, and therefore may be sent over the Wi-Fi path, but the salary data is Wi- It is forbidden to be transmitted over the Fi path and therefore will be held until a properly secured communication path, such as a wired Ethernet connection or an encrypted short range Bluetooth link, is available to the payroll system It is done.

複数の通信経路をサポートすることに加えて、本明細書に記載される技術の典型的で例示的で非限定的な実装形態は、第1のデバイスが自身から第2のデバイスへの伝送を開始させるための手段(「プッシュモード」)を提供する。当業者ならば理解できるように、本明細書に定められ記載される「プッシュモード」の使用は、第1のデバイスが通信経路を使用して伝送を開始して1つ又は複数のメッセージを送信するときに実施される。受信に際し、第2のデバイスは、これらの伝送を受信しそれらのコンテンツを使用してそれらに作用する(例:「コマンド」)又はのちの使用に備えてそれらを(例:ノード若しくはカタログのように)保存する。或いは、デバイスは、「協調プッシュ」モードで動作する。このモードでは、第1のデバイスは、プッシュモードを使用して(1つ又は複数の)データ項目の第1の部分を伝送し、該部分は、同じ又は異なる通信経路を使用して同(1つ又は複数の)データ項目の第2の部分を転送するために第2のデバイスが第1のデバイス又は第3のデバイスのいずれかへの「プルモード」通信を開始させるための要求として第2のデバイスによって(例:コマンドとして又は更なるデータ項目を参照する(1つ若しくは複数の)データ項目として))使用される。使用する通信経路の選択は、それぞれの通信経路及びそれらを通じて移動されるべきデータ項目の1つ又は複数の特性に基づいてなされ、例えば、(1つ若しくは複数の)データ項目の第2の部分の移動をサポートすることはできるがデータ項目群全体についてプッシュモードをサポートするために必要とされる特性には欠ける、又は広帯域幅、高信頼性、若しくは低コストなどのその他の望ましい特性を有する、(1本又は複数本の)通信経路を選択することが挙げられる。本明細書における技術の典型的で例示的な実装形態は、適切な通信手段が利用可能なときに、プルモード、プッシュモード、協調プッシュモード、又はそれらの任意の組み合わせ又は同時に複数を使用することができる。   In addition to supporting multiple communication paths, exemplary exemplary non-limiting implementations of the techniques described herein allow a first device to transmit from itself to a second device. Provides a means to initiate ("push mode"). As will be appreciated by those skilled in the art, the use of “push mode” as defined and described herein allows the first device to initiate transmission using a communication path and send one or more messages. To be implemented. Upon receipt, the second device receives these transmissions and uses them to act on them (eg, “commands”) or to use them for later use (eg, as a node or catalog). To save). Alternatively, the device operates in a “cooperative push” mode. In this mode, the first device transmits the first part of the data item (s) using push mode, which uses the same or different communication paths (1 As a request for the second device to initiate "pull mode" communication to either the first device or the third device to transfer the second portion of the data item (s) Used by the device (eg, as a command or as data item (s) referring to further data items)). The selection of the communication path to use is made based on the respective communication path and one or more characteristics of the data items to be moved through them, eg, the second part of the data item (s) Can support movement but lacks the characteristics required to support push mode for the entire data item set, or has other desirable characteristics such as high bandwidth, high reliability, or low cost ( One or more communication paths may be selected. Exemplary and exemplary implementations of the techniques herein may use pull mode, push mode, cooperative push mode, or any combination thereof or multiple simultaneously when appropriate communication means are available. it can.

状況によっては、プッシュモード伝送を開始するために、第1のデバイスが第2のデバイスのユーザを巻き込んで参加させる必要がある。例えば、第2のデバイスがスリープモードに置かれている場合、又はプッシュモード伝送技術が機能できる場所に第2のデバイスが現時点では位置していない場合、ユーザは、第2のデバイスにそのプッシュモード通信(いわゆる「プッシュレジストリ」)を呼び出させる、振動させる、作成若しくは録音された音声メッセージ若しくは適切で且つ利用可能なその他の信号を再生させる、又は当
業者に明らかなこれらの若しくはその他のプロンプトの何らかの組み合わせなどを発生させる、ページ又はSMSメッセージなどの手段を通して、第2のデバイスをアクティブにする又は配置しなおすように促される。
In some situations, it is necessary for the first device to involve and participate in the user of the second device in order to initiate push mode transmission. For example, if the second device is placed in sleep mode, or if the second device is not currently located where push mode transmission technology can function, the user can send the push mode to the second device. Any of these or other prompts apparent to those skilled in the art, invoking communication, so-called “push registries”, vibrating, producing or recording voice messages or other appropriate and available signals You are prompted to activate or reposition the second device through means such as a page or SMS message that generates a combination or the like.

本明細書における典型的で例示的な実装形態は、それぞれが独自の特性(例:コスト、帯域幅、プッシュモードサポート、伝送遅延、信頼性、可用性など)を有する代わりの通信経路の使用も提供する。本明細書における典型的で例示的な実装形態は、1本又は複数本の通信経路を一度に使用すること、利用可能な通信経路間で適宜切り替えを行うこと、最も適した機能を求めて異種の通信経路を使用すること、複数本の通信経路を使用してデータ項目を重複して送信すること、又は当業者に明らかなその他の手段によって、コスト、スループット、信頼性、可用性、伝送遅延、インタラクティブ応答性、又はその他などの、デバイスについての1つ又は複数の通信特質を随意に且つ動的に最適化できるように複数通信経路を管理する手段を提供する。これらの拡張能力は、例えば、デバイスが、特定の通信経路を使用した通信が損失したときに代わりの通信経路に切り替えること、又は複数通信経路を同時に使用することによって全体のスループットを高めることを可能にすることができる。   The exemplary and exemplary implementations herein also provide for the use of alternative communication paths, each with its own characteristics (eg, cost, bandwidth, push mode support, transmission delay, reliability, availability, etc.) To do. The exemplary and exemplary implementations herein use one or more communication paths at a time, switch between available communication paths as appropriate, and seek out the most appropriate function. Cost, throughput, reliability, availability, transmission delay, transmission of data items using multiple communication paths, or other means obvious to those skilled in the art, Means are provided for managing multiple communication paths so that one or more communication characteristics for a device, such as interactive responsiveness, or the like, can be optimized arbitrarily and dynamically. These extended capabilities, for example, allow a device to switch to an alternate communication path when communication using a specific communication path is lost, or to increase overall throughput by using multiple communication paths simultaneously Can be.

典型的な実装形態は、典型的なアーキテクチャ内で動作する新しい方法に加えて、多数の新しい接続経路及び接続経路トポロジをサポートする。これらの新しい技術の幾つかの例が、以下で説明される。   A typical implementation supports a number of new connection paths and connection path topologies in addition to new methods that operate within a typical architecture. Some examples of these new technologies are described below.

一部の典型的で例示的で非限定的な実装形態では、通信経路は、その管理及び使用のための更なるメカニズムを規定するように構成される。例えば、通信経路を通じて送信されるデータ項目は、暗号化、圧縮、チェックサムまたはその他のメカニズムの使用を通して改ざん若しくは損傷から保護される。このような更なる随意のメカニズムは、第1のデバイスから第2のデバイスへの通信経路の一部で使用されてその他の部分では使用されない、又はそのような通信経路の全体で使用される。複数のこのような随意のメカニズムが、同時に使用される。例えば、チェックサムが計算され、データ項目に追加されたとき、それらのデータ項目及びチェックサムは、次いで、圧縮及び伝送され、そのとき、それらの圧縮されたデータ項目及びチェックサムは、通信経路のセグメント上を移送されるときに露見しないように、その通信経路セグメントによって暗号化及び復号化を施される。一部の典型的な実装形態では、暗号化又は改ざんチェックのようなデータ保護メカニズムの使用を決定するために、セキュリティ規定が使用される。例えば、高セキュリティで送信するときは、データは、暗号化され、改ざんの有無をチェックされる。低セキュリティでデータを送信するときは、このような手段は、計算のオーバーヘッドを抑えるために省略される。暗号化、改ざんチェック、又はその他のデータ保護方法の使用によって、通信経路の有効セキュリティレベルを上げることができる。例えば、パブリック共有Wi−Fiホットスポットは、他者によってデータを傍受される可能性ゆえに、低セキュリティの通信経路であるが、もしデータが強力に暗号化されるならば、中程度の又はひいては高いセキュリティを必要とするデータをこのような経路を通じて送信することが可能である。   In some exemplary, exemplary, and non-limiting implementations, the communication path is configured to define additional mechanisms for its management and use. For example, data items transmitted over a communication path are protected from tampering or damage through the use of encryption, compression, checksums or other mechanisms. Such further optional mechanisms are used in part of the communication path from the first device to the second device and not in other parts, or are used throughout such communication path. Several such optional mechanisms are used simultaneously. For example, when a checksum is calculated and added to a data item, the data item and checksum are then compressed and transmitted, when the compressed data item and checksum are Encryption and decryption are performed by the communication path segment so as not to be exposed when transported over the segment. In some typical implementations, security provisions are used to determine the use of data protection mechanisms such as encryption or tamper checking. For example, when transmitting with high security, the data is encrypted and checked for tampering. When transmitting data with low security, such means are omitted to reduce computational overhead. The use of encryption, tamper checking, or other data protection methods can increase the effective security level of the communication path. For example, a public shared Wi-Fi hotspot is a low security communication path because of the possibility of data being intercepted by others, but medium or even high if the data is strongly encrypted Data requiring security can be transmitted through such a route.

各種の利用可能通信経路を使用することによって、本明細書における典型的で例示的な技術は、ピア・ツー・ピア(P2P)メッセージ交換と、帯域外通信と、サーバ(TPC)デバイスの助けによる又はよらない第1のデバイスから第2のデバイスへのタスクのデリゲートと、複数のデバイスへの有効タスクの告知、応答の収集、告知に応答するもののなかからの、タスクの割り当て先となる1つ又は複数のデバイスの選択、及び選択されたデバイスへのタスクの割り当てと、サーバ(TPC)の介在を受けた又は受けないデバイス間におけるカタログデータ項目の同期化と、などを可能にする更なる能力と機能とを提供する。   By using various available communication paths, exemplary exemplary techniques herein are facilitated by peer-to-peer (P2P) message exchange, out-of-band communication, and server (TPC) devices. A task delegate from the first device to the second device that does not depend on it, and a task assignment destination from among those responding to notifications of valid tasks, collecting responses, and notifications to a plurality of devices Or additional capabilities that allow selection of multiple devices and assignment of tasks to selected devices, synchronization of catalog data items between devices with or without server (TPC) intervention, etc. And provide functionality.

典型的で例示的で非限定的な現在の実装形態は、デバイス間におけるデジタルデータのブロックの送信を可能にする任意のデータ転送の技術又は組み合わせ技術(通信経路)を通じて実装される。一部の典型的で非限定的な例は、GPRS、EDGE、Wi−Fi、又はEthernetを通じたTCP/IPプロトコル、テレフォニデータ通信経路上のSMS又はMMS、及びBluetooth又はWi−Fi「アドホック」ネットワーキングなどのピア・ツー・ピアリンクを含むが、当業者ならば、現時点で存在しているものであれ、将来的に開発されるものであれ、その他の技術によって置き換え可能であることが容易にわかる。   Exemplary, exemplary, and non-limiting current implementations are implemented through any data transfer technique or combination technique (communication path) that allows transmission of blocks of digital data between devices. Some typical non-limiting examples include TCP / IP protocol over GPRS, EDGE, Wi-Fi, or Ethernet, SMS or MMS over telephony data communication paths, and Bluetooth or Wi-Fi “ad hoc” networking. Including peer-to-peer links, etc., but those skilled in the art will readily recognize that it can be replaced by other technologies, whether currently present or developed in the future .

セキュリティ規定の例
典型的な実装形態は、「セキュリティ規定」の使用を伴う柔軟で且つ拡張可能なセキュリティ能力をサポートする。セキュリティ規定は、一部特定の又は限られた範囲の値を有するバイトの順序付き配列であり、データ項目、データ項目群、デバイス、又はサーバなどのエンティティに関連付けられ、該関連付けられたエンティティのアクセス、使用、又は変更に対する許可及び/又は制約を規定するために使用される。
Security Specification Example A typical implementation supports a flexible and extensible security capability with the use of a “security specification”. A security specification is an ordered array of bytes that has some specific or limited range of values and is associated with an entity such as a data item, data item group, device, or server, and access to the associated entity Used to define permissions and / or restrictions on use, or change.

セキュリティ規定は、各種の方式でエンティティに関連付けられる。データ項目(例:ノード)などの一部のエンティティの場合、セキュリティ規定は、エンティティに、その通常の特質として埋め込まれる。通信経路、ユーザ、又はデバイス/サーバなどのその他のエンティティの場合、セキュリティ規定は、エンティティから離れて位置しており、名前、ID、又はエンティティに適用可能なセキュリティ規定の発見若しくは識別を可能にするその他の参照によって、エンティティに関連付けられる。エンティティに埋め込まれない場合のセキュリティ規定は、カタログ、BLOBノード、外部データベース、ファイル、又は当業者によって適切であると判断されるその他の場所などに保存される。所定のエンティティについて外部に位置するセキュリティ規定を見つけるために使用される方法は、選択された保存の場所及び方法に依存する。例えば、ユーザ、デバイス、又は通信経路などのエンティティのためのセキュリティ規定がリレーショナルデータベースに保存されている場合、そのセキュリティ規定は、そのセキュリティ規定を含む記録に対するキーとしてのエンティティIDを伴って保存され、該エンティティIDを使用することでセキュリティ規定の検索できる。当業者にならば、その他の保存及び検索の方法が自明である。   Security rules are associated with entities in various ways. For some entities, such as data items (eg, nodes), security specifications are embedded in the entity as its normal attributes. In the case of communication paths, users, or other entities such as devices / servers, the security provision is located away from the entity and allows for the discovery or identification of a name, ID, or security provision applicable to the entity. Associated with an entity by other references. Security provisions that are not embedded in the entity are stored in catalogs, BLOB nodes, external databases, files, or other locations deemed appropriate by those skilled in the art. The method used to find an externally located security policy for a given entity depends on the selected storage location and method. For example, if a security policy for an entity such as a user, device, or communication path is stored in a relational database, the security policy is stored with the entity ID as a key to the record containing the security policy, By using the entity ID, security regulations can be searched. Other storage and retrieval methods will be apparent to those skilled in the art.

セキュリティ規定は、様々な方式で作成される。セキュリティ規定がノードなどのエンティティに埋め込まれる場合、そのセキュリティ規定は、ノードを作成するFDLの規定から、ノード作成プロセスの一環として生成されるなどのように、エンティティを生成する方法によって生成される。一部の典型的実装形態では、セキュリティ規定は、FDL規定からであれそれ以外からであれ、エンティティとは別に作成され、別のステップでエンティティに挿入される。セキュリティ規定が、その関連付け先であるエンティティとは別に作成される場合、セキュリティ規定の作成の方法は、FDL規定を利用する、又はユーザコマンドラインオプションやグラフィカルユーザインターフェースウィジェット(例:ボタン、テキストフィールド、チェックボックス、ラジオボタン、ドロップダウンリスト、メニューなど)などのその他の入力からセキュリティ規定を作成可能なソフトウェアアプリケーションを利用する、テキスト、XML、若しくはSQLなどのその他のフォーマットによるセキュリティ規定の記述を、スクリプト若しくはテンプレートの使用を通じて利用する、又は既存のセキュリティ規定を参照にする、又はこれらのいずれか若しくは全部の組み合わせを使用することができる。例えば、MySQLなどのリレーショナルデータベースに保存されるべきセキュリティ規定は、グラフィカルユーザインターフェースを通じたユーザ入力に基づいて作成することができ、これらの入力は、SQLコマンドの保存テンプレートからSQLコマンドを作成するスクリプトのコマンドライン呼び出しを生成するために使用され、結果得られたSQLコマンドは、MySQLデータベースソフト
にMySQLデータベース内にセキュリティ規定の記録を作成させるために使用される。
Security rules are created in various ways. When security rules are embedded in an entity such as a node, the security rules are generated by a method of generating an entity, such as generated from the FDL rules for creating a node as part of the node creation process. In some exemplary implementations, the security specification is created separately from the entity, whether from the FDL specification or otherwise, and inserted into the entity in a separate step. If the security policy is created separately from the entity with which it is associated, the security policy can be created using FDL rules or by using user command line options or graphical user interface widgets (eg buttons, text fields, Scripts describing security rules in other formats such as text, XML, or SQL, using software applications that can create security rules from other inputs such as check boxes, radio buttons, drop-down lists, menus, etc. Alternatively, it can be utilized through the use of a template, or it can refer to existing security provisions, or a combination of any or all of these can be used. For example, security rules to be stored in a relational database such as MySQL can be created based on user input through a graphical user interface, and these inputs can be generated from a script that creates SQL commands from a SQL command storage template. Used to generate command line calls and the resulting SQL command is used to cause the MySQL database software to create a security specification record in the MySQL database.

典型的なセキュリティ規定は複数の要素からなり、関連エンティティのID(セキュリティ規定がエンティティに埋め込まれない場合)、関連エンティティのためのセキュリティレベル規定、関連エンティティによって保持されるセキュリティタグ、及び関連エンティティに対して保持、使用、変更、転送、又はその他のアクションの実施を許可されるために第2のエンティティが保持していなければならない1つ又は複数のタグを記述したゼロ又は1つ以上のルールを含む。   A typical security specification consists of multiple elements, including the ID of the related entity (if the security specification is not embedded in the entity), the security level specification for the related entity, the security tag held by the related entity, and the related entity Zero or more rules describing one or more tags that must be held by the second entity in order to be allowed to hold, use, modify, transfer, or perform other actions Including.

典型的なセキュリティ規定が、図15に示されている。典型的なセキュリティ規定を構成する項目には、随意の関連エンティティ(associated entity)ID(15100)、関連エンティティセキュリティレベル(15200)、関連エンティティタグ(15300)、及びゼロ又は1つ以上のアクション/ルールペア(15405/15410、15415/15420、15425/15430)を含む随意のアクション/ルール組み合わせセクション(15400)を含む。   A typical security policy is shown in FIG. The items that make up a typical security policy include an optional associated entity ID (15100), an associated entity security level (15200), an associated entity tag (15300), and zero or more actions / rules. It includes an optional action / rule combination section (15400) containing pairs (15405/15410, 15415/15420, 15425/15430).

関連エンティティID(15100)は、関連エンティティとは別に保存されるセキュリティ規定に存在し、関連エンティティに埋め込まれるセキュリティ規定には随意として存在する。関連エンティティID(15100)は、特定のセキュリティ規定インスタンスに関連付けられたエンティティを特定するために使用される。関連エンティティID(15100)は、デバイス若しくはサーバのID、通信経路の指定、ユーザ名若しくはログインID、ノードID、カタログID、又は当業者によって有用であると判断されうるその他のエンティティ識別子を含むことができる。   The related entity ID (15100) is present in a security rule stored separately from the related entity, and is optionally present in the security rule embedded in the related entity. The related entity ID (15100) is used to identify the entity associated with a particular security policy instance. The related entity ID (15100) may include a device or server ID, a communication path designation, a user name or login ID, a node ID, a catalog ID, or other entity identifier that may be deemed useful by those skilled in the art. it can.

関連エンティティセキュリティレベル(15200)は、関連エンティティタグ(15300)又はアクション/ルールペア(15400)によって記述されるようなセキュリティ規定の詳細にかかわらず、セキュリティ規定をグループ分けするための一般的なセキュリティ分類を指定する。一部の典型的で例示的な実装形態では、関連エンティティセキュリティレベル(15200)は、大きい値ほど高いセキュリティレベルを示し、小さい値ほど低いセキュリティレベルを示す数値である。その他の典型的で例示的な実装形態では、関連エンティティセキュリティレベル(15200)は、「高」、「中」、「低」など、いずれかの指標が高いセキュリティレベルを示し、その他のいずれか指標が低いセキュリティレベルを示す階層を想定した、固定のセキュリティレベル指標群の1つである。選択される実装形態にかかわらず、高いセキュリティレベルのセキュリティ規定は、その高いセキュリティレベルを受信エンティティが有しているときは、より低いセキュリティレベルを有するセキュリティ規定に適合可能(compatible)であると見なされるが、受信エンティティが低いセキュリティレベルを有しているときはそうは見なされない。これらの制約は、データが、そのセキュリティ規定によって要求されるよりも安全なエンティティに移る又は安全な通信経路を通ることはできるが、それよりも安全ではないエンティティに移る又は安全ではない通信経路を通ることはできないことを保証する。データが転送されるには、送信エンティティ、受信エンティティ、使用される通信経路、及び転送されるデータの全てのセキュリティ規定が適合していなければならない。   The related entity security level (15200) is a general security classification for grouping security rules, regardless of the details of the security rules as described by the related entity tags (15300) or action / rule pairs (15400). Is specified. In some exemplary exemplary implementations, the related entity security level (15200) is a number that indicates a higher security level with a higher value and a lower security level with a lower value. In other exemplary exemplary implementations, the related entity security level (15200) indicates that one of the indicators indicates a high security level, such as “high”, “medium”, “low”, and any other indicator. Is a fixed security level index group that assumes a hierarchy indicating a low security level. Regardless of the implementation chosen, a security policy with a higher security level is considered compatible with a security policy with a lower security level when the receiving entity has that higher security level. However, this is not considered when the receiving entity has a low security level. These constraints allow data to move to a safer entity or take a safer communication path than required by its security regulations, but to move to a less secure entity or to a less secure communication path. Guarantee that you cannot pass. In order for data to be transferred, the sending entity, the receiving entity, the communication path used, and all security regulations for the transferred data must be met.

関連エンティティタグ(15300)は、関連エンティティセキュリティレベル(15200)項目によって提供されるよりも細かいセキュリティアクセス許可の規定に使用される。関連エンティティタグ(15300)は、ゼロ又は1つ以上の「タグ」を含む。タグは、典型的な実装形態を背景にしたときに特定の意味を有する数字、文字、又はその他のデータオブジェクトである。セキュリティ規定の関連エンティティタグ(15300)項目には、任意の数及びタイプのタグを含めることができる。これらは、後述のように、第2のセキュリティ規定のアクション/ルールペア(15400)と組み合わされたとき
に関連エンティティに特定の一連の許可又は制約を提供するために使用される。
The related entity tag (15300) is used to define finer security permissions than provided by the related entity security level (15200) item. The related entity tag (15300) includes zero or more “tags”. A tag is a number, letter, or other data object that has a specific meaning when backed by a typical implementation. Any number and type of tags can be included in the related entity tag (15300) item of the security provision. These are used to provide a specific set of permissions or constraints to related entities when combined with the second security stipulated action / rule pair (15400), as described below.

セキュリティ規定は、ゼロ又は1つ以上のアクション/ルールペア(15400)を含むことができる。第1のエンティティのセキュリティ規定内のルール(15410、15420、15430)は、指定のアクション(15405、15415、15425)を実行する目的に対して第2のエンティティが第1のエンティティと適合可能であると見なされるために、第2のエンティティのセキュリティ規定に含まれなければならない又は含まれることができない関連エンティティタグ(15300)を規定するために使用される。アクション(15405、15415、15425)は、典型的で例示的で非限定的な実装形態を背景としたときに特定の意味を有する数字、文字、又はその他のデータオブジェクトを含み、実行可能な各種のアクション(特定のデータ項目を保持する、データ項目を別のデバイスに転送する、ノード群を実行する、デバイス上のカタログを更新するなど)を指定するために使用される。指定可能な一連の特定のアクションは、実装形態に依存する。ルール(15410、15420、15430)は、第2のエンティティが第1のエンティティと適合可能であるために、第2のエンティティの関連エンティティタグ(15300)内になければならない又はあってはならない1つ又は複数のタグを規定する。ルールは、当業者によく知られた方式でタグの組み合わせ又はタグの欠如を任意に指定することを可能にするブール表現である。例えば、第2のエンティティが、マシンのメインテナンスが必要な旨の警告などの関連のアクションを実行する目的と適合可能であるためには、第2のエンティティが「MAINTENANCE」タグ及び「MANAGER」タグを保持していなければならないが「DIRECTOR」タグは保持してはいけないことをルールで規定できる。このようなルールは、このような警告がメインテナンスの取締役(director)に送信されることは阻止するが、メインテナンス部門の別の管理者(manager)に送信されることは許可すると考えられ、すると、管理者は、例えば、マシンの修理にあたらせるためにタスクを作成して作業員に割り当てることができる。   A security policy may include zero or more action / rule pairs (15400). The rules (15410, 15420, 15430) in the security provisions of the first entity allow the second entity to be compatible with the first entity for the purpose of performing the specified action (15405, 15415, 15425) In order to be considered, it is used to define an associated entity tag (15300) that must or cannot be included in the security specification of the second entity. Actions (15405, 15415, 15425) include various numbers, characters, or other data objects that have specific meanings in the context of a typical, exemplary, non-limiting implementation, Used to specify actions (keep specific data items, transfer data items to another device, execute nodes, update catalog on device, etc.). The set of specific actions that can be specified depends on the implementation. The rule (15410, 15420, 15430) is one that must or must not be in the related entity tag (15300) of the second entity in order for the second entity to be compatible with the first entity. Or, specify a plurality of tags. A rule is a Boolean expression that allows arbitrarily specifying a combination of tags or lack of tags in a manner well known to those skilled in the art. For example, in order for a second entity to be compatible with the purpose of performing a related action, such as a warning that machine maintenance is required, the second entity may include a “MAINTENANCE” tag and a “MANAGER” tag. A rule can specify that the "DIRECTOR" tag must be retained but not retained. Such a rule would prevent such warnings from being sent to the maintenance director, but would allow it to be sent to another manager in the maintenance department, For example, the administrator can create a task and assign it to a worker to repair the machine.

ルールの評価を推進するアクション/ルールペア(15400)及び関連エンティティタグ(15300)は、関連エンティティセキュリティレベルが適合可能である場合にのみチェックされる。これらは、割り当てられたセキュリティレベルによって指定された適合性に対する制約を覆すために使用することはできない。これらは、適合可能なセキュリティレベル関係内で細かい適合性の管理を提供するために使用することができ、例えば、管理者が自分の監督下にある従業員に関するデータを人材システムから受信することは許可するが同じ管理者が自分の監督下にない従業員に関するデータを受信することは許可しない、又は作業員が自分に割り当てられたとあるタスクをキャンセルすることは許可するがその他のタスクのキャンセルは許可しない、などである。セキュリティレベルの割り当て、並びに各種エンティティに対するタグ及びアクション/ルールペアを注意深く使用することによって、データの移動及び使用のあらゆるパターン、データの移動の方法、並びにデータの移動又は使用に対する制約を確立することができる。   Action / rule pairs (15400) and related entity tags (15300) that drive the evaluation of rules are only checked if the related entity security level is compatible. They cannot be used to overturn the conformance constraints specified by the assigned security level. These can be used to provide fine conformance management within a conformable security level relationship, for example, when an administrator receives data about an employee under his supervision from a talent system Allow but not allow the same manager to receive data about employees who are not under his / her supervision, or allow workers to cancel certain tasks assigned to them but not cancel other tasks Do not allow. By carefully using security level assignments and tags and action / rule pairs for various entities, it is possible to establish any pattern of data movement and use, methods of data movement, and constraints on the movement or use of data. it can.

通信方法の例
典型的な先行技術デバイスによってサポートされるプルモードの動作に加えて、典型的なデバイスは、プッシュモード、協調プッシュモード、帯域外伝送、及び通信経路切り替えをサポートすることができる。
Examples of Communication Methods In addition to pull mode operation supported by typical prior art devices, a typical device can support push mode, cooperative push mode, out-of-band transmission, and communication path switching.

[ピア・ツー・ピア通信]
前述のように、ピア・ツー・ピア(P2P)通信は、サーバ又はその他のデバイスによって通信を可能にする必要性を伴わない、2つ又は3つ以上のデバイス間における直接的な接続に関わる。この接続のモードをサポートできるものに、Bluetooth、又は「アドホック」モードでのWi−Fiなどの、複数の技術がある。一部の実施形態では、P2Pは、ひとまとまりの作業を表わすデータ項目を第1のデバイスが第2のデバイスに
送信することを可能にするなどのように、サーバに接続する必要なくデバイス間におけるメッセージ及びメッセージセグメントの伝送を可能にするために使用される。これは、監督者が部下にタスクを割り当てることを可能にするため又は作業員が同僚にタスクを引き渡すためなどのように、多くのやり方で有利である。
[Peer-to-peer communication]
As mentioned above, peer-to-peer (P2P) communication involves a direct connection between two or more devices without the need to enable communication by a server or other device. There are multiple technologies that can support this mode of connection, such as Bluetooth or Wi-Fi in "ad hoc" mode. In some embodiments, P2P can be used between devices without having to connect to a server, such as allowing a first device to send data items representing a piece of work to a second device. Used to enable transmission of messages and message segments. This is advantageous in many ways, such as to allow supervisors to assign tasks to subordinates or for workers to deliver tasks to colleagues.

P2P通信は、また、サーバデバイスへの利用可能通信経路を有するデバイスが、このような接続性を持たないモバイルデバイスのために「データ項目キャッシュ」として機能するためにも有利である。例えば、有線Ethernet接続などの高速接続経路を有する第1のデバイスにデータ項目が送信され、位置又は信号遮蔽などの環境的要因ゆえにサーバに対する接続性を有さない第2のデバイス又はその他のデバイスのために保持される。第2のデバイス又はその他のデバイスは、それらのデータ項目の第2のデバイス又はその他のデバイスへの転送のために、Bluetooth、又は「アドホック」モードでのWi−FiなどのP2P技術によって、第1のデバイスに接続することができる。第2のデバイス又はその他のデバイスからサーバデバイスに送信されなければならないデータ項目は、第1のデバイスに送信される。第1のデバイスは、それらのデータ項目を、別の通信経路、又は以下で説明される方法によるなど適切であると判断されるその他の接続によって、サーバに転送する。   P2P communication is also advantageous because devices with available communication paths to the server device function as a “data item cache” for mobile devices that do not have such connectivity. For example, a data item is transmitted to a first device having a high-speed connection path, such as a wired Ethernet connection, and a second device or other device that does not have connectivity to the server due to environmental factors such as location or signal shielding. Hold for. The second device or other device may receive the first by means of P2P technology, such as Bluetooth or Wi-Fi in “ad hoc” mode, for the transfer of their data items to the second device or other device. Can be connected to any device. Data items that must be transmitted from the second device or other devices to the server device are transmitted to the first device. The first device forwards the data items to the server via another communication path or other connection as deemed appropriate, such as by the method described below.

P2Pを使用してデバイス間で通信が開始されるとき、それらのデバイスは、互いを認識及び発見する方法を有してなければならない。一部の典型的な実装形態では、これは、情報がカタログの形態でデバイスに配布されることによって達成される。Bluetooth既知のデバイスID、アドホックWi−Fiネットワークの名称及びアドレス、並びにデバイス認証材料はもちろん、P2P通信方法を使用しているデバイス間における発見、接続、及び認証に有用なその他の情報を含有するカタログは、サーバによって配布及び更新され、必要になるまでデバイスに保存される。或いは、第1のデバイスが、アドホックWi−Fiネットワーク又はBluetoothデバイスなどの通信経路を認識するとき、第1のデバイスのユーザは、上記通信経路の使用を許可するように、又はこのような経路を割り当てるための特性(例:通信経路を動的に選択するために使用される重み付け係数)を指定するように、又は上記通信経路を使用するために必要とされる認証材料(例:ユーザ名、パスワード、若しくはクレジットカード番号)を提供するように、促されることがある。通信経路についてのセキュリティ規定は、大抵の場合、サーバによって供給される。適切に特権付与されたセキュリティ規定がユーザに関連付けられているときは、ユーザも、通信経路又はその他のエンティティについてのセキュリティ規定情報を供給することができる。   When communication is initiated between devices using P2P, the devices must have a way to recognize and discover each other. In some typical implementations, this is accomplished by distributing information to devices in the form of a catalog. Catalog containing Bluetooth known device ID, ad hoc Wi-Fi network name and address, and device authentication material as well as other information useful for discovery, connection, and authentication between devices using P2P communication methods Are distributed and updated by the server and stored on the device until needed. Alternatively, when the first device recognizes a communication path such as an ad hoc Wi-Fi network or a Bluetooth device, the user of the first device may permit the use of the communication path or such a path. Authentication material (eg, username, etc.) required to specify characteristics for assignment (eg, weighting factor used to dynamically select a communication path) or to use the above communication path You may be prompted to provide a password or credit card number. Security provisions for communication paths are often supplied by the server. When properly privileged security rules are associated with the user, the user can also provide security policy information for the communication path or other entity.

[プッシュモード及び協調プッシュモード]
図3のフローチャートに示されるように、プッシュモードは、協調プッシュモード通信を実装できるようにデータ項目の送信及びコマンドの送信の両方を行うために使用される。記載される典型的な手続きは、SMSメッセージを受信可能であり尚且つWi−Fiホットスポットに位置するときにWi−Fiリンクを確立可能である典型的なデバイスにデータ項目を送信することを含む。典型的なデバイスは、データ項目が送信されなければならない時点でWi−Fiホットスポットに位置していない、そのIPアドレスが送り手に知られていない、又はデバイスへの接続を阻むファイアウォール、ルータ、若しくはその他のコンポーネントがある、のいずれかである。
[Push mode and cooperative push mode]
As shown in the flowchart of FIG. 3, push mode is used to both send data items and send commands so that cooperative push mode communication can be implemented. The exemplary procedure described includes sending data items to an exemplary device that can receive SMS messages and that can establish a Wi-Fi link when located at a Wi-Fi hotspot. . A typical device is not located at a Wi-Fi hotspot when a data item must be sent, its IP address is unknown to the sender, or a firewall, router, Or there are other components.

一実施形態では、デバイスへのデータ項目の送信における第1のステップは、送信されるデータ項目の特性を決定することである(3010)。SMSは、帯域幅が非常に限られ尚且つメッセージサイズの制限があり、これは、大きな伝送を一連のセグメントに分割し、各セグメントを別々のSMSメッセージで送信することを必要とする可能性がある。SMSは、送信されるメッセージの数によってコストが変わることがあるので、多くの場
合、SMSを使用して送信するデータ項目の数を制限することが望まされる。
In one embodiment, the first step in transmitting the data item to the device is determining 3010 the characteristics of the transmitted data item. SMS has very limited bandwidth and message size limitations, which may require dividing a large transmission into a series of segments and sending each segment in a separate SMS message. is there. Since SMS can vary in cost depending on the number of messages sent, it is often desirable to limit the number of data items sent using SMS.

送信されるべきデータ項目が、1つのSMSメッセージに収めるのに十分な小ささである場合は、又はその他の理由でSMSを使用して送信されるべきであると判断される場合(3020)、データ項目を含む1つ又は複数のSMSメッセージが構築され(3030)、デバイスに送信され(3040)、プロセスが完了する。   If the data item to be sent is small enough to fit in one SMS message, or if it is determined that it should be sent using SMS for other reasons (3020), One or more SMS messages containing data items are constructed (3030) and sent to the device (3040), completing the process.

送信されるべきデータ項目が、SMSを使用して送信するのに適していないと判断される場合(3020)は、プッシュモードではなく協調プッシュモードが使用され、通信要求コマンド(後述される)が構築されてSMSメッセージ内に配され(3050)、該メッセージは、次いで、デバイスに送信され(3040)、プロセスが完了する。後者の場合、実際のデータ項目は、デバイスが通信要求コマンドに応答し、プルモード通信セッションを実施するときに伝送される。これは、図4(4100)に概述され、ここでは、通信要求メッセージは、サーバからデバイスに送信される(4110)。デバイスは、Wi−Fiなどの適切な通信経路上にプルモード接続を確立することによって応答し(4120)、サーバは、この通信経路を使用して待機データ項目をデバイスに送信する(4130)。当業者にならば明らかなように、通信要求コマンドを運ぶためにSMSを使用することは、例示に過ぎず、デバイスへのプッシュモードが可能な任意の通信経路で置き換え可能である。例えば、MMSメッセージ、既存のP2P接続又はWi−Fi接続、任意の利用可能インターフェース上のTCP/IPがある(例:ソケット接続を通したTCPパケット、UDPパケット、IPv6やIPv4あるいはその他のWi−Fi上のプロトコルを使用したマルチキャストパケット若しくはブロードキャストパケット、有線EthEernetインターフェースへのBluetoothリンク、SLIPやPPP若しくはその他のプロトコルを使用したダイヤルアップモデム)。   If it is determined that the data item to be transmitted is not suitable for transmission using SMS (3020), the cooperative push mode is used instead of the push mode, and a communication request command (described later) is issued. Constructed and placed in an SMS message (3050), which is then sent to the device (3040) to complete the process. In the latter case, the actual data item is transmitted when the device responds to the communication request command and performs a pull mode communication session. This is outlined in FIG. 4 (4100), where a communication request message is sent from the server to the device (4110). The device responds by establishing a pull mode connection on an appropriate communication path, such as Wi-Fi (4120), and the server uses this communication path to send a wait data item to the device (4130). As will be apparent to those skilled in the art, the use of SMS to carry communication request commands is exemplary only and can be replaced with any communication path that allows a push mode to the device. For example, there are MMS messages, existing P2P connections or Wi-Fi connections, TCP / IP on any available interface (eg TCP packets through socket connections, UDP packets, IPv6 or IPv4 or other Wi-Fi Multicast or broadcast packets using the above protocol, Bluetooth link to the wired Ethernet interface, dial-up modem using SLIP, PPP or other protocols).

任意の形態の通信と同様に、(サーバであれ、モバイルデバイスであれ、又はその他のデバイスであれ)第1のデバイスは、第2のデバイスにどのように連絡を取るかを知るための情報を有していなければならない。一部の典型的な実装形態では、デバイス自身のユーザによって、又はサーバデバイスがカタログ若しくはその他の手段を使用して最新のアドレス及びその他の必要なデータ項目で定期的に更新することによって、第1のデバイスが、第2のデバイスのアドレスやサポートされている通信経路などに関する所要のデータを有するように構成される。その他の典型的実装形態では、第1のデバイスは、LDAP(Lightweight Directory Access Protocol)若しくはDNS(Domain Name System)などの既知のサービスから、又はARP(Address Resolution Protocol)などと同様に要求をブロードキャストし、第2のデバイス若しくは異種のデバイスから応答を受信することによって、第2のデバイスに関する所要の情報を得る。一部の典型的な実装形態では、アドレス及びその他の所要の情報は、オペレータがデータ項目を入力することを通じて手動でサーバに提供され、一方で、その他の典型的な実装形態では、デバイスは、ダイナミックDNS(Dynamic DNS)、カタログ更新、又は当業者によって有効であると判断されるその他の方法などの方法を使用して、自身のアドレス及びその他の所要の情報に関する最新の情報にサーバを自動的に更新する。デバイスは、TCP/IPアドレスを決定するためにDNSを使用する、及びSMSアドレッシング情報のために保存カタログを使用するなどのように、異種のデバイスに関するアドレス又はその他の必要な情報を決定するために、複数の情報源を使用することができる。   As with any form of communication, the first device (whether it is a server, mobile device, or other device) has information to know how to contact the second device. Must have. In some exemplary implementations, the first is either by the device's own user or by the server device periodically updating with the latest address and other required data items using a catalog or other means. Are configured to have required data regarding the address of the second device, supported communication paths, and the like. In other exemplary implementations, the first device broadcasts a request from a known service, such as Lightweight Directory Access Protocol (LDAP) or Domain Name System (DNS), or similar to ARP (Address Resolution Protocol). The required information about the second device is obtained by receiving a response from the second device or a different device. In some typical implementations, the address and other required information is provided to the server manually through an operator entering data items, while in other typical implementations the device is Using methods such as dynamic DNS (DNS), catalog updates, or other methods deemed to be valid by those skilled in the art, the server is automatically kept up to date with respect to its address and other required information. Update to To determine the address or other required information about disparate devices, such as using DNS to determine TCP / IP addresses and using a stored catalog for SMS addressing information Multiple information sources can be used.

[帯域外伝送(OOB)]
複数通信経路能力は、帯域外(OOB)伝送の更なる機会を提供する。帯域外伝送では、好ましい経路以外の通信経路を通して又は予定されるポーリング期間若しくは定期的な連絡以外の時間にデータ項目が交換される。一部の実施形態では、OOBは、高優先度伝送を提供するために使用される。高優先度伝送は、例えば、緊急警報、ソフトウェア若し
くはデータ項目の更新、ユーザ間でのタスクの調整、あるいは、デバイスが次のポーリング間隔で接続したり、ユーザが次に好ましい通信経路のサービスを利用可能なアクセスポイントに行くのを待つべきではない急を要する事柄などである。
[Out-of-band transmission (OOB)]
Multi-communication path capability provides further opportunities for out-of-band (OOB) transmission. In out-of-band transmission, data items are exchanged over communication paths other than the preferred path or at times other than scheduled polling periods or periodic contacts. In some embodiments, OOB is used to provide high priority transmission. High-priority transmission, for example, emergency alerts, software or data item updates, task coordination between users, or devices connect at the next polling interval or users use the next preferred communication path service For example, you should not wait to go to a possible access point.

その他の実施形態では、OOBは、サーバがクライアントへの接続を開始させるプッシュモード転送を実施するためにも使用される。内在する設計上の制限ゆえに、必ずしも全ての通信経路がプッシュモードの使用を許可するわけではなく、そのような通信経路の幾つかは、広い帯域幅ゆえに、好ましく又は主に使用される経路である傾向がある(例:Wi−Fiや有線Ethernetなど)。この場面では、即刻のプルモード接続を要求するコマンドが、プッシュモードを許可する通信経路(例:SMS又はMMS)を通じてOOB送信される。受信デバイスは、すると、プルモードセッションを開始させ、サーバは、上述のように選択された好ましい接続を通じて所要のデータ項目を転送する。一部の典型的実装形態では、アプリケーションソフトは、可能になり次第、ホットスポットに移動する、有線Ethernetポートに接続するなどによってこのような接続を可能にするように、ユーザに対して要求することができる。   In other embodiments, OOB is also used to implement push mode transfers where the server initiates a connection to the client. Because of inherent design limitations, not all communication paths allow the use of push mode, and some of these communication paths are preferred or primarily used because of their high bandwidth. There is a tendency (eg, Wi-Fi, wired Ethernet, etc.). In this scene, a command requesting an immediate pull mode connection is OOB transmitted through a communication path permitting the push mode (eg, SMS or MMS). The receiving device then initiates a pull mode session and the server transfers the required data items over the preferred connection selected as described above. In some typical implementations, the application software may request the user to enable such a connection, such as by moving to a hotspot, connecting to a wired Ethernet port, etc. when possible. Can do.

当業者ならば以上からわかるように、典型的で例示的で非限定的な実装形態によって可能にされるOOBは、あるデバイスが、好ましい通信経路を通じて接続するための容量に限界があり、現時点でその容量を使い尽くす方式で接続されているが、現時点で接続されていない別のデバイスから優先度の高いメッセージの送信を受けなければならないような状況で、有用である。例えば、あるデバイスが、一度に1つのBluetooth接続に限られ、現時点ではサーバに接続されてメッセージを交換している場合、そのデバイスのための優先度の高いメッセージを持つ第2のサーバは、それを送るためにBluetoothを通じてデバイスに接続することができないであろう。この場面では、サーバは、SMS又はMMSを使用してメッセージをOOB送信し、そうして、Bluetooth接続の限界を回避することができる。   As will be appreciated by those skilled in the art, the OOB enabled by a typical, exemplary, non-limiting implementation has limited capacity for a device to connect through a preferred communication path. It is useful in situations where it is connected in a way that uses up its capacity, but it must receive a high priority message from another device that is not currently connected. For example, if a device is limited to one Bluetooth connection at a time and is currently connected to a server and exchanging messages, a second server with a high priority message for that device You will not be able to connect to the device through Bluetooth to send In this scene, the server can send messages OOB using SMS or MMS, thus avoiding the limitations of Bluetooth connections.

通信経路には、それらの設計及びよくあるそれらの実装方式ゆえに、プッシュモード伝送に対応可能でないものがある。例えば、インターネットは、TCP/IPプロトコルを使用しており、これは、接続する側のデバイスが、接続される側のデバイスのネットワークアドレスを指定する必要がある。サーバデバイスは、通常、知られている、又はDNS(Domain Name System)などのシステムを通じて他のデバイスによって学習される、固定のアドレスを有しており、これは、他のデバイスがサーバへの接続を開始することを可能にする。大半のモバイルデバイスを含む非サーバデバイスは、通常、固定のアドレスを与えられておらず、ネットワークに接続されるときに、必要に応じて(DHCP(Dynamic Host Configuration Protocol)などの手段を通じて)一時的なアドレスを要求する。したがって、このようなデバイスは、アドレスを知られていないために接続を受けることはできないが、知られているアドレスを有するサーバデバイス又は他のデバイスに自身が接続することはできる。どのデバイスでも接続することができる通信経路は、プッシュモード伝送に対応可能であり、前述のように、たとえ容量に限りがある通信経路でも、それ自身はプッシュモードをサポートしていない更に有能な通信経路を通したプルモードセッションを開始させるように別のデバイスに要求するために、プッシュモードで使用することができる。   Some communication paths are not capable of push mode transmission due to their design and their common implementation. For example, the Internet uses the TCP / IP protocol, which requires that the connecting device specifies the network address of the connected device. Server devices usually have a fixed address that is known or learned by other devices through a system such as DNS (Domain Name System), which means that other devices connect to the server. Makes it possible to start. Non-server devices, including most mobile devices, are usually not given a fixed address and are temporarily (if necessary) (such as through Dynamic Host Configuration Protocol) when connected to the network. Request a valid address. Thus, such a device cannot receive a connection because its address is not known, but can itself connect to a server device or other device having a known address. Communication paths that can be connected to any device can support push mode transmission, and as mentioned above, even communication paths with limited capacity do not themselves support push mode, but are more capable. It can be used in push mode to request another device to initiate a pull mode session over the communication path.

[通信経路の構成]
P2P技術や特定の民間のWi−Fiホットスポットなどを使用するデバイスによる通信経路の使用を可能にするには、このような通信経路を使用するデバイスが、任意のアドレス指定、デバイスID、暗号化キー、認証情報、又は通信経路を通したデバイス間における発見、接続、及び信頼できる通信の確立に必要とされるその他のデータを伴うように構成されなければならない。このような構成情報は、デバイスのメーカによってデバイス
に含められたり、デバイスのユーザによって追加されたり、サーバデバイスから(例:構成メッセージ若しくはカタログデータ項目として)送信されたり、使用される特定の通信技術の標準的な特質であったりし、又はこれらの任意の組み合わせである。構成情報に対する更新は、デバイスのユーザによってなされたり、サーバデバイスから送信されたり、使用される特定の通信技術の標準装備であったりし、又はこれらの組み合わせである。例えば、Bluetooth P2P通信の場合、Bluetoothピコネットの確立は、ピコネットに参加しているデバイスがピコネットのメンバによって使用される無線周波数の変化のパターンを計算してそれらのメンバとの連絡を維持することを可能にする情報の交換を伴う。このような情報交換は、Bluetooth技術プロトコルの標準部分である。別の例では、「アドホック」Wi−Fiネットワークに加入しているデバイスは、同ネットワークの他のメンバの識別を可能にしてそれらのメンバとの通信を許可するためのネットワーク名データ(例:「SSID」)及びアクセス情報(例:「WAPキー」)を必要とするであろう。このような情報は、ユーザがデバイス構成に情報を入力したりサーバが構成情報をデバイスに送信したりするなど「アドホック」Wi−Fiネットワーク以外の手段によって、デバイスに提供されなければならない。民間のWi−Fiホットスポットの使用などの非P2P場面では、構成情報は、アカウントログイン及びパスワード値、又はその他の形態の識別及び認証からなることができ、或いは、SMSの場合は、連絡を取るべき異種デバイスの電話番号からなることができる。
[Configuration of communication path]
To enable the use of communication paths by devices that use P2P technology or certain private Wi-Fi hotspots, etc., devices that use such communication paths can use any addressing, device ID, encryption Must be configured with keys, authentication information, or other data required for discovery, connection, and establishment of reliable communication between devices over the communication path. Such configuration information may be included in the device by the device manufacturer, added by the user of the device, transmitted from the server device (eg, as a configuration message or catalog data item), or the specific communication technology used Standard qualities, or any combination of these. Updates to the configuration information can be made by the user of the device, transmitted from the server device, standard on the specific communication technology used, or a combination thereof. For example, in the case of Bluetooth P2P communication, the establishment of a Bluetooth piconet means that devices participating in the piconet calculate the radio frequency change pattern used by the members of the piconet and maintain contact with those members. With the exchange of information to enable. Such information exchange is a standard part of the Bluetooth technology protocol. In another example, devices subscribing to an “ad hoc” Wi-Fi network can identify network other members of the network and allow network name data to allow communication with those members (eg, “ SSID ") and access information (eg" WAP key "). Such information must be provided to the device by means other than an “ad hoc” Wi-Fi network, such as a user entering information into the device configuration or a server sending configuration information to the device. In non-P2P scenes, such as using a private Wi-Fi hotspot, the configuration information can consist of account login and password values, or other forms of identification and authentication, or in the case of SMS, contact It can consist of phone numbers of different devices to power.

Wi−Fi SSIDや関連の認証材料などのネットワークアクセス情報を収集及び配布する方法の、典型的で非限定的な一例は、このような情報をカタログに保存し、該カタログを、特定のネットワークアクセスを使用してアクセスを付与される全てのデバイスに配布することである。例えば、モバイルデバイスは、特定の接続技術を使用して接続を確立するためにセッションマネージャによって使用可能なSSIDと関連のアクセスキー(例:WAPキー、アカウント/パスワードペア)とのセットを含む、ワイヤレス「ホットスポット」をサポートしている接続情報のカタログを受信することができる。異なる通信技術は、異なるカタログを有することができる(例:技術ごとに1つのカタログ)、又は1つのカタログが、複数の通信技術についての情報を含むことができる。また、ユーザは、特定のユーザ/デバイスに付与されるアクセス権及び接続性に応じて異なる(1つ又は複数の)カタログを自身のデバイスに提供されて有することができる。一実装形態では、これらの通信技術カタログは、共通のサーバ(TPC)デバイス上に維持され、必要に応じてモバイルデバイスに配布される。これらのカタログの、使用に先立つ配布及びキャッシュは、モバイルデバイスが領域内にあるときにこれらのカタログのコンテンツが使用されることを可能にし、サポートされている通信経路間におけるデバイスのシームレス移行を可能にする。或いは、デバイスは、特定の場所で特定の通信技術がアクティブであることが識別されたときに、その技術のカタログを求めて共通のサーバデバイスに問い合わせることができる。問い合わせに対する応答は、サーバデバイスが、1つ若しくは複数のカタログ、又は1つ若しくは複数のカタログの一部を構成する1つ若しくは複数のデータ項目を要求デバイスに送信するためのものである。   A typical, non-limiting example of a method for collecting and distributing network access information such as Wi-Fi SSID and related authentication material is to store such information in a catalog and store the catalog in a specific network access To distribute to all devices to which access is granted. For example, a mobile device may include a wireless set that includes a set of SSIDs and associated access keys (eg, WAP keys, account / password pairs) that can be used by a session manager to establish a connection using a particular connection technology. A catalog of connection information supporting “hot spots” can be received. Different communication technologies can have different catalogs (eg, one catalog per technology), or one catalog can contain information about multiple communication technologies. Users can also have different catalog (s) provided to their devices depending on the access rights and connectivity granted to a particular user / device. In one implementation, these communication technology catalogs are maintained on a common server (TPC) device and distributed to mobile devices as needed. Distribution and caching of these catalogs prior to use allows the content of these catalogs to be used when the mobile device is in the region, allowing seamless migration of devices between supported communication paths To. Alternatively, when a device is identified as being active at a particular location, it can query a common server device for a catalog of that technology. The response to the query is for the server device to send to the requesting device one or more catalogs, or one or more data items that form part of the one or more catalogs.

代替の典型的で非限定的な例では、カタログ配布メカニズムは、既知のデバイスID、ユーザID、並びに既知のデバイス及びユーザの承認材料を配布するために使用される。モバイルデバイスは、ピア・ツー・ピアネットワーク上の又はサーバデバイスへの接続に依存しないその他のネットワーク上の第2のモバイルデバイスを識別すると、両デバイス間に通信経路を確立するために、デバイスID及び承認材料を使用することができる。例えば、フレッドのデバイスが、デバイスID 1と、所要の認証文字列「秘密」とを有する場合、スーのデバイスは、フレッドを識別するカタログ要素、すなわちフレッドのデバイスID(例:1)と、認証材料(例:「秘密」)とを含むカタログを受信することができる。フレッドは、スーを識別する同じ(又は異なる)コピー、すなわちスーのデバイスID(例:2)と、所要の認証材料(例:「スーの秘密」)とを受信するであろう。ネッ
トワーク上のデバイスをデバイス2として認識するにあたり、フレッドのデバイスは、ユーザ(スー)を検索し、スーのデバイスに送信するメッセージがあるかどうかを判断する。もしあるならば、フレッドのデバイスは、相手方のデバイスが真正であって尚且つ接続の開始を承認されていることを両エンドポイントが請け合うことができるように、認証材料を使用して、フレッドのデバイスとスーのデバイスとの間に通信経路を作成することができる。一部の代替の実施形態では、カタログから選択されたユーザ、デバイス、及び認証材料の要素のみが、特定のデバイスに転送される。デバイスに配布されるカタログ要素を制限することによって、配布されたカタログ要素は、第1のデバイスが第2のデバイスに接続するための承認フォームとして使用される。双方のデバイスが、自身についての及び接続デバイスについての両方のカタログ要素を有さないときの接続試行は、認証材料の欠如ゆえに失敗する。この技術は、BluetoothやアドホックWi−Fiを使用して作成されるなどのピア・ツー・ピア接続に有利である。セキュリティ規定は、データのタイプ、特定のデータ項目、又は今述べられた認証方法とは独立にデバイス間でデータを伝送するために使用可能な通信経路を更に限定するために使用することができる。例えば、フレッドのデバイスとスーのデバイスとが秘密を交換して互いを認識した後も、スーのデバイスは、依然、デバイスどうしのセキュリティ規定要件の一致の欠如ゆえに、又はデバイス間の通信経路に関連付けられたセキュリティのレベルゆえに、高いセキュリティレベルを持つ又は特定の受け手に制限される利益率データや給与情報などの特定のデータをフレッドのデバイスに送信することを、禁じることができる。
In an alternative typical non-limiting example, the catalog distribution mechanism is used to distribute known device IDs, user IDs, and known device and user authorization materials. When the mobile device identifies a second mobile device on the peer-to-peer network or on another network that does not rely on a connection to the server device, the device ID and Approved materials can be used. For example, if Fred's device has device ID 1 and the required authentication string “secret”, Sue's device authenticates the catalog element that identifies Fred, namely Fred's device ID (eg, 1) and authentication. A catalog containing material (eg, “secret”) can be received. Fred will receive the same (or different) copy identifying Sue, ie Sue's device ID (eg, 2) and the required authentication material (eg, “Sue's Secret”). In recognizing a device on the network as device 2, Fred's device searches for a user (Sue) and determines whether there is a message to send to the Sue device. If so, Fred's device uses the authentication material so that both endpoints can guarantee that the other device is authentic and authorized to initiate the connection. A communication path can be created between the device and the Sue device. In some alternative embodiments, only the user, device, and authentication material elements selected from the catalog are transferred to the particular device. By limiting the catalog elements that are distributed to the device, the distributed catalog element is used as an authorization form for the first device to connect to the second device. Connection attempts when both devices do not have both a catalog element for themselves and for the connected device fail due to the lack of authentication material. This technology is advantageous for peer-to-peer connections such as those created using Bluetooth or ad hoc Wi-Fi. Security provisions can be used to further limit the communication paths that can be used to transmit data between devices independently of the type of data, specific data items, or authentication methods just described. For example, even after Fred's device and Sue's device have exchanged secrets and recognized each other, Sue's device still remains associated with the communication path between devices, either due to a lack of matching security regulatory requirements between devices. Because of the level of security provided, it may be prohibited to send certain data, such as profit rate data or salary information, having a high security level or restricted to certain recipients, to a Fred device.

接続及びアクセスの構成に加えて、各通信経路は、各通信経路の特性(速度、コスト、信頼性など)及び各通信経路によってサポートされる機能(プッシュモード若しくは大メッセージサイズなど)を特定するための追加の情報若しくは設定、又は各種の可用性、データ項目優先度、若しくはその他の要因の条件下でどの通信経路を使用するかを決定するために使用されるプリファレンス設定、又は当業者によって適切であると見なされるその他の通信経路構成も伴うように構成される。   In addition to connection and access configuration, each communication path identifies the characteristics (speed, cost, reliability, etc.) of each communication path and the functions supported by each communication path (such as push mode or large message size). Additional information or settings, or preference settings used to determine which communication path to use under conditions of various availability, data item priority, or other factors, or as appropriate by those skilled in the art It is also configured with other communication path configurations that are considered to be.

モバイルデバイスが、Wi−Fiアクセスポイントを使用して割り当てられるIPアドレスなどの一時的な通信アドレスを使用して動作しているときは、この現在の通信アドレスは、異種デバイスがこの現在の通信アドレスを使用して第1のモバイルデバイスに連絡するために必要とされる。一実施形態では、サーバ(TPC)デバイスは、モバイルデバイスからのメッセージの受信をもって、デバイス通信アドレスのカタログを更新する。(1つ又は複数の)更新されたカタログ要素は、必要に応じてその他のデバイスに配布される。或いは、モバイルデバイスは、一時的な通信アドレスを割り当てる通信技術への接続を確立するにあたり、デバイス上に保存されている自身のカタログ要素を更新し、次いで、そのカタログ要素をサーバデバイス(又は通信先の任意の他のデバイス)と同期化させることができる。これは、2つのデバイスが、ピア・ツー・ピア通信経路を使用して低帯域幅の接続を確立すること、現時点で接続されている高帯域幅のネットワークのための一時的な通信アドレスを交換し合うこと、及び次いで、デバイス間に高帯域幅の通信経路を確立することを可能にする。更に別の実施形態では、モバイルデバイスは、一時的な通信アドレスを受信するときに、DDNSなどの標準的な動的アドレス指定プロトコルを使用して中央サービスを更新することができる。これは、カタログ要素を一時的な通信アドレスと同期化させる必要性を排除するが、利用可能通信経路を標準的な動的アドレス指定プロトコルを使用して解決される通信経路に限定する。   When the mobile device is operating using a temporary communication address, such as an IP address assigned using a Wi-Fi access point, the current communication address is the same as the current communication address of the heterogeneous device. Is required to contact the first mobile device using. In one embodiment, the server (TPC) device updates the catalog of device communication addresses upon receipt of a message from the mobile device. The updated catalog element (s) is distributed to other devices as needed. Alternatively, in establishing a connection to a communication technology that assigns a temporary communication address, the mobile device updates its catalog element stored on the device, and then transmits the catalog element to the server device (or destination). Any other device). This means that two devices establish a low-bandwidth connection using a peer-to-peer communication path and exchange temporary communication addresses for the currently connected high-bandwidth network And then establish a high bandwidth communication path between the devices. In yet another embodiment, the mobile device can update the central service using a standard dynamic addressing protocol such as DDNS when receiving a temporary communication address. This eliminates the need to synchronize catalog elements with temporary communication addresses, but limits the available communication paths to those that are resolved using standard dynamic addressing protocols.

[通信経路の切り替え]
上述のように、全ての通信経路は、接続性の途絶及び損失に曝される。接続性の損失は、経路上の複数の地点で起こり得る。デバイスがその通信ハードウェアの障害に見舞われたり、接続の損失が(Wi−Fiホットスポットから去るときなどに)信号レベルで生じたり、通信インフラの一部が利用可能でなくなったり(例:携帯電話会社におけるサービ
スの途絶、インターネットにおける接続性の停止、SMSサーバのオーバーロードなど)、デバイスの通信相手であるサーバが利用可能でなくなったりする可能性がある(例:電源異常、システムメインテナンス、ソフトウェアエラーなど)。1本の通信経路上における接続性の損失は、必ずしもそのデバイスのための全ての通信経路が利用可能でなくなることを意味しない。利用可能な通信経路が複数あり、そのうちの1本又は2本以上が何らかの理由で使用できなくなったときに、デバイスは、可用性を維持している通信経路に切り替える選択肢を有することができる。デバイスは、また、利用可能な通信経路の使用を最適化し、速度、信頼性、若しくは応答性などの特質を向上させる又はコスト若しくは遅延などの特質を低減させることができるように、接続性の損失を伴わなくても通信経路を切り替えることができる。デバイスは、障害が発生したときにのみ、又は設定で変えられる若しくはハードコーディングされた基準で定期的に、又は新しい通信経路が利用可能になったときに、又はこれらの任意が組み合わさるときに、又は当業者によって適していると判断されるその他の選択肢で、自身による利用可能通信経路の使用を再評価することができる。
[Switch communication path]
As described above, all communication paths are subject to connectivity disruptions and losses. Loss of connectivity can occur at multiple points along the path. The device may suffer from failure of its communication hardware, loss of connection may occur at the signal level (eg when leaving a Wi-Fi hotspot), or part of the communication infrastructure may be unavailable (eg mobile Service disruption at telephone companies, suspension of internet connectivity, SMS server overload, etc., and the server with which the device communicates may become unusable (eg, power failure, system maintenance, software) Error). Loss of connectivity on one communication path does not necessarily mean that all communication paths for that device will be unavailable. When there are multiple available communication paths and one or more of them become unusable for any reason, the device may have the option of switching to a communication path that maintains availability. The device also loses connectivity so that it can optimize the use of available communication paths and improve attributes such as speed, reliability, or responsiveness or reduce attributes such as cost or delay. The communication path can be switched without accompanying. The device will only be in the event of a failure, or periodically on a basis that is changed or hardcoded in settings, or when a new communication path becomes available, or any combination of these Alternatively, other options deemed appropriate by those skilled in the art can reevaluate their use of available communication paths.

一部の典型的なデバイスは、通信経路の自動選択をサポートする。ここでは、通信経路の切り替えは、ユーザ側におけるアクションを伴わずに、尚且つ一部の実装形態では、アプリケーションソフト側におけるアクションも伴わずに、通信経路の切り替えがなされる。このような典型的なデバイスは、デバイスのオペレーティングシステムが通信経路を選択し、アプリケーションソフトは現時点で選択されている通信経路を常に使用し、デバイスの指示にしたがって通信経路を変更するように、設計される。このような切り替えは、一部の典型的実装形態では、ユーザ又はアプリケーションソフトに対して透過的であり、その他の実装形態では、ユーザ又はアプリケーションソフトによって検出可能である。   Some typical devices support automatic selection of communication paths. Here, the communication path is switched without an action on the user side, and in some implementations, the communication path is switched without an action on the application software side. Such a typical device is designed so that the operating system of the device selects the communication path, the application software always uses the currently selected communication path, and changes the communication path according to the instructions of the device. Is done. Such switching is transparent to the user or application software in some exemplary implementations and can be detected by the user or application software in other implementations.

その他の典型的デバイスでは、デフォルトで使用される通信経路はデバイスのオペレーティングシステムによって決定されるが、アプリケーションソフトがそれを覆し、オペレーティングシステムにそのメーカによって供給されるメカニズムの使用を通して代わりの通信経路を使用することが可能である。   In other typical devices, the communication path used by default is determined by the operating system of the device, but the application software can override it and route the alternative communication path through the use of mechanisms supplied by the manufacturer to the operating system. It is possible to use.

例えば、一部の実装形態では、切り替えは、既存の通信経路上における接続性の損失に対するフェイルオーバ応答としてなされる、又は切り替えは、現時点で使用されている通信経路よりも別の通信経路が好ましいと判断されたときに随時なされる(経路の最適化)。通信経路の障害がデバイスにローカルな要因に起因しない一部の状況では、自動的に切り替えを行うデバイスでも、別の通信経路への切り替えをアプリケーションによって推し進められる必要があることがある。例えば、デバイスがWi−Fi通信経路を使用しており、ホットスポットファイヤウォールのWi−Fi構成に対して変更がなされた結果、デバイスの接続先であるサーバのアドレスに対するアクセスが遮断された場合、デバイスは、依然、Wi−Fi信号を検出してTCP/IPパケットの送受信を行うことができるので、Wi−Fi接続を使用してサーバに到達することができないという事実にもかかわらず、別の通信経路に自動的に切り替わらない。このような場面では、デバイスのアプリケーションソフトが、GPRS又はEDGEなどの別の通信経路への切り替えを推し進めることによって、サーバへの通信を再確立することができる。   For example, in some implementations, the switch is made as a failover response to a loss of connectivity on an existing communication path, or the switch is preferably a different communication path than the currently used communication path. It is done at any time when it is judged (route optimization). In some situations where the communication path failure is not due to a local factor in the device, it may be necessary for the device to automatically switch to another communication path to be pushed by the application. For example, if the device uses a Wi-Fi communication path and access to the address of the server to which the device is connected is blocked as a result of changes to the Wi-Fi configuration of the hotspot firewall, Despite the fact that the device can still detect the Wi-Fi signal and send and receive TCP / IP packets, it cannot reach the server using the Wi-Fi connection. Does not automatically switch to the communication path. In such a situation, the application software of the device can re-establish communication with the server by promoting switching to another communication path such as GPRS or EDGE.

一部の実施形態では、通信経路の障害の結果として通信経路を切り替えるための方法は、幾つかの段階を伴う。第1に、接続性の損失が検出される。第2に、代わりの通信経路が選択される。第3に、新しい通信経路を通じて接続性が確立される。より具体的な実施形態では、経路の最適化が使用されているとき、デバイスは、このプロセスの第2のステップを実施して、1本又は複数本の通信経路を選択し、もし、(1本又は複数本の)選択された経路が目下好ましいとされている(1本又は複数本の)経路と異なるならば、デバイスは、(1本又は複数本の)選択された経路を目下好ましいとされる(1本又は複数本
の)経路にすることができるように、通信経路の切り替えを開始する。
In some embodiments, a method for switching a communication path as a result of a communication path failure involves several stages. First, connectivity loss is detected. Second, an alternative communication path is selected. Third, connectivity is established through the new communication path. In a more specific embodiment, when route optimization is used, the device performs the second step of this process to select one or more communication paths, if (1 If the selected route (s) is different from the currently preferred route (s), the device may prefer the chosen route (s) as currently preferred. The switching of the communication path is started so that the path (one or a plurality of paths) can be made.

当業者ならばわかるように、接続損失の検出は、通信経路によって容易であったり困難であったりする。例えば、TCP/IP通信経路上のTCPパケットなどの接続指向プロトコルを使用するときは、これがWi−Fi、Bluetooth、又はその他の何らかの手段のいずれを使用してなされるものであれ、パケットが宛先システムによって受信されたときは肯定応答が返され、再伝送を繰り返した後も肯定応答が受信されなかった場合は、接続の損失を意味する。このケースでは、経路沿いのどこで障害が発生したかに関係なく、接続の損失が検出可能である。TCP/IP上のUDPパケットやSMSなどのその他のプロトコルの場合は、伝送プロトコルの一環に肯定応答が含まれず、もし問題がデバイスにローカルでない場合は、アプリケーションレベルのプロトコルが通信問題の検出のための何らかの形態のフィードバックを含まない限り、検出が不可能である。例えば、サーバからクライアントにメッセージを送信するためにUDP又はSMSが使用される場合は、クライアントは、メッセージが受信されたときにUDP又はSMSメッセージをサーバに返すことによって、メッセージの到着を肯定することができる。もし移動中にメッセージが損失された場合は、肯定応答パケットはなく、サーバは、クロックチップ、ループカウンタ、又はプログラム可能な割り込み機能などの適切なメカニズムによって決定される適切な時間の経過後に、メッセージを再送信することができる。もし移動中に肯定応答パケットが損失された場合は、サーバは、メッセージを再送信し、クライアントは、更なるコピーを受信し、その受信を再び肯定することができる。これは、メッセージが受信され、サーバがメッセージ受信の肯定応答を得るまで、又は接続が利用不可能であると見なされるのに十分な試行が失敗に終わるまで続く。重複するメッセージ及びノードが検出され、後述の手段によって無視される。通信経路が利用不可能であると判断されたときは、もし適切な代わりの通信経路が利用可能であれば、フェイルオーバ経路切り替えが実施される。   As will be appreciated by those skilled in the art, connection loss detection can be easy or difficult depending on the communication path. For example, when using a connection-oriented protocol, such as a TCP packet on a TCP / IP communication path, whether this is done using Wi-Fi, Bluetooth, or some other means, the packet is destined for the destination system. An acknowledgment is returned when received by, and if no acknowledgment is received after repeated retransmissions, it means a loss of connection. In this case, the loss of connection can be detected regardless of where the fault occurred along the route. For other protocols such as UDP packets over TCP / IP and SMS, acknowledgments are not included as part of the transmission protocol, and if the problem is not local to the device, the application level protocol is used to detect communication problems. Detection is not possible unless some form of feedback is included. For example, if UDP or SMS is used to send a message from the server to the client, the client acknowledges the arrival of the message by returning a UDP or SMS message to the server when the message is received. Can do. If the message is lost during the move, there is no acknowledgment packet and the server will send the message after an appropriate time determined by an appropriate mechanism such as a clock chip, loop counter, or programmable interrupt function. Can be resent. If an acknowledgment packet is lost during the move, the server resends the message and the client can receive a further copy and acknowledge it again. This continues until a message is received and the server gets an acknowledgment to receive the message, or until enough attempts have failed to consider the connection unavailable. Duplicate messages and nodes are detected and ignored by means described below. When it is determined that the communication path is unusable, failover path switching is performed if an appropriate alternative communication path is available.

配信の成功又は障害を示すフィードバックメカニズムをプロトコルが含む場合でも、接続の損失が検出されるまでには遅延がある。TCP接続の場合、これは、損失された接続が検出されるまでに数分間を要することがあり、接続が利用可能でないと決定されるまでに再伝送が何度も試行される。デバイスハードウェアの問題又は信号の損失は、少なくとも場合によっては、使用されているプロトコルにかかわらず、デバイスのオペレーティングシステムによって検出可能で尚且つアプリケーションに報告可能である。ハードウェア若しくはデバイスオペレーティングシステムによるエラー報告を通してであれ、又は肯定応答が受信されることなく超過時間が経過することを通してであれ、又は当業者によって一般的になされるその他の何らかの手段によってであれ、接続性の損失は、最終的には認識される。   Even if the protocol includes a feedback mechanism indicating success or failure of delivery, there is a delay before a loss of connection is detected. In the case of a TCP connection, this can take several minutes before a lost connection is detected, and retransmissions are tried many times before it is determined that the connection is not available. Device hardware problems or signal loss, at least in some cases, can be detected by the device operating system and reported to the application, regardless of the protocol used. Connection, either through error reporting by the hardware or device operating system, or through the passage of time without an acknowledgment being received, or by some other means commonly done by those skilled in the art Sexual loss is ultimately recognized.

接続性の損失が発生したとき、デバイスは、送信待ちしているデータ項目を、接続性が回復されるまで保持してもよく、接続性を有する若しくは有するかもしれない別の通信経路に切り替えてもよい。デバイスは、両方を行うこともできる。すなわち、一部のデータ項目を後の伝送のために保持し、それ以外のデータ項目を接続性を有する通信経路を通じて送信してもよい。データ項目を、後の伝送試行のために保持するか、代わりの通信経路を通じて送信するかに関する判断は、データ項目の優先度、代わりの通信経路のコスト、代わりの通信経路の能力、又は当業者によって適切であると判断されるその他の要因などの要因に基づいてなされる。   When a loss of connectivity occurs, the device may hold the data item waiting to be sent until connectivity is restored and switch to another communication path that has or may have connectivity. Also good. The device can do both. That is, some data items may be retained for later transmission, and other data items may be transmitted through a communication path having connectivity. The decision as to whether the data item is retained for later transmission attempts or transmitted over an alternative communication path is determined by the priority of the data item, the cost of the alternative communication path, the capacity of the alternative communication path, or one skilled in the art. This is based on factors such as other factors that are deemed appropriate.

デバイスは、また、一部の典型的実装形態では、より好ましい通信経路が利用可能になったときに、又は伝送されるべきデータ項目の優先度などの特性が、本来ならば使用のために選択されないであろう通信経路の使用を許可したときなどに、現在の通信経路の可用性の損失を伴うことなく先を見越して通信経路の切り替えを行う。例えば、もしデバイス
が、接続が確立されたときに最も好ましい利用可能な通信経路であったという理由でGPRSを使用する通信経路によって接続されており、ユーザが、そのデバイスを、より好ましいWi−Fiホットスポットなどの通信経路を利用可能なエリアに移動させた場合は、デバイスは、そのより好ましい方の通信経路を通じて新しい接続を確立し、より好ましくない方の経路を、たとえそれがまだ利用可能であっても終了させることができる。これは、コストの削減、速度若しくは信頼性の向上、又はその他の任意の理由のためになされる。別の典型的実施形態では、もしデータ項目が、(例:構成設定によって決定された)過度の時間にわたって伝送待ちしている場合に、これらのデータ項目の優先度が引き上げられる。待機中のデータ項目の優先度の値が新しくされた結果、当初は選択されなかった代わりの通信経路が選択され、待機中のデータ項目の伝送を可能にするためにその通信経路への切り替えがなされる。
The device may also be selected for use in some exemplary implementations, such as when a preferred communication path becomes available, or the priority of the data item to be transmitted. When the use of a communication path that will not be performed is permitted, the communication path is switched in anticipation of the current communication path without loss of availability. For example, if a device is connected by a communication path that uses GPRS because it was the most preferred available communication path when the connection was established, the user would connect the device to the more preferred Wi-Fi. When a communication path, such as a hotspot, is moved to an available area, the device establishes a new connection through the more preferred communication path, and the less desirable path, even if it is still available. Even if it exists, it can be terminated. This is done for cost reduction, speed or reliability improvement, or any other reason. In another exemplary embodiment, if data items are waiting to be transmitted for an excessive amount of time (eg, determined by configuration settings), the priority of these data items is increased. As a result of the new priority value for the waiting data item, an alternative communication path that was not initially selected is selected and switching to that communication path is enabled to allow transmission of the waiting data item. Made.

デバイスの構成に基づく許容可能な通信経路がないゆえに、利用可能な通信経路が存在しない場面では、伝送されるべきデータ項目の優先度の変更、デバイスの通信経路構成設定の変更、通信経路若しくは送信されるべきデータ項目に関連付けられたセキュリティ規定の変更、又はこれまでは許容可能でなかった通信経路を許容可能にするその他の変更によって、デバイスは、異なる通信経路からの切り替えを伴うことなく新しい許容可能な通信経路を使用することが可能になる。   In cases where there is no acceptable communication path based on the configuration of the device, the priority of the data item to be transmitted is changed, the communication path configuration setting of the device is changed, the communication path or transmission is performed when there is no communication path available. Due to changes in security regulations associated with data items to be made, or other changes that allow previously unacceptable communication paths, the device can make a new allowance without switching from a different communication path. It is possible to use possible communication paths.

フェイルオーバモードであれ、経路最適化のためであれ、どの代わりの通信経路に切り替えるかの選択時には、同様の要因が関わっている。デバイスは、代わりの通信経路を選ぶために使用される優先度体系を組み込まれて有することができる、又は様々な要因(非限定例として、コスト、速度、信頼性、ユーザプリファレンス、サポートされている特徴(プッシュモードなど)、若しくは転送されるべきデータ項目の数及びタイプなど)をバランスさせるためのルールを使用して動的にそれを行うことができる、又はユーザに選択を行うように求めることができる。判定は、一部の典型的実装形態では、デバイスオペレーティングシステムによってなされ、その他の典型的実装形態では、アプリケーションソフトに委ねられる。デバイスオペレーティングシステムが通信経路の判定を行う実装形態では、オペレーティングシステムによってより好ましいとされる通信経路を無効にするようにデバイスの構成設定を変更し、特定の通信経路の使用を推し進めることも可能である。   Similar factors are involved in selecting which communication path to switch to, whether in failover mode or for route optimization. The device can have a built-in priority system used to choose an alternative communication path, or various factors (non-limiting examples include cost, speed, reliability, user preferences, supported Can be done dynamically using rules to balance features (such as push mode), or the number and type of data items to be transferred, or ask the user to make a choice be able to. The determination is made by the device operating system in some exemplary implementations, and is left to application software in other exemplary implementations. In an implementation in which the device operating system determines the communication path, it is possible to change the device configuration settings to invalidate the communication path that is preferred by the operating system and to promote the use of a specific communication path. is there.

考えられる典型的な一実装形態では、コスト、速度、及び信頼性などの各通信経路特性には、選択優先度調整値が割り当てられる。選択優先度調整値は、重要な要因の場合は大きく、あまり重要でない要因の場合は小さく、無関係な要因にはゼロ調整値が割り当てられる。調整値を足し合わせることによって、各利用可能通信経路についての選択優先度点数が計算され、望ましい特性の調整値は正として、望ましくない特性の調整値は負としてそれぞれ処理され、最も高い選択優先度点数を持つ(1本又は複数本の)通信経路が使用のために選択される。当業者によく知られている選択優先度点数調整値の適切な選択により、選ばれる通信経路は、所定の通信経路の選択をもしその経路が利用可能であるならば推し進めるために、又は所定の通信経路の使用を阻むために、又は代わりになる経路がない場合以外は所定の通信経路の使用を阻むために、任意の特性又は特徴による影響を最大又は最小にできるように制御される。一部の典型的実装形態では、差し迫った伝送の通信経路の能力又は特性の要件を、利用可能な通信経路の能力と比較するための初期計算が別途なされ、所要の能力をサポートしていないプッシュモードなどの通信経路は、選択優先度点数が計算される前に検討対象から除外される。   In one possible typical implementation, each communication path characteristic such as cost, speed, and reliability is assigned a selection priority adjustment value. The selection priority adjustment value is large for an important factor, small for an unimportant factor, and a zero adjustment value is assigned to an unrelated factor. By adding the adjustment values, the selection priority score for each available communication path is calculated, the adjustment value for the desired characteristic is treated as positive, the adjustment value for the undesirable characteristic is treated as negative, and the highest selection priority. A communication path (one or more) having a score is selected for use. By appropriate selection of the selection priority score adjustment value well known to those skilled in the art, the selected communication path will have a selection of a given communication path to proceed if the path is available, or In order to prevent the use of a communication path, or to prevent the use of a predetermined communication path except when there is no alternative path, control is performed so that the influence of any characteristic or feature can be maximized or minimized. In some typical implementations, pushes that do not support the required capabilities have a separate initial calculation to compare the capability or characteristic requirements of the impending transmission channel with the capability of the available channel. Communication paths such as modes are excluded from consideration before the selection priority score is calculated.

使用のために(1本又は複数本の)通信経路を選択するための典型的な一プロセスが、図5のフローチャートに示される。プロセスは、現時点で利用可能な全ての通信経路を挙げたリストを構築することから開始する(5000)。一部の典型的なデバイスでは、こ
れは、SMS、EDGE、及びWi−Fiなどの、デバイスによってサポートされている全ての通信経路からなる。その他の典型的なデバイスでは、インターフェースが信号を検出しているかどうかを決定し、現時点で信号を受信していないインターフェースを使用している通信経路を除外することが可能である(例:もしテレフォニデータインターフェースが信号を有していない場合は、SMS通信経路もEDGE通信経路も利用可能でない)。一部の典型的なデバイスでは、Wi−Fiを通じて既知のTCP/IPアドレスにICMP「エコー」パケット(「ピング」)を送信して応答を待つなどによって、通信経路の接続性をテストすることが可能である。前述のように、接続性は、1本の通信経路の一部分には存在するがその他の部分には存在せずに、その通信経路の使用を妨げることがある。例えば、サービスプロバイダに送信されたWi−Fi信号及び「ピング」に対する応答の検出は、Wi−Fiを通じてサーバ又は他のデバイスに到達可能であることを意味しない。現時点で利用可能な通信経路のリストを作成するにあたり、デバイスは、利用可能でないと確実に決定することができない経路も実質的に全て含んでいる。この目的のために、デバイスは、以前伝送されたデータ項目に対する受信確認の欠如ゆえに利用可能でないと同デバイスによって最近決定された通信経路のリストを維持することができる。これは、信号の存在、「ピング」の返信、又はその他の手段によって利用可能であるように見えるが近接過去(recent past)においてデータ項目を転送させるのに失敗した好ましい通信経路を回避する(ここで、「近接過去」は、構成設定によって決定された、又はデバイス若しくはアプリケーションソフトに設計によって組み込まれた期間である)。このような通信経路の検討対象からの除外は、本来であれば選ばれないであろう好ましさは劣るがより有用である可能性のある通信経路の選択を可能にする。
One exemplary process for selecting the communication path (s) for use is shown in the flowchart of FIG. The process begins by building a list listing all currently available communication paths (5000). For some typical devices, this consists of all communication paths supported by the device, such as SMS, EDGE, and Wi-Fi. In other typical devices, it is possible to determine whether an interface is detecting a signal and to exclude communication paths that use an interface that is not currently receiving a signal (eg, telephony). If the data interface has no signal, neither the SMS communication path nor the EDGE communication path is available). Some typical devices may test the connectivity of a communication path, such as by sending an ICMP “echo” packet (“ping”) to a known TCP / IP address via Wi-Fi and waiting for a response. Is possible. As described above, connectivity may be present in one part of a communication path but not in the other part, preventing use of that communication path. For example, detection of a response to a Wi-Fi signal and “ping” sent to a service provider does not mean that the server or other device is reachable via Wi-Fi. In creating the list of currently available communication paths, the device includes substantially all of the paths that cannot be reliably determined to be unavailable. For this purpose, the device can maintain a list of communication paths that have recently been determined by the device as unavailable due to lack of acknowledgment for previously transmitted data items. This avoids a preferred communication path that appears to be available by the presence of a signal, a “ping” reply, or other means but fails to transfer the data item in the recent past (here The “proximity past” is a period determined by the configuration setting or incorporated in the device or application software by design). Such exclusion of communication paths from consideration makes it possible to select communication paths that may be less useful but may be more useful.

待機データの伝送に有用であるために求められるセキュリティ規定特性を保持していない通信経路は、通信経路の選択の目的上、利用可能でないと見なされる。経路選択の目的がプルモードセッションの実施(例:待機データ又は待機メッセージを求めてサーバをポーリングすること)にあるときは、セキュリティ規定特性は、通信経路の除外には使用されないが、一部の典型的実装形態では、一部の通信経路をその他の通信経路よりも好ましいものとして扱うために使用される(例:セキュリティレベルの高い経路をセキュリティレベルの低い経路よりも好ましいものとする)。   Communication paths that do not retain the required security characteristics required to be useful for transmission of standby data are considered unavailable for communication path selection purposes. When the purpose of route selection is to perform a pull mode session (eg polling the server for waiting data or messages), the security specification property is not used to exclude communication routes, In a typical implementation, it is used to treat some communication paths as preferred over other communication paths (eg, a higher security level path is preferable to a lower security level path).

もし利用可能な通信経路がリストに含まれない場合(5010)は、プロセスは、「利用可能な経路無し」の結果で終了する(5020)。この場合、デバイスは、現時点及び現場所では通信することができない。一部の典型的なデバイスは、更なる通信経路を利用可能な場所にユーザがデバイスを移動させることができるように、ユーザにこの状況について警告することができる。典型的なデバイスは、また、利用可能な通信経路が現れるまで選択プロセスを定期的に繰り返すこともできる。   If an available communication path is not included in the list (5010), the process ends with a result of "no available path" (5020). In this case, the device cannot communicate at the present time and the current location. Some exemplary devices can alert the user to this situation so that the user can move the device to a location where additional communication paths are available. A typical device can also periodically repeat the selection process until an available communication path appears.

もし利用可能通信経路のリストが、少なくとも1本の通信経路を含む場合は、選択プロセスの次のステップは、全ての所要の能力をサポートしていない通信経路を全てリストから外すことである(5030)。例えば、もしプッシュモード伝送が求められる場合は、プッシュモードをサポートしていないどの通信経路も利用可能通信経路のリストから排除される。このような通信経路の除外が完了したら、そのリストが少なくとも1本の通信経路を含むかどうかが再チェックされる(5040)。もし含まない場合は、プロセスは、「利用可能な経路無し」の結果で終了する(5020)。所要の能力に欠ける通信経路を除外した結果、ちょうど所要の本数(これは、通常は1本であるが、一部の典型的なデバイスは一度に2本以上の通信経路を使用することがあり、したがって、複数本の通信経路の選択を求めることがある)の通信経路がリストに含まれるようになった場合、経路のリストは返され、プロセスは完了する。   If the list of available communication paths includes at least one communication path, the next step in the selection process is to remove all communication paths that do not support all the required capabilities from the list (5030). ). For example, if push mode transmission is required, any communication path that does not support push mode is excluded from the list of available communication paths. When such communication path exclusion is complete, it is rechecked (5040) whether the list includes at least one communication path. If not, the process ends with a result of “no route available” (5020). As a result of excluding communication paths lacking the required capacity, just the required number (this is usually one, but some typical devices may use more than one communication path at a time. Therefore, the list of paths may be returned and the process is complete.

もし利用可能通信経路のリストが、所要よりも多い本数の利用可能通信経路を含む場合
は、そのリストのなかから(1本又は複数本の)最も好ましい経路を選択する必要がある。典型的な一実施形態では、リスト中の各経路は、初期選択優先度値であるゼロを与えられる。各経路の選択優先度値は、次いで、経路に関連した望ましくない特性ごとに、その特性について構成設定によって決定された量だけ下方調整される(5070)。例えば、もし低帯域幅が望ましくないと見なされ、調整値3を有する場合は、選択優先度値は、低帯域幅という特性を有するリスト中の全ての通信経路について3だけ減少される。選択優先度値は、符号付きの数字であり、負であってもよい。選択優先度のこのような減少は、もしそれぞれ3及び5の調整値を持つ低帯域幅及び非信頼性の両方が望ましくないと見なされる場合、低帯域幅を有する非信頼性の通信経路(例:SMS)はその選択優先度値を8だけ減少されるという意味で、蓄積的でもある。
If the list of available communication paths includes a larger number of available communication paths than required, it is necessary to select the most preferable path (one or more) from the list. In an exemplary embodiment, each path in the list is given an initial selection priority value of zero. The selection priority value for each path is then adjusted downward (5070) for each undesirable characteristic associated with the path by an amount determined by configuration settings for that characteristic. For example, if low bandwidth is considered undesirable and has an adjustment value of 3, the selection priority value is reduced by 3 for all communication paths in the list that have the characteristic of low bandwidth. The selection priority value is a signed number and may be negative. Such a reduction in selection priority is due to unreliable communication paths with low bandwidth (eg, if both low bandwidth and unreliable with adjustment values of 3 and 5 respectively are considered undesirable) : SMS) is also cumulative in the sense that its selection priority value is reduced by 8.

選択優先度値は、次いで、経路に関連した望ましい特性ごとに、その特性について構成設定によって決定された量だけ上方調整される(5080)。例えば、低コストが望ましいと見なされ、調整値6を有する場合、選択優先度値は、低コストという特性を有するリスト中の全ての通信経路について6だけ増加される。選択優先度のこのような増加は、もしそれぞれ6及び4の調整値を持つ低コスト及び高帯域幅の両方が望ましいと見なされる場合、低コスト及び高帯域幅を有する通信経路(例:Wi−Fi)はその選択優先度値を10だけ増加されるという意味で、蓄積的でもある。   The selection priority value is then adjusted up (5080) for each desired characteristic associated with the path by an amount determined by configuration settings for that characteristic. For example, if low cost is considered desirable and has an adjustment value of 6, the selection priority value is increased by 6 for all communication paths in the list that have the property of low cost. Such an increase in selection priority can be attributed to a communication path having a low cost and a high bandwidth (eg, Wi−) if both low cost and high bandwidth with adjustment values of 6 and 4 are considered desirable, respectively. Fi) is also cumulative in the sense that its selection priority value is increased by 10.

代案として今述べられた選択優先度調整は、当業者にならば明らかなように、一部の典型的実装形態では、符号付きの調整値を使用して1つのステップとして実施される。   The selection priority adjustment just described as an alternative, as will be apparent to those skilled in the art, is implemented as a step in some exemplary implementations using signed adjustment values.

選択優先度調整が完了したら、最も高い選択優先度値を持つ(1本又は複数本の)通信経路が選択されて(5090)返され(5060)、プロセスは完了する。   When the selection priority adjustment is complete, the communication path (s) with the highest selection priority value is selected (5090) and returned (5060), and the process is complete.

構成に含ませる特性の選択、所定のデバイスによってサポートされる各通信方法に対する特性の割り当て、並びに各特性について選択される優先度の増加値及び減少値は、様々な状況下における通信経路に対するプリファレンスを必要なだけいくらでも調整するために使用することができる。代表的な場面の一例に、3つの通信方法:GPRS、Wi−Fi、及びBluetoothに対応可能なデバイスが、GPRS(TCP/IP及びSMSの両プロトコル)並びにWi−Fiの両方を利用可能であるがBluetoothは利用可能でない主要都市の公共のWi−Fiホットスポットに位置している場合がある。ユーザは、デバイス設定を、高帯域幅(−10、+3)、低伝送遅延(−1、+5)、及び低コスト(−1、+1)を好むように構成しており、これは、もし通信経路が低帯域幅を有するならば優先度が10だけ減少され、もし高帯域幅を有するならば優先度が3だけ増加され、伝送遅延及びコストについても同様の調整がなされることを意味する。GPRS−TCP/IPは、低帯域幅、低伝送遅延、及び高コストを有するものとして構成される。GPRS−SMSは、低帯域幅、高伝送遅延、及び高コストを有するもとして構成される。Wi−Fiは、高帯域幅、低伝送遅延、及び低コストを有するものとして構成される。Bluetoothは利用可能でないので、その構成は無関係である。どちらの利用可能通信経路も、同じセキュリティ規定特性を有するので、これは、それらの間で判定を下すための関連要因ではない。デバイスは、現時点ではプッシュモードを必要としておらず、したがって、この能力に対するサポートの欠如もまた、無関係である。計算は、各方法について以下の点数:GPRS−TCP/IP(−6)、GPRS−SMS(−12)、及びWi−Fi(+9)を得た。Wi−Fi通信経路が、使用のために選択される。   Selection of characteristics to be included in the configuration, assignment of characteristics for each communication method supported by a given device, and priority increase and decrease values selected for each characteristic are preferences for communication paths under various circumstances. Can be used to adjust as much as you need. As an example of a typical scene, a device capable of supporting three communication methods: GPRS, Wi-Fi, and Bluetooth can use both GPRS (both TCP / IP and SMS protocols) and Wi-Fi. However, Bluetooth may be located in public Wi-Fi hotspots in major cities that are not available. The user has configured the device settings to prefer high bandwidth (−10, +3), low transmission delay (−1, +5), and low cost (−1, +1), which is the communication path Means that the priority is reduced by 10 if it has a low bandwidth, and if it has a high bandwidth, the priority is increased by 3 and a similar adjustment is made for transmission delay and cost. GPRS-TCP / IP is configured to have low bandwidth, low transmission delay, and high cost. GPRS-SMS is configured as having low bandwidth, high transmission delay, and high cost. Wi-Fi is configured as having high bandwidth, low transmission delay, and low cost. Since Bluetooth is not available, its configuration is irrelevant. Since both available communication paths have the same security regulatory characteristics, this is not a relevant factor for making a decision between them. The device does not currently require push mode, so the lack of support for this capability is also irrelevant. The calculation gave the following scores for each method: GPRS-TCP / IP (-6), GPRS-SMS (-12), and Wi-Fi (+9). A Wi-Fi communication path is selected for use.

考えられる別の典型的な実装形態では、通信経路についてのプリファレンス点数の合計が、その通信経路が使用されるための指定の合計数を超えていなければならず、送信されるべきデータ項目の優先度又は最後の接続から経過した時間が、別の要因として合計点数に追加される。このようにすると、十分な必要性があり(例:優先度の高いデータ項目が
待機している又は所定の時間内に更新を探してポーリングする必要がある)尚且つより良い利用可能通信経路がない場合に、普通の状況下で使用するにはコストが高すぎる通信経路が使用のために選択される。一部の典型的な実装形態では、データ項目優先度は、データ項目のタイプによって異なってよい。例えば、要求に対するユーザの応答が、緊急警報の通知もそうであるように、非常に高い優先度を与えられるであろう一方で、画像データ項目を先取りするための要求又は所定のノード群が利用可能な更新を有するかどうかをチェックするための要求は、より低い優先度を与えられると考えられる。典型的な一実装形態では、優先度値は、ノードタイプに関連付けられ、別の典型的な実装形態では、優先度は、データ項目が伝送のためにサブミットされる時点で送信ソフトによって指定される、又はデータ項目を含むノードの自己記述データの一部としてデータ項目自体に記録される、又は当業者によって適切だと判断されるその他のやり方で処理される。
In another possible implementation, the total number of preference points for a communication path must exceed the specified total number for that communication path to be used, and the number of data items to be transmitted The priority or time elapsed since the last connection is added to the total score as another factor. In this way there is a sufficient need (e.g. high priority data items are waiting or need to be polled for updates within a given time) and there is a better available communication path If not, a communication path that is too expensive to use under normal circumstances is selected for use. In some typical implementations, the data item priority may vary depending on the type of data item. For example, a user's response to a request may be given a very high priority, as is an emergency alert notification, while a request or pre-determined node group is used to preempt image data items. A request to check if it has a possible update is considered to be given a lower priority. In one typical implementation, the priority value is associated with the node type, and in another typical implementation, the priority is specified by the sending software at the time the data item is submitted for transmission. Or recorded in the data item itself as part of the self-describing data of the node containing the data item or otherwise processed as deemed appropriate by those skilled in the art.

代替の典型的な実施形態では、最も好ましい1本又は複数本の通信経路の選択は、上述のようにはなされず、例えば、目標探索ルールベースシステム、推論法、ニューラルネットワーク、及び通信経路の利用可能性、ユーザの選択、又はその他のデータなどに関する履歴データを使用したパターン認識法など、人工知能手法を伴うなどの、より複雑な方法を使用して実施される。これらの又はその他の方法の組み合わせもまた、使用することができる。このタイプの典型的な方法は、「プリファレンス関数」の使用を伴う。「プリファレンス関数」は、保留中の各データ項目について、それが各利用可能通信経路を通じて送信された場合の「プリファレンス値」を計算するように実装される。プリファレンス関数は、利用可能通信経路の能力、送信されるべきデータ項目のサイズ、データ項目の優先度、利用可能通信経路の伝送時間遅延の最新履歴、通信経路のコスト(一部の場面では、これは、場所、時間帯、データ項目のサイズ、所定の時間内に送信されたデータの合計、若しくはその他の要因に応じて調整可能である)を記述したパラメータ、又は当業者によく理解されるその他のパラメータを使用する。データ項目と通信経路との各組み合わせについてプリファレンス値を計算した後、算出されたプリファレンス値が指定の閾値を超える任意の通信経路が、関連のデータ項目を送信するために選択される。プリファレンス値は、その計算に使用されるパラメータの変化に伴って再計算される。この方法は、コスト、速度、伝送遅延、又はその他などの選択された要因を最適化することができるように、指定の時間に特定のデータ項目を送信するのにどの1本又は複数本の通信経路が好ましいかに関する判定に到達するために任意の数の異なる要因を組み合わせることを可能にする。この方法は、上述のような単純な重み付け係数よりも複雑なプリファレンス関数の使用を可能にする。計算されたプリファレンス値を他の閾値と比較することによって、この方法は、データ項目をどのように送信するかのみならず、データ項目をいつ帯域外送信するかなどのその他の判断を解決するためにも使用することができる。   In an alternative exemplary embodiment, the selection of the most preferred communication path or paths is not made as described above, eg, target search rule-based system, inference method, neural network, and communication path utilization. It is implemented using more complex methods, such as with artificial intelligence techniques, such as pattern recognition using historical data on possibilities, user choices, or other data. Combinations of these or other methods can also be used. A typical method of this type involves the use of a “preference function”. A “preference function” is implemented to calculate a “preference value” for each pending data item when it is sent over each available communication path. The preference function is the capacity of the available communication path, the size of the data item to be transmitted, the priority of the data item, the latest history of the transmission time delay of the available communication path, the cost of the communication path (in some situations This can be adjusted depending on location, time of day, size of data item, total amount of data transmitted in a given time, or other factors), or is well understood by those skilled in the art Use other parameters. After calculating a preference value for each combination of data item and communication path, any communication path for which the calculated preference value exceeds a specified threshold is selected for transmitting the associated data item. The preference value is recalculated as the parameters used for the calculation change. This method allows any one or more communications to transmit a particular data item at a specified time so that selected factors such as cost, speed, transmission delay, or others can be optimized. Allows any number of different factors to be combined to arrive at a determination as to whether a route is preferred. This method allows the use of preference functions that are more complex than simple weighting factors as described above. By comparing the calculated preference value with other thresholds, this method resolves not only how to send data items, but also other decisions such as when to send data items out of band. Can also be used for.

代わりの通信経路が選択されたら、その経路を通じて通信を確立しなければならない。接続のないSMSなどの一部の通信経路の場合、これは、今後の伝送に新しい通信経路を使用する問題に過ぎないが、場合によっては、通信経路のフォーマット制約に適合させるためにデータ項目の再フォーマットが必要になることがある。データ項目の送信に先立つ接続の確立に依存するその他の通信経路の場合、通信経路の切り替えは、データ項目が送信される前に新しい接続が確立されていることを必要とする。一部のデバイスでは、このタスクは、デバイスオペレーティングシステムによって、アプリケーションソフトに対して透過的に処理される。その他のデバイス実装形態では、アプリケーションソフトがこのタスクを扱うように求められる。いずれの場合も、アプリケーションソフトは、データ項目伝送の再開前に、認証データの提供又はセッションコンテキストの再確立などのハンドシェーキングタスクを完了させるように求められる。   Once an alternative communication path is selected, communication must be established through that path. For some communication paths, such as unconnected SMS, this is only a matter of using the new communication path for future transmissions, but in some cases the data item's Reformatting may be necessary. For other communication paths that rely on establishing a connection prior to sending the data item, switching the communication path requires that a new connection be established before the data item is sent. In some devices, this task is handled transparently to application software by the device operating system. Other device implementations require application software to handle this task. In either case, the application software is required to complete handshaking tasks such as providing authentication data or re-establishing session context before resuming data item transmission.

一部の実施形態では、アプリケーションによる通信経路の切り替えを生じさせるために使用されるメカニズムは、典型的なデバイスの設計によって決定される。現時点で、様々
なデバイスメーカによって様々な方法が使用されており、将来のデバイスでは、更なる方法が可能であるとともに期待できる。Blackberryなどの一部の典型的なデバイスでは、アプリケーションは、接続されているデバイスのアドレス(URL)にパラメータを付加し、これを接続対象の「オープン」メソッドに引き渡すことによって、所定の接続のために使用されるべき通信経路を指定する。このようなデバイス上で通信経路を切り替えるには、アプリケーションは、既存の接続を閉じて、代わりの通信経路を指定する異なるパラメータを使用して新しい接続を開く。その他の典型的なデバイスでは、デバイスによってサポートされている各通信方法に対して異なる接続方法が使用され、アプリケーションソフトは、既存の通信経路が必要としていた方法を使用してその接続を閉じ、新しい通信経路が必要とする方法を使用してその上に新しい接続を開くことができる。更にその他の典型的なデバイス実装形態では、通信経路の選択は、物理的制御又はオペレーティングシステムユーティリティソフトを通じたデバイスユーザによる制御下にあり、アプリケーションソフトは、ユーザとやり取りして、異なる通信経路への変更を要求しなければならない。
In some embodiments, the mechanism used to cause the application to switch communication paths is determined by typical device design. At present, various methods are used by various device manufacturers, and in future devices, further methods are possible and expected. For some typical devices, such as Blackberry, the application adds a parameter to the address (URL) of the connected device and passes it to the “open” method to connect to for a given connection. Specifies the communication path to be used for. To switch communication paths on such a device, the application closes the existing connection and opens a new connection using different parameters that specify an alternative communication path. In other typical devices, a different connection method is used for each communication method supported by the device, and the application software closes the connection using the method required by the existing communication path and creates a new one. A new connection can be opened on it using the methods required by the communication path. In yet other typical device implementations, the communication path selection is under the control of the device user through physical control or operating system utility software, and the application software interacts with the user to route to different communication paths. You must request a change.

機能性の損失なく任意の適切な通信経路を通じてメッセージ及びメッセージセグメントを送信するための、並びにセグメント化されたメッセージの送信の途中でプロセスの中断なく通信経路の切り替えを行うための能力は、デバイスが、最速の利用可能通信経路を常時選択することによってスループットを最大に且つ応答遅延を最小にすること、使用中の通信経路が接続性を損失したときに代わりの通信経路にフェイルオーバすることによって信頼性を向上させること、送信されているデータ項目のタイプに適した通信経路を選択することによってコストを最小に抑えること、並びに例えばプッシュモードが求められ、全ての利用可能通信経路がこの動作方法をサポートしているのではないときなどに、通信経路の能力に基づく通信経路の選択及び使用を可能にすることによって機能性を向上させることを可能にする。   The ability to send messages and message segments over any suitable communication path without loss of functionality, and to switch communication paths in the middle of segmented message transmission without process interruption is Reliability by maximizing throughput and minimizing response delay by always selecting the fastest available communication path, and failing over to an alternate communication path when the communication path in use loses connectivity To minimize costs by selecting a communication path suitable for the type of data item being transmitted, and for example push mode is required, and all available communication paths support this method of operation Select the communication path based on the communication path capability when not And it makes it possible to improve the functionality by allowing use.

[複数経路データルーティング]
一部の典型的なデバイス実装形態では、一度に2本以上の通信経路を使用することが可能である。例えば、デバイスは、データ項目をWi−Fiを通じて交換しつつSMSを送信若しくは受信することができる、又は有線Ethernetポートを通して接続しつつBluetoothリンクによってデータ項目を転送することができる。1本の通信経路の使用についての上述された問題及び解決策は、接続性を損失したときの通信経路の切り替えや、利用可能な選択肢から適切な通信経路を選択する方法などを含むが、これら全ては複数の通信経路の使用にも当てはまる。複数の通信経路の使用は、しかしながら、更なる能力と、検討されなければならない更なる問題とをもたらす。
[Multi-route data routing]
Some typical device implementations can use more than one communication path at a time. For example, a device can send or receive SMS while exchanging data items over Wi-Fi, or can transfer data items over a Bluetooth link while connecting through a wired Ethernet port. The above-mentioned problems and solutions regarding the use of a single communication path include switching the communication path when connectivity is lost, and a method for selecting an appropriate communication path from the available options. All apply to the use of multiple communication paths. The use of multiple communication paths, however, introduces additional capabilities and additional issues that must be considered.

複数の通信経路を同時に使用すると、全ての利用可能な通信経路を通じてデータ項目が送信されるので、デバイスの総帯域幅が増す。受信システム上のノード蓄積部は、損なわれずに到着する全てのデータ項目を保存しつつ、あらゆる重複を排除し、通ってきた通信経路に関係なくそれらを合体させる。ひとたび受信されれば、ノード構造又はコンテンツに違いはないので、所定のデータ項目がどの通信経路を通して送信されたかで違いはなく、通信経路が時間の経過とともに接続性を損失したり獲得しても、メッセージは接続性を維持するとともに、特性についての要件、優先度の要件、又は本明細書に記載されるその他の要因を満足させる他の任意の通信経路を通じて送受信され続けることができる。   Using multiple communication paths simultaneously increases the total bandwidth of the device because data items are transmitted through all available communication paths. The node accumulator on the receiving system saves all data items arriving intact and eliminates any duplication and merges them regardless of the communication path that has passed. Once received, there is no difference in node structure or content, so there is no difference in which communication path a given data item was sent through, even if the communication path loses or gains connectivity over time. , Messages can continue to be sent and received through any other communication path that maintains connectivity and satisfies characteristics requirements, priority requirements, or other factors described herein.

送信デバイスは、各通信経路を通してどのデータ項目を送信するかを選択するために、幾つかの異なる手続きを使用することができる。考えられる手続きの例は以下の通りである。空きができてデータ項目を受け入れ可能になった第1の通信経路を通じて次のデータ項目を1つずつ列にして送信する。データ項目の特性を通信経路の特性と一致させる(例:大きいデータ項目を高帯域幅通路を通じて送信して小さいデータ項目を低帯域幅通路を
通じて送信する、若しくはプッシュモードで送信されなければならないデータ項目を、プッシュモードをサポートしていない通信経路ではなくプッシュモードをサポートしている通信経路を通じて送信する)。優先度の最も高いデータ項目を優先度の低いデータ項目よりも先にして、優先度順にデータ項目を送信する。プルモード要求に応答して送信されているデータ項目をある通信経路を通じて送信し、別の通信経路をプッシュモード交換のためにとっておく。また、これらの手続き若しくは当業者によって適切だと判断されるその他の手続きの任意の組み合わせ。手続きは、スループットを最大にすること、ユーザに対する応答性を向上させること、コストを最小にすること、アプリケーション開発者にとっての柔軟性を最大にすること、又はこれらの若しくはその他の目的の任意の組み合わせを達成するように選択される。一部の典型的な実装形態では、どの通信経路を使用するかを決定するために、上述された優先度調整方法に基づく方法が使用される。各利用可能通信方法について優先度値が決定されると、設定値を上回る点数を有するものが使用される。設定値を下回るものは使用されない。或いは、設定値を下回る点数を有するものは、通信の必要があり(メッセージが送信待ちしている又は予定されるポーリングの時間である)尚且つより高い点数の利用可能な方法がない事態にならない限り、使用されない。一部の典型的な実装形態では、ユーザは、設定閾値を下回る点数を持つ通信方法の使用を明示的に承認する必要がある。これは、デバイスをWi−Fiホットスポットに移すこと、デバイスを有線Ethernetに接続すること、又はその他の手段を通して別の通信方法を代わりに利用可能にする機会を提供する。
The sending device can use several different procedures to select which data items to send through each communication path. Examples of possible procedures are: The next data items are transmitted one by one through the first communication path that is free and can accept the data items. Match the characteristics of the data item with the characteristics of the communication path (eg, a data item that must be sent in a push mode or a large data item sent over a high bandwidth path and a small data item sent over a low bandwidth path) Is sent over a communication path that supports push mode, not a communication path that does not support push mode). Data items are transmitted in order of priority, with the data item having the highest priority prior to the data item having the lowest priority. The data item being transmitted in response to the pull mode request is transmitted through a certain communication path, and another communication path is reserved for push mode exchange. And any combination of these procedures or other procedures deemed appropriate by those skilled in the art. Procedures can maximize throughput, improve responsiveness to users, minimize costs, maximize flexibility for application developers, or any combination of these or other purposes Selected to achieve. In some exemplary implementations, a method based on the priority adjustment method described above is used to determine which communication path to use. When the priority value is determined for each available communication method, the one having a score exceeding the set value is used. Those below the set value are not used. Alternatively, those with a score below the set value need to be communicated (messages are waiting to be sent or scheduled polling time), and there is no higher score available method As long as not used. In some typical implementations, the user needs to explicitly approve the use of a communication method that has a score below a set threshold. This provides an opportunity to move the device to a Wi-Fi hotspot, connect the device to a wired Ethernet, or otherwise make another communication method available instead.

全ての利用可能通信経路が、信頼性がなかったり配信の発生までに時折大きな遅延を伴ったりする傾向が場合は、配信の機会を最大限にするため及び配信の発生までの時間を最短にするために、同じデータ項目を2本以上の通信経路を通じて送信することができる。この場面では重複配信が起こり得るが、上述された重複の検出及び取り扱いの手続きがこの問題を処理し、これらの重複を保存前に排除する。一部の典型的な実装形態では、このようなデータ項目の重複送信は、優先度の高いデータ項目に限られ、より優先度の低いデータ項目は、1本の通信経路を通じてのみ送信され、アプリケーションレベルのプロトコルが、損失された又は破壊されたデータ項目を上述のようなやり方で処理する。   If all available communication paths tend to be unreliable or occasionally have significant delays before delivery occurs, maximize delivery opportunities and minimize time to delivery Therefore, the same data item can be transmitted through two or more communication paths. Although duplicate delivery can occur in this scene, the duplicate detection and handling procedure described above handles this problem and eliminates these duplicates prior to storage. In some typical implementations, duplicate transmission of such data items is limited to high priority data items, and lower priority data items are transmitted only through a single communication path, A level protocol handles lost or corrupted data items in the manner described above.

デバイスの例
図6は、図1に提示された典型的なアーキテクチャのような通信システムアーキテクチャと適合可能なデバイスの通信部分の典型的で非限定的な実装形態を示しており、第1のデバイス(6000)は、特定の通信経路インスタンス(6710、6720)を通して1つ又は複数の他のデバイス(6610、6620)と通信する。このような各デバイスは、一連の利用可能通信技術の少なくとも1つにアクセス可能な1つ又は複数の通信インターフェース(6300a、6300b)を含む。典型的なデバイスは、更に、少なくとも1つのプロトコルマネージャ(6210a、6210b)を更に含むディスパッチマネージャ(6220)と、少なくとも1つのセッションマネージャ(6200)と、ノード蓄積・キャッシュ部(6500)とを含む。プロトコルマネージャは、通信インターフェース(6300a、6300b)によって使用される通信技術の実装形態によって必要とされるとおりにデータ項目のフォーマット及びコンテンツを変更するために、デバイス上に提供される。デバイス6000は、コンピュータプログラムコードデバイス(本明細書では「ノード」と称される)を使用して指定のアプリケーションタスクを処理し、これらのタスクは、第2のデバイス上における受信及び処理のために第1のデバイスから伝送されるように構成される。
Example Device FIG. 6 illustrates an exemplary, non-limiting implementation of a communication portion of a device that is compatible with a communication system architecture such as the exemplary architecture presented in FIG. (6000) communicates with one or more other devices (6610, 6620) through a particular communication path instance (6710, 6720). Each such device includes one or more communication interfaces (6300a, 6300b) that are accessible to at least one of a series of available communication technologies. The exemplary device further includes a dispatch manager (6220) further including at least one protocol manager (6210a, 6210b), at least one session manager (6200), and a node storage and cache unit (6500). A protocol manager is provided on the device to change the format and content of the data items as required by the communication technology implementation used by the communication interface (6300a, 6300b). Device 6000 uses computer program code devices (referred to herein as “nodes”) to process specified application tasks that are received and processed on a second device. The first device is configured to be transmitted.

[セッションマネージャ]
セッションマネージャコンポーネントは、プロトコルマネージャのアクティビティを管理し、他のデバイスからの接続を受け入れるかどうか、データ項目をどのようにルーティングするかに関する判定を下し、関連の機能性をデバイスに提供する。
[Session Manager]
The session manager component manages the protocol manager activity, makes decisions regarding whether to accept connections from other devices, how to route data items, and provides related functionality to the device.

デバイスの典型的で非限定的な実装形態が複数の通信経路の使用をサポートしているときは、利用可能なもののなかから使用のために1本又は複数本の通信経路を選択するメカニズムがセッションマネージャの一部として供給される。これは、本明細書では「選択アルゴリズム」と称される。各通信経路の特性を選択アルゴリズムが使用して、1本又は複数本の通信経路の使用を好ましいものとして確立し、またその他の(1本又は複数本の)特定の通信経路の使用を回避する。選択アルゴリズムは、また、好ましい1本又は複数本の通信経路を選択する際の要因として、優先度、サイズ、又は伝送を待機している時間などの、送信されるべきメッセージの特性も使用することができる。例えば、ビデオクリップなどの非常に大きいメッセージが送信されるときは、SMS又はMMSなどの帯域幅の限られた通信経路を通じてではなく、Wi−Fiなどの帯域幅の大きい通信経路を通じてメッセージを送信することが好ましい。一方の通信経路が固定費用で使い放題である一方で、他方の通信経路が伝送ごとに料金を課す場合は、固定費用の経路を優先的に使用し、伝送ごとに課金される経路は、固定費用の経路が利用可能でないときにのみ使用する、又は伝送ごとに課金される経路の使用を完全に回避する、又はその使用を優先度の高いメッセージだけに制限することが望ましい。プッシュモード伝送が必要とされる別の例では、このモードをサポートしている通信経路が使用されなくてはならず、実装方式ゆえにこのモードをサポートすることができない通信経路は使用することができない。場合によっては、複数通信経路を協調プッシュモードで使用すると有利であり、この場合は、プッシュモードをサポートしているがそれ以外では伝送用として不適切な選択である利用可能通信経路が、協調プッシュモード補助機能を伴った通信要求コマンドを含むメッセージなどの要求を、受け手デバイスに送信するために使用される。この要求メッセージは、要求デバイスがメッセージを伝送することが可能な適切な通信経路を使用して、要求デバイスとのプルモード接続を開始するように、受け手デバイスを促す。   When a typical, non-limiting implementation of a device supports the use of multiple communication paths, a mechanism for selecting one or more communication paths for use from those available is a session. Supplied as part of the manager. This is referred to herein as a “selection algorithm”. The characteristics of each communication path are used by the selection algorithm to establish the preferred use of one or more communication paths and avoid the use of other specific communication path (s). . The selection algorithm should also use the characteristics of the message to be sent, such as priority, size, or time waiting for transmission, as factors in selecting the preferred communication path or paths. Can do. For example, when a very large message such as a video clip is transmitted, the message is transmitted through a communication path with a large bandwidth such as Wi-Fi, instead of a communication path with a limited bandwidth such as SMS or MMS. It is preferable. If one communication path can be used at a fixed cost and the other communication path charges a fee for each transmission, the fixed cost path is preferentially used, and the path charged for each transmission is fixed. It is desirable to use only when the cost path is not available, or to avoid the use of a path that is charged for each transmission, or to limit its use to only high priority messages. In another example where push mode transmission is required, a communication path that supports this mode must be used, and a communication path that cannot support this mode because of the implementation scheme cannot be used. . In some cases, it is advantageous to use multiple communication paths in cooperative push mode, in which case the available communication paths that support push mode but are otherwise inappropriate choices for transmission are coordinated push. Used to send a request, such as a message, including a communication request command with a mode assist function to the recipient device. This request message prompts the recipient device to initiate a pull mode connection with the requesting device using an appropriate communication path through which the requesting device can transmit the message.

伝送する1つ又は複数のメッセージをデバイスが有し、しかしながら、使用中の通信経路が何らかの理由で適切でないときは、デバイスは、適切な通信経路が利用可能になるまで(1つ又は複数の)メッセージを保存することができる。もしメッセージの1つ又は複数が十分に高い優先度を有し、現時点では使用されていないが利用可能ではある適切な通信経路があるならば、デバイスは、一部の典型的な実装形態では、通信経路を切り替えて待機メッセージを送信するように構成することができる。一部の典型的な実装形態では、ユーザはできるだけ早く適切な通信経路をサポートして伝送を達成することができる場所にデバイスを移動させるように、SMSメッセージ又は音声メッセージなどの適切な手段によって要求される。   If the device has one or more messages to transmit, but the communication path in use is not suitable for some reason, the device will continue to have the appropriate communication path (s) available (s) You can save the message. If one or more of the messages has a sufficiently high priority and there is a suitable communication path that is not currently used but available, the device may in some typical implementations: The standby message can be transmitted by switching the communication path. In some typical implementations, the user requests by appropriate means, such as an SMS message or voice message, to move the device to a place where transmission can be achieved by supporting an appropriate communication path as soon as possible. Is done.

一部の典型的な実装形態では、所定の通信経路を使用するかどうかを判断するときのプリファレンス計算に、一部の伝送に関連した優先度が組み込まれる。例えば、優先度の高い伝送は、好ましくない通信経路が唯一の利用可能な経路である場合、又は好ましくない通信経路が特定の伝送に有利な特性(プッシュモードに対するサポートなど)を有する一方でその他の利用可能通信経路がその所要特性を有さない場合に、結果として、その好ましくない通信経路を使用することがある。複数通信経路の同時使用をサポートしているデバイスでは、このような優先度の高い伝送をOOBで行い、優先度の低い伝送は好ましい通信経路を使用したり好ましい通信経路が利用可能になるまで遅延させたりする。伝送優先度値は、構成設定によって、又は伝送の要求時にユーザからの入力によって、又は伝送手続きの設計によって、又は当業者によって適切だと判断されるその他の手段によって確立される。伝送優先度値は、伝送要求を実装する手続きによって、関数パラメータ、参照データ構造、又はその他のよく使用される方法などの手段を通じて伝送に関連付けられる。伝送優先度値は、伝送されるメッセージに組み込まれた優先度値の使用によって、又は優先度値をこのようなメッセージに非直接的な手段を通して(例:優先度の高い伝送を高優先伝送待ち行列に入れ、優先度の低い伝送を低優先伝送待ち行列に入れることによって
)関連付けることによって、又はその他の任意の適切なメカニズムによって運ばれる。
In some typical implementations, the preference associated with some transmissions is incorporated into the preference calculation when determining whether to use a given communication path. For example, high-priority transmissions may be used if the unfavorable communication path is the only available path, or the unfavorable communication path has characteristics that favor certain transmissions (such as support for push mode) If an available communication path does not have the required characteristics, it may result in using the undesired communication path. Devices that support the simultaneous use of multiple communication paths perform such high-priority transmission using OOB, and low-priority transmission uses a preferred communication path or delays until a preferred communication path becomes available. I will let you. The transmission priority value is established by configuration settings or by input from the user when requesting transmission, or by design of the transmission procedure, or by other means deemed appropriate by those skilled in the art. The transmission priority value is associated with the transmission through means such as function parameters, reference data structures, or other commonly used methods, depending on the procedure that implements the transmission request. The transmission priority value may be determined by the use of a priority value embedded in the message being transmitted or through a means that is non-direct to the priority value such as a message (eg high priority transmission waiting for high priority transmission). Carried by associating (by placing low priority transmissions into a low priority transmission queue) or by any other suitable mechanism.

その他に、所定の通信経路を特定の目的で使用することを不可能にする特性がある。例えば、Wi−Fi通信経路の場合、Wi−Fiサービスを通して接続されるデバイスは、通常、サービスに接続するごとに異なるネットワークアドレスを付与される。したがって、Wi−Fi接続デバイスが接続を確立する(プルモード)までそのWi−Fi接続デバイスにデータ項目を送信することができない。他のデバイスは、それ以外の時間にWi−Fi接続デバイスに到達するすべがない。しかしながら、SMS又はMMSなどの他の通信経路の場合、デバイスは、固定のアドレスを有しており、そのアドレスへのアクセスを有する他の任意のデバイスによって到達する(プッシュモード)ことが可能である。一部の通信経路は、実施されるべき動作がその通信経路によってサポートされている特性を必要とするときは、たとえ他の通信経路のほうが大量のデータ項目伝送に好ましい場合でも使用のために選択されることがある。   In addition, there is a characteristic that makes it impossible to use a predetermined communication path for a specific purpose. For example, in the case of a Wi-Fi communication path, a device connected through a Wi-Fi service is usually given a different network address each time it connects to the service. Therefore, the data item cannot be transmitted to the Wi-Fi connection device until the Wi-Fi connection device establishes the connection (pull mode). Other devices have no way to reach the Wi-Fi connected device at other times. However, for other communication paths such as SMS or MMS, the device has a fixed address and can be reached (push mode) by any other device that has access to that address. . Some communication paths are selected for use when the action to be performed requires characteristics that are supported by the communication path, even if other communication paths are preferred for transmitting large amounts of data items It may be done.

複数の利用可能通信経路があるときは、デバイスは、1本又は複数本を使用のために選択することができ、好ましい1本若しくは複数本の経路が利用可能でなくなったときに(経路損失切り替え)、又はあるときは速度、応答性、コスト、信頼性、若しくはその他の各種の通信特質を最適化するために(最適化切り替え)、通信経路間で切り替えを行うことができる。経路損失を検出するため及び好ましい経路を決定するためなどの幾つかの典型的な方法の詳細な説明が、以下で提供される。   When there are multiple available communication paths, the device can select one or more for use, and when one or more preferred paths become unavailable (path loss switching ), Or in some cases, can be switched between communication paths to optimize speed, responsiveness, cost, reliability, or other various communication characteristics (optimization switching). A detailed description of some exemplary methods, such as to detect path loss and to determine a preferred path, is provided below.

通信経路を個別に使用したのでは実施が不可能だと考えられる特定の動作を実行するために、異なる複数の通信経路を共同で使用することができる。典型的で例示的な一実装形態では、デバイスは、Wi−Fi及びSMSの両能力を有する。Wi−Fi接続性は、大帯域幅を有し、固定費用でデータを転送し放題であるが、「ホットスポット」と呼ばれる局所的な領域内でのみ尚且つモバイルクライアントデバイスが接続を開始させる必要がある「プルモード」でのみ動作する。SMS接続性は、小帯域幅を有し、伝送ごとに費用を課されるが、より広範囲のサービス可用性を有し、サーバ又はクライアントが通信を開始させることができる「プッシュモード」で動作することができる。クライアントデバイスが接続されておらず、尚且つ普通は接続を開始させないと考えられるときに、そのクライアントデバイスにサーバデバイスがデータ項目を転送する必要がある状況では、サーバデバイスは、SMSを使用して、コマンドを含むメッセージをプッシュモードでクライアントに送信することができ、すると、クライアントデバイスは、Wi−Fiを通じてサーバへのOOB接続を開始させる。Wi−Fiは、次いで、より高速で且つより安価なWi−Fi接続を通じてデータ項目を転送するために使用される。一部の典型的な実装形態では、SMS通信経路を通じてメッセージが送信された結果、ユーザは、もしデバイスがまだWi−Fiホットスポットにない場合にデバイスをWi−Fiサービスを利用可能な場所に移動させるように要求されることがある。   A plurality of different communication paths can be used jointly to perform a specific operation that would be impossible to implement if the communication paths were used individually. In one exemplary exemplary implementation, the device has both Wi-Fi and SMS capabilities. Wi-Fi connectivity has high bandwidth and is free to transfer data at a fixed cost, but only within a local area called a “hot spot” and the mobile client device needs to initiate a connection Only works in “pull mode”. SMS connectivity has a small bandwidth and is charged for each transmission, but has a wider service availability and operates in a “push mode” where a server or client can initiate communication Can do. In situations where the server device needs to transfer data items to the client device when the client device is not connected and would normally not initiate a connection, the server device uses SMS. , A message containing the command can be sent to the client in push mode, and the client device initiates an OOB connection to the server via Wi-Fi. Wi-Fi is then used to transfer data items over a faster and cheaper Wi-Fi connection. In some typical implementations, as a result of the message being sent over the SMS communication path, the user moves the device to a location where Wi-Fi service is available if the device is not already at the Wi-Fi hotspot. You may be required to

プッシュモードは、また、一部の典型的で例示的な実装形態では、告知及び受け入れ(A&A)を実装するためにも使用される。A&Aは、実施されるべきタスクがあり、そのタスクを実施可能であると考えられるユーザが複数あり、しかしながら、どの(1人又は複数人の)ユーザが対応可能で、その意思があり、尚且つその能力があるかがわからないときのプロセスである。プロセスは、場所、職務、名前、又はその他の手段に起因してタスクを実施する有力候補として選ばれた1人又は複数人のユーザに関連付けられた1つ又は複数のデバイスに告知メッセージを送信すること、ユーザ応答を収集すること、それらを要求サーバに返すこと、及びタスクの実施に対して肯定的に応答するもののなかから1人又は複数人を選ぶことを含む。タスクの実施は、更なるA&Aやり取り、1つ若しくは複数のタスクに関連付けられたデータ項目をダウンロードすること、デバイス上に既に存在しているプリキャッシュデータ項目を使用すること、又はその他のプロセスを含むこと
ができる。
Push mode is also used in some exemplary exemplary implementations to implement announcements and acceptances (A & A). An A & A has a task to be performed, and there are multiple users who are considered capable of performing that task, however, which (one or more) users are available and willing to do so, and This is the process when you don't know if you have that ability. The process sends an announcement message to one or more devices associated with one or more users selected as potential candidates to perform the task due to location, job function, name, or other means Collecting user responses, returning them to the request server, and selecting one or more of those that respond positively to the performance of the task. Task implementation includes further A & A interactions, downloading data items associated with one or more tasks, using pre-cache data items that already exist on the device, or other processes. be able to.

一部の典型的で例示的な実装形態では、正常機能は、デバイスからサーバデバイスに対するポーリングを、定期的に、又は更新されたデータ項目を要求したり応答ノードを送信したりする必要があるとき随時に、又はデバイスが特定種類の通信経路の利用可能性を検出したときに、行うことを含む。例えば、10分に一度、又はユーザが伝送するべきデータ項目を入力するとき随時に、又は利用可能なWi−Fi通信経路があるとき随時になどである。これは、大半の状況では十分であるが、なかには、デバイスがサーバに接続されていないときにこのデバイスに対して送信する必要のあるデータ項目をサーバデバイスが有しているときや、デバイスに転送するべきデータ項目又はその他のデータを第2の非サーバデバイスが有している(P2P)ときがある。例えば、カタログのデータ項目が変更されたときや、監督者のデバイスが一連のノードで表わされたタスクを有し、再割り当てのためにそれを作業員のデバイスに転送しなければならないときなどのように、デバイスに事前に送信されているノードの更新ヴァージョンが利用可能であって、尚且つその更新ヴァージョンのノードをできるだけ早く取得できるようにデバイスが同期化される必要があるときなどがある。このような状況では、プッシュモードの使用が求められるが、プッシュモードを上述のように使用してプルモード接続をトリガすることは、可能でない又は最適でないことがある。例えば、もし、プルモード接続のために使用するように設定されたどの通信経路も利用可能でない場合は、デバイスは、このような通信経路が利用可能になるまでトリガに対する応答を遅延させることがある。デバイスを同期化する必要性が緊急であるとき、又はプルモードが更新ヴァージョンのノードなしでは機能できない(例:注文書の価格情報を更新する若しくはサーバアドレス情報が変更された)場合、更新を必要とするノードは、プッシュモード又は協調プッシュモードで送信される。この伝送は、コストの増加又はデータ項目の伝送に要する時間にかかわらず、このような転送のために優先的に使用されていた以外の通信経路を通じて(例:Wi−Fi又はBluetoothではなくSMS又はMMSを通じて)行うことができる。   In some exemplary exemplary implementations, the normal function is to poll the server device from the device, periodically, or when requesting an updated data item or sending a response node At any time or when the device detects the availability of a particular type of communication path. For example, once every 10 minutes, or whenever the user enters a data item to be transmitted, or whenever there is an available Wi-Fi communication path. This is sufficient for most situations, but when the server device has a data item that needs to be sent to the device when it is not connected to the server, or transferred to the device. Sometimes the second non-server device has a data item or other data to do (P2P). For example, when a data item in the catalog has changed, or when the supervisor's device has a task represented by a series of nodes that must be transferred to the worker's device for reassignment There are times when an updated version of a node that has been sent to the device in advance is available, and the device needs to be synchronized so that the node of that updated version can be obtained as soon as possible. . In such situations, the use of push mode is sought, but it may not be possible or optimal to use the push mode as described above to trigger a pull mode connection. For example, if no communication path configured for use for a pull mode connection is available, the device may delay a response to the trigger until such a communication path becomes available. If the need to synchronize the device is urgent, or if pull mode cannot function without an update version of the node (eg, update price information in order or server address information has changed), update is required The node that performs the transmission is transmitted in the push mode or the cooperative push mode. This transmission may be performed over a communication path other than that preferentially used for such transfer (eg, SMS or not Wi-Fi or Bluetooth), regardless of the increased cost or time taken to transmit the data item. Through MMS).

一部の典型的な実装形態では、デバイスは、一度に1つの所定のタイプの通信経路を通じた単一の接続に限られており、異なる通信経路を使用するOOB伝送の使用は、更なる接続を実装するため又は全帯域幅を増やすために使用される。一部の通信経路は、伝送中に許容できない遅延を含む又は信頼性が低く若しくは断続的になりえるので、場合によっては、所定のデータ項目を幾本かの通信経路によって一挙に送信することが望ましいとされる。このような冗長性(redundancy)は、レシーバにおいてデータ項目が適時に受信される機会を増やすが、伝送を重複させる可能性もある。ノードは、一意のノードID及びヴァージョン情報を有するので、レシーバは、このような重複を認識して廃棄したり、伝送が遅れた期限切れのノードを認識して廃棄したりすることができる。   In some typical implementations, the device is limited to a single connection through one predetermined type of communication path at a time, and the use of OOB transmission using different communication paths is a further connection. Used to implement or increase the overall bandwidth. Some communication paths contain unacceptable delays during transmission, or can be unreliable or intermittent, so in some cases, a given data item may be sent at once by several communication paths. Desirable. Such redundancy increases the chance that a data item is received in a timely manner at the receiver, but may also duplicate transmissions. Since the node has a unique node ID and version information, the receiver can recognize and discard such duplication, or can recognize and discard an expired node whose transmission has been delayed.

メッセージ又はメッセージセグメントを交換するためには、デバイスが有していなければならない情報は、どの通信経路がサポートされているかに関する情報、どの受け手指定情報を提供するかに関する情報であり、更に、一部の典型的な実装形態では、認証証明、暗号化キー、ポーリング予定、又は通信経路へのアクセスを得て、対象とされる受け手へデータ項目をルーティングし、それらを所要の形態で送信するために必要とされるその他の情報も有していなければならない。デバイスは、そのメーカ、ユーザ、又はその他によって、少なくとも1つのサーバに接続すること並びにそのサーバとデータ項目及びコマンドを交換することを可能にする十分な情報を持つように、初期構成される。随意として、デバイスは、更なる初期構成情報を持つように構成される。デバイスは、他のデバイスとデータ項目を交換するために必要とされる情報を指定する更なる通信構成情報を、(1つ又は複数の)初期構成されたサーバから、そしてその後は上記他のデバイスから取得することができる。取得される更なる情報としては、デバイスID、デバイスユーザ名、他のデバイスによってサポートされている通信経路、TCP/IPアドレス、携帯電話番号、
若しくはBluetoothデバイス情報などのデータルーティング情報、Wi−Fiホットスポットログインアカウント及びパスワード情報などの認証情報、SMS、DNS、若しくはe−mailなどサービスのためのサーバアドレス、予定されるポーリング間隔若しくは時間データ、通信経路プリファレンス構成データ、伝送待機中のデータの優先度に基づいて通信経路の使用を調整するために使用されるデータ優先度構成データ、又はデバイス間の通信に関連したその他の情報が挙げられる。
The information that a device must have in order to exchange messages or message segments is information about which communication paths are supported, information about which recipient designation information is provided, and some In a typical implementation of, to gain access to authentication credentials, encryption keys, polling schedules, or communication paths, route data items to the intended recipient, and send them in the required form You must also have any other information that is needed. The device is initially configured to have enough information to allow it to connect to and exchange data items and commands with that server by its manufacturer, user, or others. Optionally, the device is configured to have further initial configuration information. The device sends further communication configuration information specifying the information needed to exchange data items with the other device from the initially configured server (s) and thereafter the other device. Can be obtained from. Additional information to be acquired includes device ID, device user name, communication path supported by other devices, TCP / IP address, mobile phone number,
Or data routing information such as Bluetooth device information, authentication information such as Wi-Fi hotspot login account and password information, server address for services such as SMS, DNS, or e-mail, scheduled polling interval or time data, Communication path preference configuration data, data priority configuration data used to adjust the use of the communication path based on the priority of the data waiting for transmission, or other information related to communication between devices. .

[プロトコルマネージャ]
伝送及び受信に関する上記の説明では、典型的で例示的で非限定的な現実装形態の典型的なプロトコルマネージャによる処理について言及されている。プロトコルマネージャは、伝送されるデータ項目に対して通信経路に特有な変更を加えるため及び受信の際にそれらの変更を元に戻すために使用される。変更は、データ表現、メッセージサイズ、又は伝送されるデータ項目のその他の特性に対する制限に対処するために、一部の通信経路にとって必要である。
[Protocol Manager]
In the above description of transmission and reception, reference is made to processing by a typical protocol manager in a typical, exemplary and non-limiting implementation. The protocol manager is used to make communication path specific changes to the data items being transmitted and to undo those changes upon receipt. Changes are necessary for some communication paths to address restrictions on data representation, message size, or other characteristics of the transmitted data items.

図7は、ディスパッチマネージャによって伝送されているデータ項目に対してプロトコルマネージャによってなされる処理を示したフローチャートである。ディスパッチマネージャは、伝送されるデータを含むデータブロックをプロトコルマネージャに引き渡す(7000)。プロトコルマネージャは、プロトコルマネージャによってサポートされている通信経路との適合性についてデータバイトをチェックする(0710)。   FIG. 7 is a flowchart showing processing performed by the protocol manager on the data item transmitted by the dispatch manager. The dispatch manager delivers a data block containing the data to be transmitted to the protocol manager (7000). The protocol manager checks the data bytes for compatibility with the communication paths supported by the protocol manager (0710).

適合していない場合(7020)、データブロックは、その不適合性を取り除くために符号化される。データを符号化する方法は、当業者によく知られており、問題のあるバイトを「エスケープ」する、すなわち、タグバイトを使用して問題のあるバイトの位置を識別し、問題のあるバイトの値を特定する適合するバイトで置き換えるなどの技術がある。   If not (7020), the data block is encoded to remove its incompatibility. Methods of encoding data are well known to those skilled in the art and “escape” the problematic byte, ie, use the tag byte to identify the location of the problematic byte, There are techniques such as replacing with a suitable byte that identifies the value.

結果として得られたデータブロックが、プロトコルマネージャに関連付けられた通信経路を通じて一度に伝送するには大きすぎる場合(7040)、データブロックは、受け手のプロトコルマネージャによる元のデータブロックへの再構築を可能にするセグメントヘッダデータの追加した後でも、通信経路の最大伝送単位サイズを超えないような、複数のセグメントに分割される(7030)。   If the resulting data block is too large to be transmitted at once (7040) over the communication path associated with the protocol manager, the data block can be reconstructed into the original data block by the recipient protocol manager Even after the segment header data to be added is added, it is divided into a plurality of segments that do not exceed the maximum transmission unit size of the communication path (7030).

送信するセグメント又はデータブロックが残っている間(7060)は、それらを送信し(7050)、その後は、プロセスは終了し、ディスパッチマネージャに制御を返される。   While there are remaining segments or data blocks to send (7060), they are sent (7050), after which the process ends and control is returned to the dispatch manager.

図8は、受け手のセッションマネージャによるデータ項目の処理に使用されているときのプロトコルマネージャによってなされる処理を示したフローチャートである。プロトコルマネージャは、通信インターフェースを通して受信された状態でメッセージ又はメッセージセグメントを与えられる(8000)。より大きいメッセージの一セグメントを与えられた場合(8010)、プロトコルマネージャは、そのセグメントをメッセージバッファに加え、それを、これまでに受信された同じメッセージのセグメントに関連付ける(8020)。   FIG. 8 is a flowchart showing the processing performed by the protocol manager when it is being used to process data items by the receiver session manager. The protocol manager is given a message or message segment as received through the communication interface (8000). Given a segment of a larger message (8010), the protocol manager adds the segment to the message buffer and associates it with the segment of the same message received so far (8020).

完全なメッセージが受信されたがゆえに、又はより大きいメッセージの全てのセグメントが受信されたがゆえに、完全なメッセージが得られた場合(8030)、プロトコルマネージャは、問題のあるデータバイトの符号化、圧縮、暗号化、又はその他など、送り手のプロトコルマネージャによってなされたあらゆる伝送変更を排除して、元のデータブロックを復元する(8040)。このデータブロックは、通信経路に依存しない更なる処理のためにディスパッチマネージャに引き渡され、プロセスは終了する。   If the complete message was obtained because the complete message was received, or because all segments of the larger message were received (8030), the protocol manager will encode the problematic data bytes, The original data block is restored (8040), eliminating any transmission changes made by the sender's protocol manager, such as compression, encryption, or others. This data block is passed to the dispatch manager for further processing independent of the communication path, and the process ends.

データ項目は、受信された後、重複ノードを除外するためにチェックされ、もし(本明細書で説明されるように)唯一である又は既存ノードに対する更新であるとわかった場合は、デバイスのノード蓄積部(Node Store)に置かれる。これは、データ項目が、任意の利用可能通信経路を通じて又は同時に複数の通信経路を通じて送信されることを可能にし、使用中の又は使用のために利用可能な(1本又は複数本の)通信経路についてディスパッチマネージャ以外のコンポーネントが心得ている必要性を生み出すことなく必要に応じて各種の通信経路間で切り替えを行うことを可能にする。これは、ノード蓄積部及びデータ項目処理コンポーネントの実装を単純にする。   After the data item is received, it is checked to exclude duplicate nodes, and if it is found to be unique (as described herein) or an update to an existing node, the node of the device It is placed in the storage unit (Node Store). This allows data items to be sent through any available communication path or simultaneously through multiple communication paths, and the communication path (s) in use or available for use It is possible to switch between various communication paths as needed without creating the need that components other than the dispatch manager know about. This simplifies the implementation of the node store and data item processing components.

[ノード蓄積・キャッシュ部]
図6によって示された実施形態に再び言及すると、ノード蓄積部(6500)は、デバイスに送信されたデータ項目、デバイスから送信されるのを待っているデータ項目、及びデバイスから送信されるのを待っているコマンドの、保存とアクセスとをサポートしている。データ項目は、デバイスに適したフォーマットで保存される。データ項目には、ノードを含むものがある。ノードは、ユーザデータ要素、ユーザインターフェース命令(視覚的な行為又はインタラクティブな行為)、及び実行可能なビジネスロジックを表わすことができる。好ましい典型的で例示的で非限定的な実装形態では、ノード蓄積部は、ノード属性を保存に関連した属性に維持し、暗号化、圧縮、又はその他の保護を加える。
[Node accumulation / cache section]
Referring back to the embodiment illustrated by FIG. 6, the node store (6500) receives data items sent to the device, data items waiting to be sent from the device, and sent from the device. Supports saving and accessing waiting commands. Data items are stored in a format suitable for the device. Some data items include nodes. Nodes can represent user data elements, user interface instructions (visual or interactive actions), and executable business logic. In a preferred exemplary, exemplary, and non-limiting implementation, the node store maintains node attributes as storage related attributes and adds encryption, compression, or other protection.

代替の典型的で例示的で非限定的な一実装形態では、データ項目は、通信ネットワークを通じて転送される形式と同様のフラットファイル内に(ただし、セグメント化、特殊な文字処理、圧縮、又は暗号化フィルタリングを施されずに)ASCII文字列として保存される。この典型的で例示的で非限定的な実装形態では、フラットファイルは、特定のノード又はノード内の特定のフィールドを突き止める又は置き換えるために、順次検索される。代替の典型的で例示的で非限定的な実装形態では、ノードは、ノード識別子によって索引を付けられてデータベースに保存される。好ましくは、データ項目のキャッシュは、ノードであれ又はその他のタイプのデータ項目であれ、このモジュールによってサポートされている動作のパフォーマンスを向上させるためにローカルメモリ内に維持される。   In an alternative exemplary, exemplary, and non-limiting implementation, the data items are contained in a flat file (but segmented, special character processing, compressed, or encrypted) similar to the format that is transferred over the communications network. Stored as an ASCII string (without sparse filtering). In this exemplary, exemplary, and non-limiting implementation, flat files are searched sequentially to locate or replace specific nodes or specific fields within nodes. In an alternative exemplary exemplary non-limiting implementation, nodes are indexed by node identifier and stored in a database. Preferably, a cache of data items, whether a node or other type of data item, is maintained in local memory to improve the performance of operations supported by this module.

保存のフォーマットにかかわらず、ノード蓄積モジュールは、ディスパッチモジュール及びディスプレイモジュールからのデータ項目の保存、更新、及びアクセスのためのインターフェースを提供する。好ましくは、このインターフェースによってサポートされる動作は、保存されているノードを新しいノードで置き換えること、ノード群を追加する若しくは置き換えること、ノードを削除すること、特定のノードを得ること、所定のノードの親ノード、次ノード、若しくは子ノードを見つけること、所定のノード内の1つ又は複数のフィールドを得ること、及び所定のノード内の1つ又は複数のフィールドを変更することを含む。   Regardless of the storage format, the node storage module provides an interface for storing, updating, and accessing data items from the dispatch module and the display module. Preferably, the operations supported by this interface include replacing a stored node with a new node, adding or replacing a group of nodes, deleting a node, obtaining a specific node, Finding a parent node, next node, or child node, obtaining one or more fields in a given node, and changing one or more fields in a given node.

データ項目は、伝送を待っている間又はデバイスに受信された後、ノード蓄積部内に保持され、ノード蓄積部によって管理される。ノード蓄積部は、ノードの保存、維持、検索、削除、及び管理のために様々な手段を使用することができる。ノード蓄積部内のデータ項目は、そのノード蓄積部内において唯一であり、データ項目のいかなる複製コピーの保存も受け付けられない。データ項目の唯一性は、一部の典型的なシステムでは、各データ項目を構成するノードのノードID及びノードヴァージョン情報を比較するなどの手段を通して判断される。このような典型的なシステムでは、同一のノードIDを持つがノードヴァージョン値が高いノードは、「更新されたノード」と見なされ、一致するノードIDを持つがより低いノードヴァージョン値を有するノードに取って代わる。当業者にならば明白なように、ノードの唯一性を比較するその他の手段も実装可能である。   The data item is held in the node storage unit and is managed by the node storage unit while waiting for transmission or after being received by the device. The node storage unit can use various means for storing, maintaining, searching, deleting, and managing nodes. A data item in a node store is unique within that node store and does not accept saving any duplicate copies of the data item. The uniqueness of data items is determined in some typical systems through means such as comparing the node ID and node version information of the nodes that make up each data item. In such a typical system, a node with the same node ID but a high node version value is considered an “updated node” and becomes a node with a matching node ID but a lower node version value. Take over. Other means of comparing node uniqueness can be implemented, as will be apparent to those skilled in the art.

ノードは、伝送を待っている間、デバイスによる処理を待っている間、デバイスによる後処理の間、又は将来生じ得る使用のために保存されているときも、ノード蓄積部内に保持される。ノード蓄積部は、非限定例として、「フラットファイル」、又はISAMファイル、又はリレーショナル若しくはその他のデータベース、又はインメモリデータ構造、又はウェブブラウザ「クッキー」、又はノードのコンテンツ及び論理構造を維持できる方式でノードを保存すること、どのノードが保存されているかを決定すること、並びに必要に応じて特定のノードを検索することを可能にする任意のその他の形式などの、数多くの方式で実装される。ノード蓄積部は、必要な保存及びそのように保存されたノードに対する検索動作を可能にする限り、様々なデバイス上で様々な方式で実装される。ノード蓄積部は、もしデバイスがそのように構成されていれば、同期化データベース技術を使用してデバイス間で共有することができる。   A node is also held in the node store while waiting for transmission, waiting for processing by the device, during post-processing by the device, or when stored for possible future use. As a non-limiting example, the node store can maintain a “flat file”, or an ISAM file, or a relational or other database, or an in-memory data structure, or a web browser “cookie”, or a node content and logical structure Implemented in a number of ways, such as saving a node with, determining which node is saved, and any other format that allows you to search for a specific node as needed . The node store is implemented in different ways on different devices as long as it allows the necessary storage and search operations for such stored nodes. Node storage can be shared between devices using synchronized database technology if the devices are so configured.

データ項目は、伝送を待っている間、ノード蓄積部内に保持される。伝送を待つ原因としては、他のデータ項目が先に送信されている(例:他のデータ項目が高い伝送優先度を有する若しくは待ち行列の前の方に入っている)、利用可能な通信経路が遅延データ項目に適していない(例:データ項目が大きく、低い優先度で送信されるべきであるが、利用可能な通信経路は低速で且つ高価である)、利用可能な通信経路がない、データ項目がデバイスポーリング間隔の合間の待ち行列に入っている、又はその他の要因などがある。伝送を待っているデータ項目は、どの通信経路を通じて送信予定であるかにかかわらず、1つのノード蓄積部に保存される。デバイスによって受信されたデータ項目は、どの通信経路を通って到着したかにかかわらず、1つのノード蓄積部内に保存される。ノード蓄積部は、それが含むデータ項目について、保存されているノード自体の一部ではない更なるデータを取り込むことができる。このデータは、特定のデータ項目がどのデバイスに送信される予定か、そのデータ項目のヴァージョンは何か、データ項目がノード蓄積部に入れられたのはいつか、所定のデータ項目が送信された先はどのデバイスであるかおよび送信されたのはいつであるか、成功裏になされなかったデータ項目伝送の試行回数、又は当業者がシステムの機能若しくはその監視にとって妥当で且つ適切だと見なす任意のその他のデータなどの情報を含むことができる。   Data items are held in the node store while waiting for transmission. Possible reasons for waiting for transmission are other data items being sent first (eg, other data items have higher transmission priority or are in the front of the queue) and available communication paths Is not suitable for delayed data items (eg, data items are large and should be transmitted with low priority, but the available communication paths are slow and expensive), there are no available communication paths, There are data items queued between device polling intervals or other factors. A data item waiting for transmission is stored in one node storage unit regardless of which communication path is scheduled to be transmitted. Data items received by the device are stored in one node store regardless of which communication path they arrive through. The node accumulator can capture further data that is not part of the stored node itself for the data items it contains. This data includes the device to which a particular data item is to be sent, the version of that data item, when the data item was placed in the node store, and where the given data item was sent Is the device and when it was transmitted, the number of unsuccessful attempts to transmit the data item, or any that one skilled in the art deems appropriate and appropriate for the functioning of the system or its monitoring Information such as other data can be included.

モバイルクライアントデバイスは、将来必要とされる見込みがあるデータ項目をデバイスリソースが許す限り多くノード蓄積部内に維持することによって、ユーザに対する応答性を向上させることができる。このような見込みの兆候には、非限定例として、現在使用中のアプリケーションの一部であること、頻繁に使用されるアプリケーションの一部であること、複数のアプリケーションによって必要とされるデータ項目(例:サーバアドレス、企業ロゴ、アドレス帳情報、パーツリスト、価格リスト、請求コードリストなど)を含むこと、又はもし可能ならば保持されることが望ましい旨を示すようにタグ付けされていることなどがある。このようなデータ項目をデバイスのノード蓄積部内に維持することによって、その後の伝送で伝送されなければならないデータ項目の数が減らされ、利用可能な通信経路がない期間中にデバイスが所要の機能を実施できる見込みが高まる。このようなデータ項目を、それらの伝送に最適な通信経路が利用可能なときに伝送することによって、それらを最適でない通信経路を通じてのちに伝送する必要性が回避される。ノード蓄積部は、自身のコンテンツを、経時(aging)、優先順位、待ち行列などの、当業者によく知られているメカニズムを通して管理する。   The mobile client device can improve responsiveness to the user by maintaining as many data items in the node store as the device resources allow that are likely to be needed in the future. Such indications include, but are not limited to, being part of an application that is currently in use, being part of a frequently used application, and data items required by multiple applications ( Eg, server address, company logo, address book information, parts list, price list, billing code list, etc.) or tagged to indicate that it should be retained if possible There is. By maintaining such data items in the device's node store, the number of data items that must be transmitted in subsequent transmissions is reduced, and the device performs the required function during periods of no available communication path. The likelihood of being implemented increases. By transmitting such data items when an optimal communication path for their transmission is available, the need to transmit them later through a non-optimal communication path is avoided. The node storage unit manages its content through mechanisms well known to those skilled in the art, such as aging, priority, and queues.

特定のデータ項目が特定のデバイスによって必要とされそうだということが、その必要性が現れる前に予測され、そのデバイスが、現時点でその特定のデータ項目の伝送に適した通信経路を利用可能であるときは、一部の典型的な実装形態は、有用である又は必要であると予測されるそれらのデータ項目を、先を見越してデバイスに送信することができる。或いは、デバイスは、適切な通信経路が利用可能でないときに必要とされることを見越してデータ項目を「先取り(pre-fetch)」することができる。このような必要性が予見
される一例は、所定のタスクを定める1つ又は複数のノードによって必要とされる画像、音声、又は書式定義データ項目を送信するときである。データ項目の必要性が予見される別の例は、特定の時間に又は特定の間隔で実施されるタスクのリストを維持するサーバである。データ項目の必要性が予見される更に別の例は、複数のタスクによって必要とされるデータ項目の取得である。このようなサーバは、実施を予定されているタスクを先読みし、それらのタスクの実施に必要とされるデータ項目を、先を見越して予定のデバイスに送信することができる。どれくらいの量のデータをこの方式で扱えるかは、デバイスリソースの限界に制限される可能性があるが、当業者によく知られた代表的なキャッシングアルゴリズムが、デバイスにとって有利に利用可能リソースを管理するために使用される。アルゴリズムの例として、最長時間未使用(Least Recently Used, LRU)法、最短時間未使用(Most Recently Used, MRU)法、最低頻度使用(Least Frequently Used, LFU)法、又は適応性置換キャッシュ(Adaptive Replacement Cache, ARC)法が挙げられる。典型的な実装形態のために選ばれたキャッシング法は、随意として、データ項目を再取得する費用又は難しさ(例:利用可能性に限界がある高帯域幅の通信経路を通じて送信される画像若しくは音声データなどの大ノードvs任意の通信経路を通じて送信される短いテキスト文字列若しくはコマンド)、所定のノードを参照するその他のノードの数、又はその他の要因などの要因を考慮することができる。このような処理によって効率を高められる、コストを削減できる、又はその他の形で有益であり得る更なる例に、複数のグループノードによってリストに挙げられる、又はサーバアドレス、アドレス帳、若しくはその他のデータを含むカタログを形成する、頻繁に使用されるデータ項目又はノードを更新するときがある。
It is predicted that a particular data item is likely to be needed by a particular device before that need emerges, and that device can now use a suitable communication path for the transmission of that particular data item Sometimes, some exemplary implementations can proactively send those data items that are expected to be useful or necessary to the device. Alternatively, the device can “pre-fetch” data items in anticipation of what is needed when a suitable communication path is not available. One example where such a need is foreseen is when sending an image, audio, or form definition data item that is needed by one or more nodes that define a given task. Another example where the need for data items is foreseen is a server that maintains a list of tasks that are performed at specific times or at specific intervals. Yet another example where the need for data items is foreseen is the acquisition of data items required by multiple tasks. Such a server can look ahead to tasks that are scheduled to be performed and send data items required to perform those tasks in anticipation to the expected device. How much data can be handled in this way may be limited by device resource limits, but typical caching algorithms well known to those skilled in the art manage the available resources to the device Used to do. Examples of algorithms include least recently used (LRU) method, least recently used (MRU) method, least frequently used (LFU) method, or adaptive replacement cache (Adaptive). Replacement Cache, ARC) method. The caching method chosen for a typical implementation is optionally the cost or difficulty of reacquiring data items (eg, images transmitted over high bandwidth communication paths with limited availability or Factors such as large nodes such as voice data vs short text strings or commands transmitted over any communication path), the number of other nodes referring to a given node, or other factors can be considered. Further examples that may increase efficiency, reduce costs, or otherwise be beneficial by such processing are listed by multiple group nodes, or server addresses, address books, or other data There are times when frequently used data items or nodes are updated to form a catalog containing.

複数の通信経路を通じて送信されるノードの重複に対処するために、及びその他の目的のために、各ノードは、その構造の一部として定められた一意ID及びヴァージョン情報を有する。ノードヴァージョン情報は、典型的な実装形態のメッセージフォーマットのFDLヴァージョン情報と混合されるべきでない。ノードヴァージョン情報は、特定のノードが、同じノードIDのノードの更新ヴァージョンとして、又は同じノードIDのノードと同一であるとして、又は同じノードIDのノードに取って代わられるものとして認識されるように、そのノードのヴァージョンを特定する。ノードヴァージョン情報は、一部の典型的な実装形態では、単独であれ、又はサーバ識別子若しくはメーカコードなどのその他の情報との組み合わせとしてであれ、タイムスタンプ、インクリメントする若しくはデクリメントする数値、又はその他の適切な値から成る。一部の典型的な実装形態では、ノードヴァージョン情報は、ノード内の個別のフィールドから成ることができる、又はシリアル番号をユーザ若しくはカタログのID値と組み合わせた連結などの、ノード内の複数フィールドの組み合わせから成ることができる。デバイスは、ノードを受信するときに、自身のノード蓄積部を検索し、そのノードIDを持つノードを既に有しているかどうかを決定することができる。もしそのノードIDを持つノードを有していない場合は、新しいノードは重複ではなく、使用に備えて保存される。もしそのノードIDを持つノードが既にノード蓄積部内にある場合は、どちらのノードが他方のノードに優先するかを決定するために、ノードのヴァージョン情報が比較され、古い方のノードが削除され、新しい方のノードが使用に備えて保存される。もしノードID及びヴァージョン情報がともに同じである場合は、これらのノードは同一であり、重複ノードは削除される。ノードを伝送するために使用された通信経路は、この手続きに影響を及ぼさない。ノードの一意性、又はそれが新ヴァージョンに取って代わられたかどうかを決定するために必要とされるのは、ノードをデバイスに転送する方法ではなく、ノードに含まれるデータのみである。もし、1つのノードがWi−Fiを通じて送信された一方で、同じノードの別のコピーがSMSを通して又はBluetoothリンクを通じて送信された場合、ノードID及びヴァージョン情報は、依然存在しており、ノードが重複であるかどうか、又はもし同一のノードIDを有するならばどちらがどちらに優先するかを決定するために使用される。通信経路の切り替えは、デバイス間におけるデータ項目の移動及び重複する伝送の検出を妨げない。   To handle duplication of nodes transmitted over multiple communication paths, and for other purposes, each node has a unique ID and version information defined as part of its structure. The node version information should not be mixed with the FDL version information of the message format of the typical implementation. Node version information allows a particular node to be recognized as an updated version of a node with the same node ID, as being identical to a node with the same node ID, or as being replaced by a node with the same node ID , Specify the version of the node. Node version information, in some typical implementations, alone or in combination with other information, such as a server identifier or manufacturer code, is a time stamp, a numeric value to increment or decrement, or other Consists of appropriate values. In some typical implementations, the node version information can consist of individual fields within the node, or multiple fields within the node, such as a concatenation combining a serial number with a user or catalog ID value. Can consist of combinations. When a device receives a node, it can search its own node store to determine whether it already has a node with that node ID. If you do not have a node with that node ID, the new node is not duplicated and is saved for use. If a node with that node ID is already in the node store, the version information of the nodes is compared and the older node is deleted to determine which node has priority over the other node, The newer node is saved for use. If the node ID and version information are the same, these nodes are the same and the duplicate node is deleted. The communication path used to transmit the node does not affect this procedure. Only the data contained in the node is required to determine the uniqueness of the node, or whether it has been superseded by a new version, not the method of transferring the node to the device. If one node is sent over Wi-Fi, but another copy of the same node is sent over SMS or over a Bluetooth link, the node ID and version information are still present and the node is duplicated Or if it has the same node ID, it is used to determine which takes precedence. Switching the communication path does not prevent the movement of data items between devices and the detection of duplicate transmissions.

ノード蓄積部に入れるステップの前又はそのステップの一環として重複ノードを排除することで、所定のデータ項目を同時に複数の通信経路を通じて伝送して、データ項目を受信デバイスに到達させる際の遅延を、各種の通信経路に生じている現遅延に関するいかなる情報も必要とすることなく減らせることができる。データ項目の送信時に最も伝送遅延が短い通信経路が、そのデータ項目を受信デバイスに到達させ、他の全ての通信経路を通じて伝送されたデータ項目は、到着時に重複として扱われ、無視される。   By eliminating duplicate nodes before or as part of the step of entering the node storage unit, a predetermined data item is simultaneously transmitted through a plurality of communication paths, and a delay in causing the data item to reach the receiving device is Any information about the current delay occurring in the various communication paths can be reduced without the need. The communication path with the shortest transmission delay at the time of data item transmission causes the data item to reach the receiving device, and data items transmitted through all other communication paths are treated as duplicates upon arrival and are ignored.

ノード蓄積部は、ノード処理に応えて提供されるユーザデータを含む応答ノードを、これらのノードが伝送されるときまで保持するためにも使用される。ノード蓄積部は、このようなデータ項目が伝送を待っている時間を追跡し、もしこの遅延が指定の閾値を超えた場合に、適切な通信経路の欠如についてユーザの注意を喚起することができる。ユーザは、すると、デバイスをホットスポットに移動させる、又は構成設定を変更し、そうでなければ不適切とされる通信経路の使用を可能にする、又はその他の何らかのやり方で接続及びデータ項目の伝送を可能にすることによって、適切な通信経路を用意することができる。或いは、デバイスは、伝送遅延の閾値を超えたときに、1つ又は複数のノードのために代わりの、恐らくはより高価な通信経路を選ぶことなどのその他のアクションをとることができる。   The node accumulator is also used to hold response nodes containing user data provided in response to node processing until these nodes are transmitted. The node accumulator tracks the time that such data items are waiting to be transmitted and can alert the user about the lack of an appropriate communication path if this delay exceeds a specified threshold. . The user can then move the device to a hotspot, change configuration settings, allow use of a communication path that would otherwise be inappropriate, or transmit connections and data items in some other way By enabling this, an appropriate communication path can be prepared. Alternatively, the device can take other actions such as choosing an alternative, perhaps more expensive communication path for one or more nodes when the transmission delay threshold is exceeded.

典型的なノード拡張及びノード追加
典型的で例示的で非限定的な現デバイスのノードの詳細は、米国特許出願第11/169,149号に記載されているが、以下のように更なる属性及びタイプを有する。
Typical Node Extensions and Node Additions Typical exemplary non-limiting node details of current devices are described in US patent application Ser. No. 11 / 169,149, but additional attributes as follows: And having a type.

典型的で例示的で非限定的な一実装形態は、典型的で例示的で非限定的な現実装形態の更なる目的を達成する必要に応じて、新しいノードタイプを定めるために、又は他の典型的で例示的な実装形態によってこれまでに定められたノードの構造を拡張するために、この能力を活用することができる。例えば、例示的で非限定的な現実装形態の一例は、デバイスに送信され、そのデバイスに、使用中のアプリケーションの通常の流れを中断することなくユーザの照会を行わせるための1つのノードタイプと、ユーザの応答を返させるための第2のノードタイプとを作成することができる。いずれか一方又は両方のノードが、好ましい通信経路を介して帯域内送信される、代わりの通信経路を通じて送信される、又は帯域外通信経路を使用して送信される。このような能力の一用途は、この特定の実装形態によって定められた論理にしたがって、タスクを1人又は複数人の引き受けユーザの予定に入れ、指定の期間内に拒絶した若しくは応答しなかったユーザの予定には入れないことを可能にできるように、タスク告知を、恐らくは複数の通信経路を使用して複数のデバイスに当時にブロードキャストするために、及びタスクを許容可能であるか否かを示す応答を返すために(A&A)使用される。典型的で例示的で非限定的な実装形態のこの態様の更なる詳細は、以下で見られる。   One exemplary, exemplary, and non-limiting implementation may be used to define new node types or other as needed to achieve the further objectives of a typical, exemplary, and non-limiting current implementation. This capability can be exploited to extend the structure of the nodes previously defined by the exemplary exemplary implementation of For example, one example of an exemplary, non-limiting implementation is one node type that is sent to a device and allows the device to query the user without interrupting the normal flow of the application in use. And a second node type for returning a user response. Either one or both nodes are transmitted in-band via a preferred communication path, transmitted via an alternative communication path, or transmitted using an out-of-band communication path. One use of such capability is for users who have scheduled tasks for one or more undertakers according to the logic defined by this particular implementation and rejected or did not respond within a specified period of time. Indicate task announcements, perhaps to broadcast to multiple devices at the time, possibly using multiple communication paths, and whether the task is acceptable Used to return a response (A & A). Further details of this aspect of exemplary, exemplary, and non-limiting implementations can be found below.

[更なる典型的なノード属性]
好ましい典型的で例示的で非限定的な実装形態では、各ノードは、ノードヴァージョン値を特定している。デバイスノード蓄積部内の第2のノードに優先するべき第1のノードは、第2のノードと同じノードID値と、第2のノードのノードヴァージョン値よりも大きいノードヴァージョン値とを有するべきである。第2のノードが第1のノードに対する更新として作成され、第1のノードを前に受信しているデバイスに送信されたときのように、一デバイス上に両方のノードが存在する状況では、デバイスは、ノードID及びノードヴァージョン値を比較し、ノードヴァージョン値が大きい方を選んで古い方を削除することによって、どのノードを保存してどのノードを削除するかを決定することができる。所定のノードIDを持つ2つ以上のノードが存在するときにどのノードが有効であるかを決定する能力は、伝送遅延を減らすために同時に複数の通信経路を使用してノードが送信
され、2つ以上のコピーがデバイスに送られる状況などで必要とされる。
[More typical node attributes]
In a preferred exemplary, exemplary, and non-limiting implementation, each node specifies a node version value. The first node that should take precedence over the second node in the device node storage unit should have the same node ID value as the second node and a node version value that is greater than the node version value of the second node. . In situations where both nodes exist on one device, such as when the second node is created as an update to the first node and sent to a device that previously received the first node, the device Can determine which node is to be saved and which node is to be deleted by comparing the node ID and the node version value, selecting the node with the larger node version value, and deleting the old one. The ability to determine which node is valid when there are two or more nodes with a given node ID is that nodes are sent using multiple communication paths simultaneously to reduce transmission delays. Required in situations such as when more than one copy is sent to the device.

典型的で例示的で非限定的な好ましい実装形態は、また、各ノードについてのノード伝送優先度値も含む。ノード伝送優先度の使用は、より高い伝送優先度を有するノードがより低い伝送優先度を有するノードよりも先に送信されるようにノードの伝送順序を調整するため、又はどの通信経路がノードの送信に適しているかを決定することを助けるため、又は伝送優先度の低いノードのみが送信を待っている場合には選択されないであろう通信経路を伝送優先度の高いノードのために使用することを可能にするため、又は伝送優先度の高いノードを同時に複数の通信経路を通じて送信することを可能にするため、又は当業者によって適切だと見なされるその他の目的のためである。一部の典型的な実装形態では、ノードがノード蓄積部に入れられる前に削除されることを保証するために、「ノード削除」ノードがその他のノードに先立って送信されるなど、ノードタイプに基づいて、一部のノードがその他のノードに先立って送信される。これによって、保存能力に限界があるデバイス上におけるリソースの使用が減らされる。このような実装形態では、ノードタイプによる伝送の順序付けが、ノード伝送優先度に基づく順序付けに優先する。   A typical, exemplary, non-limiting preferred implementation also includes a node transmission priority value for each node. The use of node transmission priority is to adjust the transmission order of nodes so that nodes with higher transmission priorities are transmitted before nodes with lower transmission priorities, or which communication path Use a communication path for high transmission priority nodes to help determine if it is suitable for transmission, or if only low low transmission priority nodes are waiting for transmission Or to allow a high transmission priority node to be transmitted simultaneously over multiple communication paths, or for other purposes deemed appropriate by those skilled in the art. In some typical implementations, to ensure that a node is deleted before entering the node store, a “node delete” node is sent before other nodes, such as node type. Based on this, some nodes are transmitted prior to others. This reduces the use of resources on devices with limited storage capabilities. In such an implementation, the ordering of transmissions by node type takes precedence over the ordering based on node transmission priority.

一部の典型的で例示的で非限定的な実装形態は、各ノードについてのノードキャッシュ優先度値を含む。ノードキャッシュ優先度は、その他の要因が全て等しいときに、どのノードを保持してどのノードを追い出すかを決定するときにノード蓄積部によって検討される材料として使用される。ノードキャッシュ優先度は、このような判定を下すときに検討される唯一の要因である。   Some exemplary, non-limiting implementations include a node cache priority value for each node. The node cache priority is used as a material to be considered by the node accumulator when deciding which node to keep and which node to kick when all other factors are equal. Node cache priority is the only factor considered when making such a determination.

[更なる典型的なノードタイプ]
一部の典型的で例示的で非限定的な実装形態は、「配布リストノード」ノードタイプを含む。これは、デバイスのリスト、すなわちデバイスのカタログへの参照と、各デバイスについての連絡方法のリスト、すなわち各デバイスについての連絡方法を含む1つ又は複数のカタログへの参照とを含む。連絡方法は、各デバイスによってサポートされている通信経路のみならず、そのデバイスと連絡を取るときに通信経路を活用するために必要とされるあらゆる関連アドレス、承認、認証、暗号化、又はその他の情報も含む。随意として、配布リストノードは、リストに挙げているデバイスのユーザに関する情報(例:名前、シフト、職種、監督者の名前など)及び/又はデバイス自体に関する情報(例:デバイスのタイプ、場所など)を含むことができる。配布リストノードは、タスクのデリゲートを特定のデバイス群に制限するとき又はカタログを同期化させるときなど、複数のデバイス及び連絡方法が特定されなければならないあらゆる手続きに有用である。これは、サーバを利用できないBluetooth又は「アドホック」Wi−FiなどのP2P技術を使用してなされるときに、特に当てはまる。
[More typical node types]
Some exemplary, non-limiting implementations include a “distribution list node” node type. This includes a list of devices, i.e. a reference to a catalog of devices, and a list of contact methods for each device, i.e. a reference to one or more catalogs containing contact methods for each device. The contact method is not only the communication path supported by each device, but any associated address, authorization, authentication, encryption, or other required to utilize the communication path when contacting that device. Includes information. Optionally, the distribution list node can contain information about the users of the listed devices (eg name, shift, job title, supervisor name, etc.) and / or information about the device itself (eg device type, location, etc.). Can be included. Distribution list nodes are useful for any procedure where multiple devices and contact methods must be specified, such as when restricting a delegate of a task to a specific set of devices or synchronizing a catalog. This is especially true when done using P2P technologies such as Bluetooth or “ad hoc” Wi-Fi where the server is not available.

一部の典型的で非限定的な実装形態は、後述のように、告知及び受け入れの能力を実装するのに有用なノードタイプ「A&A」を提供する。A&Aノードは、サーバのUIによって、又はサーバのUI以外の各種のソフトウェアシステムによるA&Aノードの形成を可能にするように設計されたアプリケーションプログラミングインターフェース(API)の使用によって作成される。A&Aノードは、タスクについてのFDL規定、若しくはこのような規定への参照、タスクをオファーされるデバイスを含む(配布リストノードの形での)「候補リスト」、必要な受け入れデバイス数の規定、肯定的に応答するデバイスのなかから必要数のデバイスを選ぶために使用される手続きの規定、肯定的に応答するデバイスの数が必要な受け入れデバイス数未満である場合にとられるアクションの規定、及び応答を待つ最長時間の随意規定を含む。A&Aノードの処理は、「候補リスト」内の各デバイスに告知メッセージを送信すること、待ち時間が長くなりすぎる場合に随意としてタイムアウトを付けて待ちつつ、その間に、デバイスが自身のユーザに告知を提示し、肯定又は否定の応答を収集し、それをサーバに返すこと、及び必要数の肯定応答デバイスを
選び、選択された各デバイスについてFDLをもとにノードを作成し、結果得られたデータ項目を待ち行列に入れること、又は、肯定応答デバイスの数が必要数より少ない場合に指定のアクションをとることを含む。
Some exemplary, non-limiting implementations provide a node type “A & A” that is useful for implementing announcement and acceptance capabilities, as described below. A & A nodes are created by the server's UI or by using an application programming interface (API) designed to allow the formation of A & A nodes by various software systems other than the server's UI. The A & A node includes an FDL specification for the task, or a reference to such a specification, a “candidate list” (in the form of a distribution list node) that includes the devices to which the task is offered, a specification of the number of accepting devices required, affirmation The procedure used to select the required number of devices from among the responding devices, the action to be taken if the number of positive responding devices is less than the required number of accepting devices, and the response Includes an optional provision for the maximum time to wait. The process of the A & A node is to send a notification message to each device in the “candidate list”, and optionally wait for the user to time out with a timeout while waiting for too long. Present and collect positive or negative responses, return them to the server, select the required number of acknowledgment devices, create a node based on the FDL for each selected device, and the resulting data Including queuing items, or taking specified actions when the number of acknowledgment devices is less than required.

一部の典型的で例示的で非限定的な実装形態は、「カタログ同期化ノード」を含み、これは、第1のデバイス上のカタログのコンテンツを第2のデバイス上のカタログのコンテンツと突き合わせ、両デバイスが同じデータ項目を含むカタログを有し、それらのデータ項目がどちらのデバイスも利用可能な最新のものであるように、違いを解消することを可能にするために使用される。一部の典型的な実装形態は、カタログのコピーを有しており同期化を必要とすると考えられる複数のデバイスを指定するために、配布リストノードをカタログ同期化ノードに関連付けることを可能にする。このような配布リストノードは、ピア・ツー・ピアの手法を通して第1のデバイスが1つ又は複数の第2のデバイスのカタログに同期化することを可能にすることができる。これは、第2のデバイスがサーバへの利用可能通信経路を有さない場面で有用である。   Some exemplary, exemplary, and non-limiting implementations include a “catalog synchronization node” that matches catalog content on a first device with catalog content on a second device. , Used to make it possible to resolve the differences so that both devices have catalogs containing the same data items and those data items are the latest available for both devices. Some exemplary implementations allow a distribution list node to be associated with a catalog synchronization node to specify multiple devices that have a copy of the catalog and are considered to require synchronization . Such a distribution list node may allow a first device to synchronize with a catalog of one or more second devices through a peer-to-peer approach. This is useful in situations where the second device does not have an available communication path to the server.

[典型的なノード構造]
以下の表は、典型的で非限定的な一実装形態によって定義される、ノードの構造を構成するフィールドを説明している。フィールドの説明文が米国特許出願第11/169,149号のそれと同一である箇所は、明瞭化を期するために省略されている。以下の各フィールドの説明文には、米国特許出願第11/169,149号によって説明された構造又は用途への追加及び拡張のみが含まれている。ただし、前後関係のため、フィールドの名称及びタイプは全て残されている。

Figure 2012503449
Figure 2012503449
Figure 2012503449
[Typical node structure]
The following table describes the fields that make up the structure of a node, as defined by a typical, non-limiting implementation. Where the field description is the same as that of US patent application Ser. No. 11 / 169,149, it has been omitted for clarity. Each field description below includes only additions and extensions to the structure or application described by US patent application Ser. No. 11 / 169,149. However, because of the context, all field names and types remain.
Figure 2012503449
Figure 2012503449
Figure 2012503449

典型的なメッセージ拡張
典型的で例示的で非限定的な実装形態は、同時係属米国特許出願第11/169,149号に記載されたメッセージタイプ及びメッセージフォーマットはもちろん、以下に記載される更なる能力及び特徴の実装を可能にするための拡張も含んでよい。
Exemplary Message Extensions Exemplary exemplary non-limiting implementations include the message types and message formats described in co-pending US patent application Ser. No. 11 / 169,149, as well as further described below. Extensions to allow for the implementation of capabilities and features may also be included.

[構成データ]
通信経路、並びにそれらに関連したアドレス、認証、セキュリティ規定、優先度、プリファレンス、及びその他のデータはもちろん、通信又はその他のデバイス行為の特質を制御するために使用されるその他のデータを表わす構成データが、更新デバイス設定メッセージ(タイプ3)を使用して送信される。更新デバイス設定メッセージは、デバイスについての一連のプリファレンス又は構成設定を更新する。このメッセージタイプの各記録は、米国特許出願第11/169,149号に記載されたようなフィールドと、以下の更なるパラメータ及び関連属性とを含む。
[Configuration data]
A configuration that represents communication paths and other data used to control the nature of communication or other device activity, as well as their associated addresses, authentication, security provisions, priorities, preferences, and other data. Data is sent using an update device setup message (type 3). The update device settings message updates a set of preferences or configuration settings for the device. Each record of this message type includes fields as described in US patent application Ser. No. 11 / 169,149, and the following additional parameters and associated attributes:

パラメータ(2桁の数字)−更新されるパラメータ
・06−通信経路選択プリファレンス(プリファレンスのXML記述を含む文字列として指定される。)
・07−通信経路特性
・08−動的経路選択
Parameter (2-digit number)-Parameter to be updated 06-communication path selection preference (specified as a character string including the XML description of the preference)
・ 07-Communication route characteristics ・ 08-Dynamic route selection

値(文字列)−パラメータのための新しい値   Value (string)-new value for the parameter

「06」パラメータに関連付けられた値は、設定又は変更される通信経路選択プリファレンスのXML記述を含む文字列を含む。例えば、以下のようである。

Figure 2012503449
The value associated with the “06” parameter includes a character string including the XML description of the communication path selection preference to be set or changed. For example:
Figure 2012503449

「07」パラメータに関連付けられた値は、設定又は変更される通信経路特性のXML記述を含む文字列を含む。例えば、以下のようである。

Figure 2012503449
The value associated with the “07” parameter includes a character string including an XML description of the communication path characteristic to be set or changed. For example:
Figure 2012503449

「08」パラメータに関連付けられた値は、もし動的経路選択がアクティブにされるならば「1」を、もし動的経路選択が非アクティブにされるならば「0」を含む文字列を含む。   The value associated with the “08” parameter includes a string containing “1” if dynamic routing is activated and “0” if dynamic routing is deactivated. .

更新デバイス設定メッセージの場合は、ディスパッチモジュールは、提供されるデバイス設定を決定し、所定の設定を新しい値に変更する。   In the case of an update device configuration message, the dispatch module determines the device configuration to be provided and changes the predetermined configuration to a new value.

[通信要求]
通信供給メッセージ(タイプ9)は、協調プッシュ、「返信」(ピング)、「接続維持」(キープアライブ)、又はその他などの各種の通信関連アクションが受信デバイスによってとられるように要求するために使用される。通信要求メッセージは、以下の情報フィールドを含んでよい。
・要求タイプ(2桁の数字)−なされている要求のタイプ。
・要求デバイスアドレス(文字列)−要求デバイスのアドレス。
・要求ID(12桁の数字)−YYMMDDHHMMSSフォーマットで表わされる要求の要求元相対ID。
・要求優先度(3桁の数字)−要求の優先度。ノード伝送優先度に等しい。
・関連データ(文字列)−特定の要求タイプに関連付けられたデータ。
[Communication request]
Communication supply message (type 9) is used to request that various communication-related actions such as cooperative push, "reply" (ping), "maintain connection" (keep-alive), etc. be taken by the receiving device Is done. The communication request message may include the following information fields:
Request type (2 digits)-the type of request being made.
Request device address (character string)-Address of the request device.
Request ID (12-digit number)-Request source relative ID of the request expressed in the YYMMDDDHMMSS format.
Request priority (3 digits)-Request priority. Equal to node transmission priority.
Related data (string) —Data associated with a specific request type.

典型的な実装形態では、要求タイプフィールドは、以下の値の1つを含むことができる。
・01−協調プッシュ
・02−ピング要求
・03−ピング応答
・04−キープアライブ
In a typical implementation, the request type field may contain one of the following values:
-01-Cooperative push-02-Ping request-03-Ping response-04-Keep alive

協調プッシュ要求の場合は、要求デバイスアドレスは、要求を送信するために使用される通信経路上の要求デバイスのアドレスを含む。要求IDは、要求が送信された時間である。関連データ文字列は、要求元に到達するために使用することができる各種の通信経路のアドレスのリストと、一部の典型的実装形態では、その通信経路上の要求元のアドレスや使用されるプロトコルなどの、各通信経路についての更なる情報とを含む。   In the case of a cooperative push request, the request device address includes the address of the request device on the communication path used to send the request. The request ID is the time when the request is transmitted. The associated data string is a list of the addresses of the various communication paths that can be used to reach the requestor, and in some typical implementations, the address of the requestor on that communication path and the used And further information about each communication path, such as a protocol.

ピング要求の場合は、要求デバイスアドレスは、要求をなすために使用された通信経路上の要求デバイスのアドレスである。これは、もし可能であれば、応答メッセージを送信するために使用されるアドレス及び通信経路でもある。要求優先度は、通信経路の設定及び選択プリファレンスに応じ、状況によっては一部の通信経路の使用を制限することができる。要求されるアクションは、要求デバイスへのピング応答メッセージの送信である。ピング応答メッセージは、要求タイプがピング応答(「03」)であること、及び要求デバイスアドレスが応答デバイスであることを除けば、ピング要求メッセージと同じフィールド値を有している。   In the case of a ping request, the request device address is the address of the request device on the communication path used to make the request. This is also the address and communication path used to send the response message, if possible. The request priority can limit the use of a part of communication paths depending on the situation depending on the communication path setting and selection preference. The requested action is sending a ping response message to the requesting device. The ping response message has the same field values as the ping request message except that the request type is a ping response (“03”) and the request device address is a response device.

キープアライブメッセージは、通信経路がアイドル状態であるゆえに閉じられることのないように維持するために、及び要求デバイスがまだ接続状態にあることを他のデバイスに知らせるために送信される。要求デバイスアドレスは、その他の要求タイプの場合と同様に設定され、その他のフィールドは使用されない。キープアライブ要求メッセージの受け手の側では、接続性を追跡するためにメッセージの受信を記録すること以外のアクションは不要である。   A keep-alive message is sent to keep the communication path from being closed because it is idle and to inform other devices that the requesting device is still connected. The request device address is set in the same manner as for other request types, and other fields are not used. On the recipient side of the keep-alive request message, no action is required other than recording the receipt of the message to track connectivity.

[タスクデリゲート]
タスクデリゲート(タイプ10)メッセージボディは、デバイスに依存しない方式で符号化された、1つのタスクに対応する一連の材料を定めている。受信デバイスが、タスクのノードの配置及び順序をタスクデリゲートメッセージに指定されたのと同じに維持しつつ、ノード処理の必要に応じてノードどうしの繋がりを変換することができるように、タスクに相対的に、ノード参照がなされている。
[Task Delegate]
The task delegate (type 10) message body defines a series of materials corresponding to one task, encoded in a device-independent manner. Relative to the task so that the receiving device can transform the connection between the nodes as needed for node processing while maintaining the placement and order of the nodes of the task as specified in the task delegate message. In particular, node references are made.

一部の典型的な実装形態では、タスクデリゲートメッセージのための記録フォーマットは、受信デバイスによって設定されるあらゆるフィールドを排除するように最適化される。特に、CompletionStatusFlagは、常に0(不完全)であることが望ましく、応答テキストは、常に空であることが望ましい。この典型的で例示的で非限定的な実装形態では、利用可能なスペースを最適化できるように、これらのようなフィールドは、通信ネットワークを通じて送信されるメッセージに含まれず、このようなフィールドは、むしろ、デバイスがメッセージを受信した後に、タスクデリゲートメッセージの処理の一環として自動的に挿入される。   In some exemplary implementations, the recording format for the task delegate message is optimized to exclude any fields set by the receiving device. In particular, CompletionStatusFlag is always 0 (incomplete), and the response text is always empty. In this exemplary, exemplary, non-limiting implementation, such fields are not included in messages sent over the communication network so that the available space can be optimized, such fields are Rather, it is automatically inserted as part of processing the task delegate message after the device receives the message.

典型的なカタログ同期化
図9に示されるように、カタログ同期化(9200)は、更新メッセージがサーバから複数のクライアントデバイスに送信されること(9210、9230)、第1のデバイスと第2のデバイスとの間で送信されること(9220)、及びクライアントデバイスからサーバに送信されること(9240)を含むことができる。図に示された交換では、サーバは、第2のデバイスと連絡している第1のデバイスにカタログ更新Aを送信する(9220)。サーバは、このP2P接続に気付いていない。カタログ更新Aメッセージは、第1のデバイス及び第2のデバイスがこの更新を受信すると望ましいことを指定した配布ノードを含む。第1のデバイスは、自身のカタログを更新し、デバイスどうしが同期化された状態であり続けることを保証するために、配布ノードリスト内のその他のデバイス(第2のデバイス)にカタログ更新Aを送信する(9220)。サーバは、第1のデバイスがカタログ更新Aを受信した元であり、ゆえに、既にその更新を有すると考えられるので、
第1のデバイスは、カタログ更新をサーバには送信しない。一部の典型的な実装形態では、サーバは、配布ノードリストに含まれない。
Exemplary Catalog Synchronization As shown in FIG. 9, catalog synchronization (9200) is an update message sent from a server to multiple client devices (9210, 9230), first device and second Sent to and from the device (9220) and sent from the client device to the server (9240). In the exchange shown in the figure, the server sends catalog update A to the first device in contact with the second device (9220). The server is not aware of this P2P connection. The catalog update A message includes a distribution node that has specified that the first device and the second device should receive this update. The first device updates its catalog and sends catalog update A to the other device (second device) in the distribution node list to ensure that the devices remain synchronized. Transmit (9220). Since the server is the source from which the first device has received the catalog update A and is therefore considered to already have that update,
The first device does not send catalog updates to the server. In some typical implementations, the server is not included in the distribution node list.

一方で、サーバは、カタログ更新Aを第2のデバイスにも送信している(9230)。第2のデバイスに対する更新の重複性は、本文書の他の箇所に記載されたように扱われ、更新の少なくとも1つのコピーが最短の遅延で第2のデバイスに到着することが保証される。   Meanwhile, the server has also sent catalog update A to the second device (9230). Update redundancy for the second device is handled as described elsewhere in this document, ensuring that at least one copy of the update arrives at the second device with the shortest delay.

第2のデバイスは、カタログ更新Aを受信すると(9220又は9230)、恐らくは、第2のデバイスのアドレスが最近変更されたゆえに、又は第2のデバイスへの通信経路の可用性が損失されたゆえに、又はその他の何らかの理由ゆえに、更新に含まれるデータ項目が既に無効であることを発見する。第2のデバイスは、カタログ更新Bを作成し、それを第1のデバイスに(9240)及びサーバに(9250)送信する。サーバは、すると、カタログ更新Bに含まれる配布ノードにしたがって、カタログ更新Bを第1のデバイスに送信する(9260)。   When the second device receives catalog update A (9220 or 9230), it is probably because the address of the second device has recently changed or because the availability of the communication path to the second device has been lost. Or, for some other reason, discover that the data item included in the update is already invalid. The second device creates a catalog update B and sends it to the first device (9240) and to the server (9250). The server then transmits the catalog update B to the first device according to the distribution node included in the catalog update B (9260).

典型的な告知&受け入れ
A&Aは、タスクを実施する候補であるユーザに関連付けられた複数のデバイスに同時にタスク告知を送信すること、それらのユーザからの応答、又は随意として誰が時間制限内に応答したかを収集することからなり、告知されたタスクに対してどのユーザが受け入れる意思及び能力を有するかを決定する。候補ユーザは、タスク作成者によって又は外部システムによって指定され、現在の場所、職種、作業予定、現在のタスク負荷、経験レベル、最近のタスク負荷、タスクの作成者による明示的リスト、又はこれらの若しくは当業者によって適切だと判断されるその他の基準の任意の組み合わせに基づいて特定される。候補ユーザの選択、及びどのデバイスがどの候補ユーザに関連付けられているか(「候補ユーザのデバイス」)の決定は、ノード蓄積部やデータベースなどの所要のデータソースへのアクセスを有する自動システムによって、又はタスクを作成するユーザによってユーザインターフェースを通じて、又はこれらの組み合わせによって実施される。(タスク作成者によって決定された)適切な数だけ肯定的に応答する者が選ばれ、タスクを割り当てられる。プッシュモードは、告知&受け入れの使用を可能にするためには必要とされないが、全候補に告知を伝送するために必要とされる遅延を減らすことによってプロセスを向上させることができる。
A typical Announcement & Acceptance A & A sends a task announcement to multiple devices associated with a user who is a candidate to perform a task simultaneously, a response from those users, or optionally who responds within time limits And determine which users have the will and ability to accept the announced task. Candidate users are specified by the task creator or by an external system and are current location, job title, work schedule, current task load, experience level, recent task load, explicit list by task creator, or these or Identified based on any combination of other criteria deemed appropriate by those skilled in the art. Selection of candidate users and determination of which devices are associated with which candidate users ("candidate user's device") by an automated system with access to a required data source such as a node store or database, or Implemented by the user creating the task through the user interface or a combination thereof. An appropriate number of responders (determined by the task creator) is chosen and assigned a task. Push mode is not required to enable the use of announcements & accepts, but can improve the process by reducing the delay required to transmit the announcement to all candidates.

図10に示されるように、A&Aプロセスは、一部の典型的な実装形態では、サーバのユーザインターフェース(UI)との相互作用によって、又は規定のアプリケーションプログラムインターフェース(API)を通した外部プログラム相互作用によって、開始される。相互作用がUIによってであれ、APIによってであれ、所要の情報が提供される(10000)。この情報に含まれるのは、割り当てられるべきタスク(例:FDL規定、このような規定への参照、若しくはシステム内にハードコードされたタスクへの参照として提供される)、タスクを実施する候補であるユーザの記述であり、タスク告知の送り先となるデバイスを参照するための配布リストノードを作成できるようにそれらのデバイスの識別を可能にする記述、タスクに必要とされるユーザの数、肯定的に応答するユーザのなかから必要数のユーザを選ぶために使用される方法、応答が返されるのを待つ随意の最長時間、又は待つのを止める時間、並びに肯定的に応答するユーザの数が必要なユーザ数よりも少ない場合にとるべきアクションである。   As shown in FIG. 10, the A & A process may, in some exemplary implementations, interact with an external program through interaction with a server user interface (UI) or through a specified application program interface (API). Started by action. Whether the interaction is via UI or API, the required information is provided (10000). This information includes tasks to be assigned (eg provided as FDL specifications, references to such specifications, or references to hard-coded tasks in the system), candidates to perform the task A description of a user, a description that allows the identification of those devices so that a distribution list node can be created to reference the devices to which task notifications are sent, the number of users required for the task, positive Requires the method used to select the required number of users from among responding users, the optional maximum time to wait for responses to be returned, or the time to stop waiting, and the number of users responding positively This action should be taken when the number of users is smaller.

タスクを実施する候補であるユーザを指定するために使用される方法は、選択のためのチェックボックスを伴う従業員リスト、又は職種のプルダウンメニュー、又は場所、職業技能、勤務シフト、経験レベル、若しくはその他などの詳しい要件を指定する各種のフィールドを伴う記入フォーム、又はこれらの方法若しくは当業者によく知られるその他の方
法の任意の組み合わせからなることができる。或いは、A&A手続きで使用するためにAPIを通して提供されるユーザ及び関連データのリストを作成するために、各種のデータベース、ソフトウェアシステム、及びユーザ相互作用を含む外部システムが使用される。一部の典型的な実装形態では、外部システムは、「発注−作業命令−売掛金」システムなどの完全ビジネス方法の一環としてA&Aプロセスを自動的に開始及び完了させるために必要とされる全ての入力を提供することができる。
The method used to specify a user who is a candidate to perform a task can be an employee list with a checkbox for selection, or a job pull-down menu, or location, vocational skill, work shift, experience level, or It can consist of an entry form with various fields specifying detailed requirements, such as others, or any combination of these methods or other methods well known to those skilled in the art. Alternatively, external systems including various databases, software systems, and user interactions are used to create a list of users and associated data provided through the API for use in A & A procedures. In some typical implementations, the external system has all the input required to automatically start and complete the A & A process as part of a complete business method such as a “Purchase-Work Order-Receivable” system. Can be provided.

肯定的に応答するユーザのなかから必要数のユーザを選ぶために使用される方法は、「応答の早い順」、「割り当て済みタスク数の少ない順」、「経験の多い順」、「距離の近い順」、「タスク無し時間の長い順」などの幾つかの自動的な方法のうちの1つとして、又はタスク作成者への肯定応答者リストの提示及びその作成者によってなされる被選択ユーザの入力を含む手動の方法として指定される。肯定応答の数が、A&Aプロセスの開始時に指定された必要なユーザの数に等しい場合は、選択は不要であり、応答ユーザは自動的に選ばれる。一部の典型的な実装形態では、これらのユーザの選択を、上述のような手動の方法を使用して確認する必要がある。   The methods used to select the required number of users who respond positively are: “In order of response”, “In order of number of assigned tasks”, “In order of experience”, “ As one of several automatic methods such as “close order”, “in order of long no-task time”, or presenting a list of respondents to the task creator and the selected user made by the creator Specified as a manual method involving input. If the number of acknowledgments is equal to the number of required users specified at the start of the A & A process, no selection is required and the responding user is automatically selected. In some typical implementations, these user selections need to be confirmed using a manual method as described above.

肯定応答ユーザの数が必要なユーザ数よりも少ない場合にとられるべきアクションは、A&A要求のキャンセル、肯定的に応答した(一人若しくは複数人の)ユーザへのタスクの割り当て、肯定的に応答したユーザ及び適切な選択方法(候補ユーザを選ぶために使用された方法のいずれか)を使用して選ばれた追加ユーザへの割り当て、要求の繰り返し、又はその他の任意の適切なアクションとして指定される。   Actions to be taken when the number of acknowledged users is less than the required number of users are: canceling A & A requests, assigning tasks to positively responding user (s), responding positively Designated as an assignment to additional users, repeated requests, or any other suitable action selected using the user and the appropriate selection method (any of the methods used to select candidate users) .

図11の線図に示されるように、必要な情報がサーバに供給されたら(11000)、デバイス通知(タイプ2)メッセージが、そのメッセージの優先度に適した通信経路を使用して、全ての被選択候補ユーザデバイスに送信される(11010)。好ましい典型的な実装形態では、このメッセージは、高い優先度を有しており、1本又は複数本の利用可能通信経路によって、できるだけ早く送信される。これには、プッシュモードが好ましいが、プッシュモードが利用できないときは、代わりに協調プッシュモード、又はひいてはプルモードが使用される。サーバは、通知を受けたデバイスからの応答を待つ、又は指定の期限が経過するのを待つ(11020)。   As shown in the diagram of FIG. 11, once the necessary information has been provided to the server (11000), the device notification (type 2) message uses all the communication paths appropriate for the priority of the message, It is transmitted to the selected candidate user device (11010). In a preferred exemplary implementation, this message has a high priority and is sent as soon as possible by one or more available communication paths. For this, the push mode is preferred, but when the push mode is not available, the cooperative push mode or eventually the pull mode is used instead. The server waits for a response from the notified device or waits for the specified time limit to expire (11020).

各受信デバイスのディスプレイマネージャは、デバイスのユーザインターフェース上にメッセージを出現させ、広告されたタスクを受け入れるか否かに関するユーザからの入力を要求することによって、デバイス通知コマンドに応答する。ディスプレイマネージャは、ユーザの応答を収集し、それを、返されるデータ項目の優先度に相応の通信経路及び利用可能な通信経路を使用してサーバに返信する。   The display manager of each receiving device responds to the device notification command by causing a message to appear on the user interface of the device and requesting input from the user regarding whether to accept the advertised task. The display manager collects the user's response and sends it back to the server using a communication path appropriate to the priority of the returned data item and an available communication path.

通知を受けた全てのデバイスが応答したら(11050)、又は通知を受けた全てのデバイスが応答する前に指定の期限が経過したら(11030)、受信された肯定応答の数が必要なユーザ数よりも多いかどうかがチェックされる(11080)。もし肯定応答の数が必要なユーザ数を超える場合は、肯定的に応答しているそれらのなかから必要数のユーザを選ぶために、指定の選択アルゴリズムが使用される(11100)。もし肯定的に応答しているユーザの数(11080)が必要なユーザ数に等しい場合(11110)は、肯定的に応答しているそれらのユーザが選ばれる(11120)。もし肯定的に応答しているユーザの数が必要なユーザ数未満である場合は、指定のアクションが実施される(11090)。図10に示されるように、これは、A&Aのキャンセル手続き(10025)、再度尋ねたらより多くのユーザが肯定的に応答することを期待した要求プロセスの繰り返し(10030)、要求されたよりも数が小さいにもかかわらず肯定的に応答したユーザの選択(10035)、第三者(管理者若しくは監督者)への通知、又は何らかの適切な手段による追加ユーザの選択の強制を含むことができる。その他の典型的な実装形
態は、当業者にならば自明のように、更なる又は異なるアクションを提供することができる。もしA&A手続きがキャンセルも繰り返しもされなかった場合、選ばれたユーザは指定のタスクを割り当てられ(10015)、手続きは完了する。
If all devices that received the notification respond (11050), or if the specified deadline elapses before all devices that received the notification respond (11030), the number of acknowledgments received is greater than the number of users required Is also checked (11080). If the number of acknowledgments exceeds the required number of users, a designated selection algorithm is used to select the required number of users from those positively responding (11100). If the number of positively responding users (11080) is equal to the required number of users (11110), those positively responding users are selected (11120). If the number of positively responding users is less than the required number of users, the specified action is performed (11090). As shown in FIG. 10, this is an A & A cancellation procedure (10025), a repeat of the request process that expects more users to respond positively when asked again (10030), the number of requests than requested. The selection of a user who responded small but positively (10035), notification to a third party (administrator or supervisor), or forced selection of additional users by any suitable means may be included. Other exemplary implementations can provide further or different actions, as will be apparent to those skilled in the art. If the A & A procedure has not been canceled or repeated, the selected user is assigned a designated task (10015) and the procedure is complete.

再び図11を参照し、もし指定された選択方法が「応答の早い順」又は対応可能なユーザの必要数のみに依存する別の方法である場合(11060)は、サーバは、必要数のユーザが肯定的に応答するまで待つだけで、それらを選択する(11070)。それ以外の場合は、サーバは、全ての候補ユーザが応答するまで待つ(11050)、又は随意の最長待機時間が経過するまで待つ、又は待ち時間になるまで待つ(11030)のいずれかであり、もし肯定的に応答したユーザの数が必要なユーザ数よりも多い場合(11080)は、そのなかから選択を行い、もし肯定的に応答したユーザの数が必要なユーザ数に等しい場合は、それらのユーザを返し(11120)、又はもし肯定的に応答したユーザの数が不十分である場合は、上記のように、指定のアクションをとる(11090)。   Referring again to FIG. 11, if the selected selection method is “fastest response” or another method that depends only on the required number of available users (11060), then the server will return the required number of users Simply wait until they respond positively and select them (11070). Otherwise, the server either waits until all candidate users respond (11050), waits until the optional longest waiting time has elapsed, or waits for a wait time (11030), If the number of positively responding users is greater than the required number of users (11080), make a selection from them, and if the number of positively responding users is equal to the required number of users, then select If the number of users who responded positively is insufficient, the specified action is taken as described above (11090).

(一人又は複数人の)ユーザが選ばれたら、それらにタスクが割り当てられる。これは、指定のFDLを使用して、各ユーザに適したデータ項目を作成し、もしそれらのデータ項目がユーザのデバイス上に既にプリキャッシュされていなければ、ユーザのデバイスに伝送するためにそれらのデータ項目を待ち行列に入れることを含む。或いは、タスクを構成する材料を要求するようにユーザのデバイスに促すためのメッセージが送信される。   Once users (one or more) are selected, tasks are assigned to them. This uses the specified FDL to create data items suitable for each user, and if those data items are not already pre-cached on the user's device, they are transmitted to the user's device. Including queuing of data items. Alternatively, a message is sent to prompt the user's device to request the materials that make up the task.

図9に戻り、A&Aメッセージ交換(9000)は、サーバから第1のデバイスへのデバイス通知メッセージ(9010)と、サーバから第2のデバイスへのデバイス通知メッセージ(9020)とを含む。当業者ならば誰でも、デバイス通知メッセージが任意の数のデバイスに送信できること、及びサーバと、第1のデバイスと、第2のデバイスとを伴う最も単純なケースがより多くのデバイスを伴うケースの全ての特質を代表できることが明らかである。第1のデバイス及び第2のデバイスは、デバイス通知メッセージに対するそれぞれのデバイスのユーザ入力を表わす応答をサーバに送信する(9030及び9040)。図に示された交換では、第2のデバイスは、肯定的に応答する。第1のデバイスは、場面次第で、否定的に応答する、又はデバイス通知メッセージに応答しない、又は許容時間内に応答しない、又は肯定的に応答するがサーバの選択方法によって選ばれない。ノード更新コマンドなどのタスク割り当てメッセージがサーバから第2のデバイスに送信され(9050)、A&A交換は完了する。   Returning to FIG. 9, the A & A message exchange (9000) includes a device notification message (9010) from the server to the first device and a device notification message (9020) from the server to the second device. Anyone skilled in the art will be able to send a device notification message to any number of devices, and the simplest case involving a server, first device, and second device would involve more devices. It is clear that all attributes can be represented. The first device and the second device send a response representing the respective user's user input to the device notification message to the server (9030 and 9040). In the exchange shown in the figure, the second device responds positively. Depending on the scene, the first device responds negatively, or does not respond to device notification messages, or does not respond within an acceptable time, or responds positively, but is not selected by the server selection method. A task assignment message such as a node update command is sent from the server to the second device (9050), and the A & A exchange is complete.

A&A能力は、特定のサービスアクション(「ポンプ#12のフィルタを交換せよ」、「通路6を清掃せよ」、「マシン#34の警報に対処せよ」)を要求するため、何らかの任務への志願(「今晩残業する人が必要だ」、「土曜日に作業できる人はいるか?」)を要求するため、情報(「MIG溶接機がどこにあるかわかる人?」、「テスト−このメッセージを読める人はいますか?」)を要求するため、又はその他のあらゆる適切な目的のために使用される。   The A & A capability requires a specific service action (“Replace pump # 12 filter”, “Clean passage 6”, “Respond to machine # 34 alarm”), and therefore apply for any mission ( "I need someone who can work overtime tonight", "Is there anyone who can work on Saturday?") To ask for information ("Who knows where the MIG welder is?", "Test-Who can read this message?" Used for any other appropriate purpose.

典型的なタスクデリゲート
一部の場面では、割り当てられたタスクをサーバの介在によって又はよらずに別のデバイスに移行可能にすると有利である。例えば、一部の典型的な実装形態では、監督者にそのグループ用の全てのタスクを割り当てられ、対応可能になった部下にそれらのタスクをデリゲートすることができる、又はサーバに対して有線Ethernetなどの高信頼性の通信経路を持つデバイスが、P2P通信経路を使用してモバイルデバイスにタスクを転送するためにタスクのローカルリポジトリとして機能することができる、又は何らかの理由でタスクを完了させることができない作業員が、完了させることができる同僚にそのタスクを転送することができる。
Typical task delegates In some situations, it is advantageous to be able to migrate assigned tasks to another device with or without server intervention. For example, in some typical implementations, the supervisor can be assigned all tasks for that group and delegate them to available subordinates, or wired Ethernet to the server. A device with a reliable communication path such as can serve as a local repository of tasks to transfer tasks to the mobile device using a P2P communication path, or to complete the task for any reason An unsuccessful worker can transfer the task to a colleague who can complete it.

一部の典型的な実施形態では、タスクは、複数のユーザ又はデバイスへの順次割り当てを必要とすることがある。例えば、タイムカードの記入などの時間追跡タスクが、作業員に割り当てられることがある。作業員が、働いた時間数を記入することによってタスクの作業員部分を完了させたら、タスクは、検証及び認可のために作業員の監督者に再割り当てされる。もし問題がある場合は、タスクは、修正のために作業員に再割り当てすることができる。このパターンは、監督者がタイムカードを承認し、それをサーバに送り返してタスクを完了させるまで、複数回にわたって繰り返すことができる。タイムカードタスクのプロセスを、サーバを介してなされる一連の異なるタスク(すなわち、「作業員タイムカード記入」タスク、「監督者認可」タスク、随意の「作業員タイムカード修正」タスクなど)として扱うのではなく、タスクデリゲートを使用することによって、認可されたタイムカードデータをサーバに到達させるプロセスをサーバとの連絡にほぼ依存することなく完了させることができる。作業チームが、遠く離れた現場、採掘場、又はデータを完全保護された設備など、十分なサーバ通信能力を持たないエリアで過ごしているときに、デバイス間タスクデリゲートのこの能力は、効率を向上させるとともにコストを削減することができる。例えば、作業員のタイムカードタスクを監督者に割り当てて、その監督者が、完了されたタスクをサーバに送り返す用意が整うまで作業員とやり取りすれば、監督者だけがサーバとの通信を必要とするだけで済む。サーバとの通信を確立するために、たとえ衛星電話又は配線Ethernet接続などの特殊な通信ハードウェアへのアクセスが必要であれ、設備がある場所への移動が必要であれ、このような接続を各作業員が個々に行う必要があるのではないことによって、タスクを完了させるのに必要な時間が短縮され、更なる通信ハードウェアの必要が回避されえる。   In some exemplary embodiments, a task may require sequential assignment to multiple users or devices. For example, time tracking tasks such as filling in time cards may be assigned to workers. Once the worker completes the worker portion of the task by entering the number of hours worked, the task is reassigned to the worker's supervisor for verification and approval. If there is a problem, the task can be reassigned to a worker for correction. This pattern can be repeated multiple times until the supervisor approves the time card and sends it back to the server to complete the task. Treat the time card task process as a series of different tasks done through the server (ie "worker time card entry" task, "supervisor approval" task, optional "worker time card modification" task, etc.) Instead, by using a task delegate, the process of reaching authorized time card data to the server can be completed with little dependence on contact with the server. This capability of device-to-device task delegates improves efficiency when work teams are spending time in remote locations, mines, or areas where data is not fully protected, such as fully protected equipment. And cost can be reduced. For example, if a worker's time card task is assigned to a supervisor and the supervisor interacts with the worker until the completed task is ready to be sent back to the server, only the supervisor needs to communicate with the server. Just do it. To establish communications with the server, whether you need access to special communications hardware, such as satellite phone or wired Ethernet connection, or need to move to a location with equipment, By not having to be done individually by the worker, the time required to complete the task can be reduced and the need for additional communication hardware can be avoided.

デリゲートに適格なタスクには、上述のように、タスクの転送先にできるデバイスに接続するために必要な情報と、随意として、それらのデバイスのユーザに関する情報とを含む、「配布リストノード」がある。   Tasks that are eligible for a delegate have a “distribution list node” that contains the information necessary to connect to the devices to which the task can be forwarded, and optionally information about the users of those devices, as described above. is there.

一部の典型的な実装形態では、タスクを構成するノードは、第1のデバイスに固有の参照すなわちノードIDを使用して互いにリンクし合う。このようなノードを第2のデバイスに転送するためには、ノード参照を、第1のデバイス内に存在するノードに相対的ではなく、タスク自体に相対的にしなくてはならない。これは、「ノードツリーパック化(Node Tree Packing)」と称される。転送後、(1つ又は複数の)転送されたノードは、自身のノード参照を、第2のデバイス上における固有なアドレス指定すなわちノードIDに調整されなければならない。これは、「ノードツリーパック解凍(Node Tree Unpacking)」と称される。このようなノードツリーパック化がタスクのノードに対して実施されたことを示し、受信デバイスが適切なノードツリーパック解凍を実施できるようにするためには、デリゲートされるタスクは、タスクデリゲートメッセージによって転送される。   In some typical implementations, the nodes that make up the task link to each other using a reference or node ID that is unique to the first device. In order to transfer such a node to the second device, the node reference must be relative to the task itself, not relative to the nodes present in the first device. This is referred to as “Node Tree Packing”. After the transfer, the transferred node (s) must adjust its node reference to a unique addressing or node ID on the second device. This is referred to as “Node Tree Unpacking”. In order to indicate that such node tree packing has been performed on the task's node and to allow the receiving device to perform the appropriate node tree pack decompression, the delegated task is Transferred.

第1のデバイスから第2のデバイスにタスクをデリゲートするための第1の典型的な手続き(方法1)が、図12に示されている。第1のデバイスのユーザは、デリゲートする割り当てタスクを選択するために、第1のデバイスのディスプレイマネージャとやり取りする(12000)。一部の典型的な実装形態における選択の方法は、割り当てタスクのメニューであり、そこから選択が行われる。その他の典型的な実装形態では、タスクは、望ましいタスクが見つかるまで一度に1つずつタスクを提示することによって選択される、又はタスクは、指定の順序で若しくはその他の何らかの手段によって処理されなければならないことがある。   A first exemplary procedure (Method 1) for delegating a task from a first device to a second device is shown in FIG. The user of the first device interacts with the display manager of the first device to select an assignment task to delegate (12000). The method of selection in some typical implementations is a menu of assignment tasks from which selections are made. In other typical implementations, tasks are selected by presenting them one at a time until the desired task is found, or tasks must be processed in a specified order or by some other means. It may not be.

タスクが指定されたら、他のどのデバイスをタスクのデリゲート先にできるかを決定するために、タスクの配布リストノードが参照される(12005)。配布リストノードは、タスクのデリゲート先にできるデバイス及び各デバイスのための通信経路情報を指定する、データ及び/又はデータを含むカタログへの参照を含む。データは、特定のタスクに
固有である、又は、例えば、一群のデバイスが一監督者の部下によって使用され、その監督者がそれらの部下にタスクを定期的にデリゲートするときなど、複数のタスク間で共有することができる。タスクのデリゲート先にできるデバイスは、適切なやり方で第1のデバイスのユーザに提供される(12010)。一部の典型的な実装形態では、表示は、通信経路の記述と、デバイスのアドレスとからなることができる。その他の典型的な実装形態では、表示は、デバイスに関連付けられたユーザ名からなることができる。その他の典型的な実装形態では、勤務シフト、経験レベル、最後にいたことがわかっている場所、サポートされている通信経路、又はその他の情報など、ユーザに関する更なるデータが表示される。一部の典型的な実装形態では、このようなその他の情報は、配布リストノードに含まれる特定のタスク配布情報を利用することができる特定のデバイス又はデバイス群の規定などのように、配布情報の使用に対する制限を含むことがある。例えば、タスクの割り当て先として可能性のある複数のデバイスを指定する配布リストノードを伴うタスクが、第1のデバイスから第2のデバイスにデリゲートされるときに、第1のデバイスは、第2のデバイスが使用することができる唯一の利用可能配布情報が第1のデバイスを指定するように、配布リストノードのコンテンツを変更することができる。これは、第1のデバイスによる再デリゲートに制約を加えることなく、第2のデバイスによるタスクの再デリゲートを制限し、第2のデバイスがタスクを第1のデバイスに戻す再デリゲートしかできないようにする。残りの配布情報を配布リストノードから除去することなく第2のデバイスによるこのような残りの配布情報の使用を不可にすることによって、第1のデバイスは、恐らくは第2のデバイスによるタスクの部分的完了後にタスクが第1のデバイスに再デリゲートされること、及びタスクが再デリゲートされるときに、配布リストノード情報が依然、第1のデバイスによって使用可能なようにタスクに関連付けられており、第2のデバイスを指定する制限によって制約されないことを、保証する。
Once a task is specified, the task's distribution list node is consulted (12005) to determine which other devices can be delegated to the task. The distribution list node includes data and / or a catalog containing the data specifying the devices that can be delegated to the task and the communication path information for each device. Data is specific to a particular task, or between multiple tasks, for example, when a group of devices are used by a supervisor's subordinates and the supervisor delegates tasks to them regularly Can be shared on Devices that can be delegated to the task are provided to the user of the first device in an appropriate manner (12010). In some typical implementations, the display can consist of a description of the communication path and the device address. In other exemplary implementations, the display can consist of a username associated with the device. In other exemplary implementations, additional data about the user is displayed, such as work shift, experience level, last known location, supported communication path, or other information. In some typical implementations, such other information includes distribution information, such as a specific device or group of devices that can utilize specific task distribution information contained in a distribution list node. May include restrictions on the use of For example, when a task with a distribution list node that specifies a plurality of possible devices to assign a task to is delegated from a first device to a second device, the first device The contents of the distribution list node can be changed so that the only available distribution information that can be used by the device specifies the first device. This restricts the re-delegation of tasks by the second device without constraining the re-delegation by the first device so that the second device can only re-delegate the task back to the first device. . By disabling the use of such remaining distribution information by the second device without removing the remaining distribution information from the distribution list node, the first device is possibly part of the task by the second device. The task is re-delegated to the first device after completion, and when the task is re-delegated, the distribution list node information is still associated with the task so that it can be used by the first device; Guarantees that it is not constrained by the restrictions that specify two devices.

第1のデバイスのユーザは、タスクのデリゲート先にする受け手を選択し(12015)、タスクは、伝送に合わせてパッケージ化される(12020)。伝送に合わせたタスクのパッケージ化は、一部の典型的な実装形態では、ノードツリーパック化を含むことができる。一部の典型的な実装形態では、現行のデリゲート手続きに使用されている配布リストノードとは異なる配布リストノードが、タスクパッケージに追加される(例:監督者が、タスクの再デリゲートを制限したい又は禁止したい場合など)。タスクパッケージは、符号化される、圧縮される、暗号化される、又は各種の典型的な実装形態においてその他の処理を施される。   The user of the first device selects the recipient to whom the task is to be delegated (12015), and the task is packaged for transmission (12020). Packaging tasks for transmission can include node tree packing in some exemplary implementations. In some typical implementations, a distribution list node is added to the task package that is different from the distribution list node used in the current delegate procedure (eg, supervisor wants to restrict task re-delegation) Or if you want to ban it). The task package can be encoded, compressed, encrypted, or otherwise processed in various exemplary implementations.

配布リストノード内の通信経路情報を使用して(12025)、タスクは、第2のデバイスに伝送され(12030)、第2のデバイスは、タスクの受け入れを承認し(12037)、サーバは、デリゲートの通知を送信される(12035)。サーバに送信された通知は、随意として、タスクが完了されその完了についての通知をサーバが受けたときにサーバがそれを第1のデバイスに通知するように要求してもよい。一部の典型的な実装形態では、タスクが第1のデバイスから第2のデバイスにデリゲートされるときに、第1のデバイスは、タスク及び第2のデバイスを識別するのに十分な情報を記録する永続記録を、BLOBノードの使用などによって作成する。この記録は、本明細書では「デリゲート記録」と称される。デリゲート記録は、サーバによってであれ、又は別のデバイスからのデリゲートによってであれ、タスクを割り当てられた各デバイスに、タスクキャンセル情報を伝搬させるのに有用である。   Using the communication path information in the distribution list node (12025), the task is transmitted to the second device (12030), the second device approves the task acceptance (12037), and the server delegates Is sent (12035). The notification sent to the server may optionally request that the server notify the first device when the task is completed and the server receives notification of the completion. In some exemplary implementations, when a task is delegated from the first device to the second device, the first device records sufficient information to identify the task and the second device. A permanent record is created, such as by using a BLOB node. This recording is referred to herein as “delegate recording”. Delegate records are useful for propagating task cancellation information to each device that is assigned a task, whether by a server or by a delegate from another device.

第2のデバイスによってタスクが受信されると、タスクは、パッケージ解凍され、第2のデバイスにインストールされる(12040)。これは、一部の典型的な実装形態では、第1のデバイスによってタスクに施された圧縮、暗号化、又はその他の動作を逆行させること、ノード参照を、タスクに相対的な形態からタスクの処理に必要な形態に変換すること(ノードツリーパック解凍)、及びタスクをタスクリスト、タスクマネージャ、又はタスクを管理するために第2のデバイスによって使用されるその他の構造、システム、若しくは手続きにタスクをリンクさせることを含むことができる。   When a task is received by the second device, the task is unpacked and installed on the second device (12040). This is, in some typical implementations, reversing the compression, encryption, or other operations performed on the task by the first device, node references from the form relative to the task. Convert tasks into the form needed for processing (node tree pack decompression) and tasks into task list, task manager, or other structure, system, or procedure used by the second device to manage tasks Can be linked.

第2のデバイスのユーザによってタスクが完了されたら(12045)、サーバは、タスクの完了について通知され、サーバは、タスクの完了について、もしそのような通知が要求された場合(12050)に第1のデバイスに通知する(12055)。第1のデバイスは、タスクがデリゲートされたときに作成されたデリゲート記録を削除し(12060)、プロセスは完了する。   Once the task is completed by the user of the second device (12045), the server is notified about the completion of the task, and the server is first notified if such notification is requested (12050) for the completion of the task. (12055). The first device deletes the delegate record that was created when the task was delegated (12060) and the process is complete.

図13に示されるように、第1の方法によるタスクデリゲート(13100)におけるメッセージ交換は、サーバから第1のデバイスへのタスクの初期割り当てを伴う(13110)。第1のデバイスは、すると、タスクを第2のデバイスにデリゲートし(13120)、第2のデバイスは、デリゲートを承認し(13125)、第1のデバイスは、タスクデリゲートについてサーバに通知する(13130)。タスクが完了すると、第2のデバイスは、サーバに通知し(13140)、サーバは、(もし通知が要求された場合は)第1のデバイスに通知する(13150)。   As shown in FIG. 13, the message exchange in the task delegate (13100) according to the first method involves the initial assignment of tasks from the server to the first device (13110). The first device then delegates the task to the second device (13120), the second device approves the delegate (13125), and the first device notifies the server about the task delegate (13130). ). When the task is complete, the second device notifies the server (13140), and the server notifies the first device (if notification is requested) (13150).

第1のデバイスから第2のデバイスにタスクをデリゲートするための第2の典型的な手続き(方法2)が、図14に示されている。第2の典型的な手続きの初期のステップ、すなわち、第1のデバイスのユーザが、デリゲートする割り当てタスクを選択するために、第1のデバイスのディスプレイマネージャとやり取りするステップ、タスクのデリゲート先にできるデバイスを決定するために、タスクの配布リストノードが参照されるステップ、ユーザが、デリゲート先にするデバイスを選択するステップ、及びタスクが、伝送に合わせてパッケージ化されるステップは、第1の典型的な手続きと同じである(14500)。タスクパッケージは、やはり方法1と同じ方式で伝送され(14510)、やはり方法1と同様に、委託先のデバイスは、タスクの受け入れを承認し(14535)、サーバは、デリゲート元のデバイスによってデリゲートの通知を送信される(14515)。方法2では、しかしながら、デリゲート元のデバイスは、割り当てタスクを委託先が完了させたことの通知を方法1のように送信されない。代わりに、デリゲート元のデバイスは、割り当てタスクを保留中であるものとしてログに記録し(14520)、一意IDを含むチェックポイントメッセージを委託先のデバイスに送信し(14525)、その後、手続きは、一意IDを持つチェックポイントメッセージがサーバから受信されるまで一時停止する(14530)。この一時停止は、例示のステップにおける概念的な一時停止であり、デリゲート元のデバイス上における処理が文字通り一時停止することではなく、その他の作業の処理は正常に続けられる。保留中のタスクのログは、タスクのデリゲート先の各デバイスについて維持される。これらのログは、論理的には区別されるが、各ログが別々の順次編成ファイル内若しくは索引ファイル内にある、全てのログが1つの順次編成ファイル内若しくは索引ファイル内にある、各ログがリレーショナルデータベースシステムの別々のテーブル内にある、全てのログがリレーショナルデータベースの1つのテーブル内にある、ログが1つのカタログ内若しくは複数のカタログ内に保持される、ログがBLOBノード内に維持されるなど、当業者によって適切だと判断される任意の方式で実装される。   A second exemplary procedure (Method 2) for delegating a task from the first device to the second device is shown in FIG. The initial step of the second exemplary procedure, i.e. the user of the first device interacts with the display manager of the first device to select the assignment task to be delegated, the task can be delegated to The steps of referring to the distribution list node of the task to determine the device, the user selecting the device to delegate to, and the step of packaging the task for transmission are first typical. The procedure is the same (14500). The task package is also transmitted in the same manner as Method 1 (14510), and again as in Method 1, the delegated device approves the task acceptance (14535) and the server receives the delegate's A notification is sent (14515). In Method 2, however, the delegate device is not sent as in Method 1 that the delegate has completed the assignment task. Instead, the delegating device logs the assignment task as pending (14520) and sends a checkpoint message containing the unique ID to the delegating device (14525), after which the procedure It pauses until a checkpoint message with a unique ID is received from the server (14530). This pause is a conceptual pause in the illustrated steps, and the processing on the delegate device is not literally paused, but the processing of other work continues normally. A log of pending tasks is maintained for each device that the task is delegated to. These logs are logically distinct, but each log is in a separate sequential file or index file, all logs are in one sequential file or index file, each log is All logs in separate tables of relational database system, all logs are in one table in relational database, logs are kept in one catalog or multiple catalogs, logs are kept in BLOB nodes It is implemented in any manner deemed appropriate by those skilled in the art.

第2のデバイスによってタスクが受信されると、それは、デリゲート元のデバイスに対して承認され(14535)、タスクは、パッケージ解凍されて、第2のデバイスにインストールされる(14540)。一意IDを伴うチェックポイントメッセージとともに(14550)、タスク受け入れメッセージもサーバに送信される(14545)。サーバは、チェックポイントメッセージを受信すると、それをデリゲート元のデバイスに転送し(14555)、これは、委託先のデバイスがサーバと連絡していたこと、及びそれゆえにサーバがタスクデリゲートについて知らされていたことを、デリゲート元のデバイスに
知らせ、委託先のデバイスについてのデリゲートログは、そのデリゲートされたタスクを含むところまで消去される(14560)。タスクが完了したら、委託先のデバイスは、方法1と同様に、タスクの完了を報告するためにサーバに連絡を取り(14565)、プロセスは完了する。
When a task is received by the second device, it is approved for the delegating device (14535), and the task is unpacked and installed on the second device (14540). Along with a checkpoint message with a unique ID (14550), a task acceptance message is also sent to the server (14545). When the server receives the checkpoint message, it forwards it to the delegating device (14555), which indicates that the delegated device has contacted the server and therefore the server is informed about the task delegate. The delegate log is deleted until the delegate log includes the delegated task (14560). When the task is complete, the delegated device contacts the server to report the completion of the task (14565), as in Method 1, and the process is complete.

図13に示されるように、第2の方法によるタスクデリゲート(13200)におけるメッセージ交換は、サーバから第1のデバイスへのタスクの初期割り当てを伴う(13210)。第1のデバイスは、すると、タスクを第2のデバイスにデリゲートし(13220)、第2のデバイスによるデリゲートの受け入れの承認を受信し(13230)、タスクデリゲートについてサーバに通知する(13240)。第1のデバイスは、次いで、チェックポイントメッセージ(13250)を第2のデバイスに送信する。第2のデバイスは、タスクデリゲート通知を第1のデバイスに送信し(13260)、チェックポイントメッセージをサーバに転送する(13270)。サーバは、チェックポイントメッセージを受信すると、それを第1のデバイスに転送する(13280)。タスクが完了したら、第2のデバイスは、サーバに通知し(13290)、プロセスは完了する。   As shown in FIG. 13, the message exchange in the task delegate (13200) according to the second method involves the initial assignment of tasks from the server to the first device (13210). The first device then delegates the task to the second device (13220), receives approval to accept the delegate by the second device (13230), and notifies the server about the task delegate (13240). The first device then sends a checkpoint message (13250) to the second device. The second device sends a task delegate notification to the first device (13260) and forwards the checkpoint message to the server (13270). When the server receives the checkpoint message, it forwards it to the first device (13280). When the task is complete, the second device notifies the server (13290) and the process is complete.

タスクデリゲートのための方法1は、少なくとも第1のデバイスがサーバと通信状態にあり、第2のデバイスへのタスクのデリゲートがサーバに確実に通知されるときに、有用である。これが当てはまらない場面では、方法1は、もし第1のデバイスに割り当てられたタスクについて、サーバが第2のデバイスからのタスク完了の旨を受け入れる用意があれば、依然として使用することができる。これは、第1のデバイスが第2のデバイスへのタスクのデリゲートについてサーバに通知する前に、第2のデバイスがタスクを完了してその旨をサーバに送信する状況に対処している。代替の典型的な実装形態では、第2のデバイスは、タスク完了の旨を第1のデバイスに送信し、第1のデバイスは、次いで、そのタスク完了の旨をサーバに送信する。第2のデバイスから第1のデバイスへの連鎖を通して行われるタスク完了の旨のこのような中継は、当業者にならば自明であるように、任意の数のデバイスに対してなすことができる。各第1のデバイスは、タスクが第2のデバイスにデリゲートされるときに、デリゲート記録を作成し、タスク完了の旨が返され、連鎖を遡って中継され、そのタスクのための処理が完了されるときに、デリゲート記録を削除する。デリゲート記録は、タスク完了の旨が第2のデバイスから送信されていることを各第1のデバイスが立証することを可能にする。   Method 1 for task delegates is useful when at least the first device is in communication with the server and the server is reliably notified of the task delegate to the second device. In situations where this is not the case, Method 1 can still be used for tasks assigned to the first device if the server is willing to accept the task completion from the second device. This addresses the situation where the second device completes the task and sends it to the server before the first device notifies the server about the delegate of the task to the second device. In an alternative exemplary implementation, the second device sends a task completion message to the first device, and the first device then sends the task completion message to the server. Such relaying of task completion through the chain from the second device to the first device can be made to any number of devices, as will be apparent to those skilled in the art. Each first device creates a delegate record when the task is delegated to the second device, a task completion message is returned, relayed back in the chain, and the processing for that task is completed Delete the delegate record. The delegate record allows each first device to verify that the task completion has been transmitted from the second device.

もしサーバにおいてタスクがキャンセルされた場合は、そのキャンセルは、タスクを割り当てられた先の(1つ又は複数の)第1のデバイスに送信される。もし第1のデバイスが第2のデバイスにタスクをデリゲートした場合は、第1のデバイスは、タスクキャンセルの旨を受信し次第、タスクがデリゲートされたときに作成されたデリゲート記録を使用して第2のデバイスにキャンセルの旨を転送する。もし第2のデバイスが第3のデバイスにタスクをデリゲートした場合は、第2のデバイスは、第1のデバイスからタスクキャンセルの旨を受信し次第、自身のデリゲート記録を使用して第3のデバイスにタスクキャンセルの旨を転送する。当業者にならば明らかなように、このプロセスは、第4のデバイスへ、第5のデバイスへなどのように、任意の数のデリゲートに対して続けることができる。各デリゲート元デバイスは、タスクキャンセルの旨の転送を完了した時点で、そのタスクについてのデリゲート記録を削除する。   If the task is canceled at the server, the cancellation is sent to the first device (s) to which the task is assigned. If the first device delegates the task to the second device, the first device uses the delegate record created when the task was delegated upon receipt of the task cancellation. The cancellation notice is transferred to the second device. If the second device delegates the task to the third device, the second device uses its delegate record to receive the third device upon receipt of the task cancellation from the first device. Forward the task cancellation message to. As will be apparent to those skilled in the art, this process can continue for any number of delegates, such as to a fourth device, to a fifth device, and so on. Each delegate-source device deletes the delegate record for the task at the time when the transfer indicating task cancellation is completed.

もしタスクを割り当てられた先のデバイスにおいてタスクがキャンセルされた場合は、キャンセルの旨は、サーバに送信され、サーバは、タスクを割り当てられた先の第1のデバイスにキャンセルの旨を転送する。第1のデバイスは、第2のデバイスにキャンセルの旨を転送し、そのタスクに関する自身のデリゲート記録を削除する。転送プロセスは、もしタスクが複数回にわたって再デリゲートされた場合は、第3のデバイスへ、第4のデバイスへなどのように繰り返すことができる。代替の実装形態では、キャンセル元のデバイ
スが、自身がタスクを割り当てた先のデバイスにキャンセルの旨を送信する。すなわち、第2のデバイスが、第1のデバイスにキャンセルの旨を送信し、第1のデバイスは、自身のデリゲート記録を削除し、サーバにキャンセルの旨を転送する。このキャンセルプロセスもやはり、任意の数のデリゲートに対して実施することができる(例:キャンセルの旨は、第4のデバイスから第3のデバイスへ、そして第2のデバイスへ、そして第1のデバイスへ転送され、第1のデバイスによって、サーバに転送される)。
If the task is canceled in the device to which the task is assigned, the cancellation is transmitted to the server, and the server transfers the cancellation to the first device to which the task is assigned. The first device forwards the cancellation to the second device and deletes its own delegate record for the task. The transfer process can be repeated, such as to a third device, to a fourth device, etc. if the task is redegated multiple times. In an alternative implementation, the cancellation source device sends a cancellation message to the destination device to which it has assigned the task. That is, the second device transmits a cancellation message to the first device, and the first device deletes its own delegate record and forwards the cancellation message to the server. Again, this cancellation process can be performed for any number of delegates (eg, cancellation is from the fourth device to the third device, to the second device, and to the first device To the server by the first device).

タスクのキャンセルは、タスクが別のタスクの複製である(自動機器が故障を検出したために修理タスクを生成したが、同じ誤動作が複数の故障イベントを発生させたときに起こり得る)、タスクが誤って生成された(例:組み立てラインの始動時に、特定の一連の機械の起動がデバイス故障を示すように見えるが、実際は何も問題なく、全ての機械が動き始めれば安定化するとき)、又はタスクが別のタスクに内包される(例:機械に対してメインテナンスを実施するためのタスクが生成されたが、引き続き同機械に故障が発生した結果、別のタスクが取って代わり、メインテナンスタスクを不要にした)などの多くの理由によって必要とされ得る。   Canceling a task is a duplicate of another task (which can occur when an automatic device has generated a repair task because it has detected a failure, but the same malfunction caused multiple failure events), and the task is incorrect Generated (eg, when starting an assembly line, a particular series of machine activations appear to indicate a device failure, but in fact nothing has happened and all machines start to stabilize) or The task is contained in another task (eg, a task is generated to perform maintenance on the machine, but as a result of the failure of the same machine, another task replaces the maintenance task. May be needed for many reasons, such as

タスクデリゲートの方法2は、両デバイスがGRPS、Wi−Fi、及びサーバとのその他の通信方法から隔離されている間に、デバイス間においてP2Pリンクを使用してデリゲートがなされたときに起こり得るような、デリゲートの時点で少なくとも第1のデバイスがサーバと通信状態にないときに、有用である。第1のデバイスによって第2のデバイスに送信されたチェックポイントメッセージが、サーバから第1のデバイスに送信されれば、第2のデバイスがサーバと連絡しており、ゆえに、たとえ第1のデバイスがタスクデリゲート通知を送信する機会が無かった場合でも、サーバがタスクデリゲートについて通知されていたこと、及び第1のデバイスがもうデリゲートタスクを追跡する必要がなくなり、ゆえに、受信されたチェックポイントメッセージに関連付けられたタスクを含むところまでそのログエントリを消去できることが、明らかである。   Task Delegate Method 2 can occur when a delegate is made using a P2P link between devices while both devices are isolated from GRPS, Wi-Fi, and other methods of communication with the server. This is useful when at least the first device is not in communication with the server at the time of the delegate. If the checkpoint message sent by the first device to the second device is sent from the server to the first device, then the second device is in contact with the server, so even if the first device is Even if there was no opportunity to send a task delegate notification, the server was notified about the task delegate, and the first device no longer needs to track the delegate task, and therefore is associated with the received checkpoint message. It is clear that the log entry can be erased to the point where it contains the task that was submitted.

したがって、以上から理解されるように、典型的で例示的で非限定的な実装形態は、たとえ、ワイヤレスネットワークデバイスと、より強固なその他のネットワークデバイスとの間の通信が非信頼性であるとき、断続的であるとき、帯域幅が限られるときでも、又はデバイスのうちの1つ若しくは複数のデバイスのリソースに限りがあるときでも、ローカルワイヤレス接続を確立することができる、信頼性の高い相互作用の方法を、第1のデバイスのユーザと第2のデバイスのユーザとの間に提供できるように、デバイス間における「ノード」、コマンド、及びその他のデータ項目の交換を可能にするための、システムと、装置と、ソフトウェアとを提供する。本明細書に記載される方法、システム、及び装置を使用すれば、より効率的な、通信、リソース割り当て、及びタスクデリゲートを達成することができる。   Thus, as will be appreciated, a typical, exemplary, and non-limiting implementation is, for example, when communication between a wireless network device and other more robust network devices is unreliable. Reliable interoperability that can establish a local wireless connection, even when intermittent, when bandwidth is limited, or when resources of one or more of the devices are limited To enable the exchange of “nodes”, commands, and other data items between devices so that a method of action can be provided between a user of a first device and a user of a second device; A system, apparatus, and software are provided. More efficient communication, resource allocation, and task delegates can be achieved using the methods, systems, and apparatus described herein.

本明細書における技術は、典型的で例示的で非限定的な実施形態との関連で説明されてきたが、発明は、この開示に限定されない。発明は、特許請求の範囲によって定められること、及び本明細書に具体的に開示されたものであれ、そうでないものであれ、相応の及び等価のあらゆる構成を網羅することを、意図されている。   Although the techniques herein have been described in connection with exemplary, exemplary, and non-limiting embodiments, the invention is not limited to this disclosure. The invention is defined by the following claims and is intended to cover any and all equivalent and equivalent configurations, whether specifically disclosed herein or otherwise. .

Claims (49)

通信経路の利用可能性が連続性を欠く、場所から場所へと変化する、時間若しくは場所によって異なる手段を使用して利用可能になる、のいずれか又は全ての場合に、成功裏に通信する可能性を高めつつ、モバイル/ポータブルデバイス(1110)と通信するための方法であって、
第1の通信経路(1200)を通じてモバイル/ポータブルデバイス(1110)との通信を可能にすることと、
前記第1の通信経路(1200)と少なくとも部分的に異なる第2の通信経路(1200)を通じて前記モバイル/ポータブルデバイス(1110)との通信を可能にすることと、
ノード構造の少なくとも第1の部分を表わす信号を前記第1の通信経路(1200)を通じて通信することと、
前記ノード構造の少なくとも第2の部分を表わす信号を前記第2の通信経路(1200)を通じて通信することと、
を特徴とし、
更に、前記ノード構造の成功裏の通信の可能性を高めるために、前記第1の通信経路(1200)を通じて送信された前記信号及び前記第2の通信経路(1200)を通じて送信された前記信号を使用し、該使用は、前記第1の及び第2の通信経路(1200)を通じて運ばれた重複する情報を調整することを含むことを特徴とする方法。
Ability to communicate successfully in any or all cases where the availability of the communication path lacks continuity, changes from place to place, becomes available using different means depending on time or place A method for communicating with a mobile / portable device (1110) while enhancing
Enabling communication with a mobile / portable device (1110) through a first communication path (1200);
Enabling communication with the mobile / portable device (1110) through a second communication path (1200) that is at least partially different from the first communication path (1200);
Communicating a signal representative of at least a first portion of a node structure through the first communication path (1200);
Communicating a signal representative of at least a second portion of the node structure through the second communication path (1200);
Features
Further, in order to increase the possibility of successful communication of the node structure, the signal transmitted through the first communication path (1200) and the signal transmitted through the second communication path (1200) Using, wherein the use includes coordinating overlapping information carried through the first and second communication paths (1200).
請求項1に記載の方法であって、更に、
前記同じノード構造の異なる部分について、あまり好ましくない通信経路(1200)よりも好ましい通信経路(1200)を状況に応じて使用するために、前記第1の通信経路と前記第2の通信経路と(1200)の間で選択を行うことを特徴とする方法。
The method of claim 1, further comprising:
In order to use a communication path (1200) that is more preferable than a less preferable communication path (1200) for different parts of the same node structure depending on the situation, the first communication path and the second communication path ( 1200).
請求項1ないし2のいずれかに記載の方法であって、更に、
前記第1の通信経路と前記第2の通信経路と(1200)の間で動的に切り替えを行うことを特徴とする方法。
The method according to claim 1, further comprising:
A method of dynamically switching between the first communication path and the second communication path (1200).
請求項1ないし3のいずれかに記載の方法であって、更に、
前記第1の及び第2の通信経路(1200)を一度に1本ずつ使用することを特徴とする方法。
The method according to any one of claims 1 to 3, further comprising:
A method of using the first and second communication paths (1200) one at a time.
請求項1ないし4のいずれかに記載の方法であって、更に、
前記ノード構造の前記同じ部分又は異なる部分に対し、前記第1の及び第2の通信経路(1200)の両方を同時に使用することを特徴とする方法。
The method according to any one of claims 1 to 4, further comprising:
Method of using both said first and second communication paths (1200) simultaneously for said same or different parts of said node structure.
請求項1ないし5のいずれかに記載の方法であって、更に、
前記第1の及び第2の通信経路(1200)は、異なる特性を有することを特徴とする、方法。
The method according to any one of claims 1 to 5, further comprising:
The method, wherein the first and second communication paths (1200) have different characteristics.
請求項6に記載の方法であって、更に、
前記第1の及び第2の通信経路(1200)は、異なる速度/帯域幅特性を有することを特徴とする、方法。
The method of claim 6, further comprising:
The method, wherein the first and second communication paths (1200) have different speed / bandwidth characteristics.
請求項6に記載の方法であって、更に、
前記第1の及び第2の通信経路(1200)は、異なる信頼性を有することを特徴とする、方法。
The method of claim 6, further comprising:
The method, wherein the first and second communication paths (1200) have different reliability.
請求項6に記載の方法であって、更に、
前記第1の及び第2の通信経路(1200)は、異なる使用コストを有することを特徴とする、方法。
The method of claim 6, further comprising:
The method, wherein the first and second communication paths (1200) have different usage costs.
請求項6に記載の方法であって、更に、
前記第1の及び第2の通信経路(1200)は、異なる通信プロトコルを使用することを特徴とする、方法。
The method of claim 6, further comprising:
The method, wherein the first and second communication paths (1200) use different communication protocols.
請求項6に記載の方法であって、更に、
前記第1の及び第2の通信プロトコルは、異なる伝送媒体を使用することを特徴とする、方法。
The method of claim 6, further comprising:
The method wherein the first and second communication protocols use different transmission media.
請求項1ないし11のいずれかに記載の方法であって、更に、
前記データ項目を好ましい通信経路(1200)以外の時間、順序、手段のいずれか又は全てによって送信するために帯域外伝送を使用することを特徴とする方法。
12. The method according to any one of claims 1 to 11, further comprising:
A method characterized by using out-of-band transmission to transmit the data items by any or all of the time, sequence, means other than the preferred communication path (1200).
請求項1ないし12のいずれかに記載の方法であって、更に、
前記送信されるべきデータ項目の特性に一部基づいて伝送方法が決定される優先メッセージングを提供することを特徴とする方法。
A method according to any of claims 1 to 12, further comprising:
Providing preferential messaging in which a transmission method is determined based in part on characteristics of the data item to be transmitted.
請求項1ないし13のいずれかに記載の方法であって、更に、
重複の発生が偶発的であれ意図的であれ、重複するノード構造及びデータ項目を検出して排除することを特徴とする方法。
A method according to any of claims 1 to 13, further comprising:
A method of detecting and eliminating duplicate node structures and data items, whether the occurrence of duplicates is accidental or intentional.
請求項1ないし14のいずれかに記載の方法であって、更に、
送り手が受け手に連絡を取ってノード構造の転送を開始させるプッシュモード伝送モデルを使用することを特徴とする方法。
15. A method according to any of claims 1 to 14, further comprising:
A method using a push mode transmission model in which a sender contacts a receiver to initiate a transfer of a node structure.
請求項1ないし15のいずれかに記載の方法であって、更に、
送り手が受け手に連絡を取り、プルモードセッションを開始させるように前記受け手に要求するコマンドを含むノード構造を送信する協調プッシュモード伝送モデルを使用すること特徴とする方法。
A method according to any of claims 1 to 15, further comprising:
A method using a coordinated push mode transmission model in which a sender contacts a recipient and sends a node structure that includes a command requesting the recipient to initiate a pull mode session.
請求項1ないし16のいずれかに記載の方法であって、更に、
前記送り手の要求及び前記受け手のプルモードセッションは、異なる通信経路(1200)上で発生することを特徴とする方法。
17. A method according to any of claims 1 to 16, further comprising:
The method wherein the sender request and the recipient pull mode session occur on different communication paths (1200).
請求項1ないし17のいずれかに記載の方法であって、更に、
前記デバイス(1110)と別のデバイス(1110)との間でノード構造を送信するためにピア・ツー・ピア(P2P)ノード構造伝送モデルを使用することを特徴とし、更に、前記デバイスは、一方が通信を開始させることができ、一方又は両方が他方にノード構造を伝送することができることを特徴とする方法。
A method according to any of claims 1 to 17, further comprising:
Using a peer-to-peer (P2P) node structure transmission model to transmit a node structure between said device (1110) and another device (1110), further comprising: Can initiate communication and one or both can transmit a node structure to the other.
請求項1ないし18のいずれかに記載の方法であって、更に、
1つ又は複数の特定されたタスクの割り当てを受け入れる意思がある1人又は複数人のユーザを特定し、それらに前記タスクを提供するために、告知及び受け入れ(A&A)メカニズムを使用することを特徴とする方法。
A method according to any of claims 1 to 18, further comprising:
Using an announcement and acceptance (A & A) mechanism to identify one or more users who are willing to accept the assignment of one or more identified tasks and provide them with those tasks And how to.
請求項1ないし19のいずれかに記載の方法であって、更に、
サーバの助けによって又はよらずに第1のデバイス(1110)から第2のデバイス(
1110)にタスクを転送するために、タスクデリゲートを使用することを特徴とする方法。
A method according to any of claims 1 to 19, further comprising:
From the first device (1110) to the second device (with or without the help of the server)
1110) using a task delegate to forward the task to.
請求項1ないし20のいずれかに記載の方法であって、更に、
データ項目、データ項目群、デバイス(1110)、又はサーバに対するアクセス、使用、又は変更の制限を可能にする柔軟なセキュリティモデルを使用することを特徴とする方法。
A method according to any of claims 1 to 20, further comprising:
A method characterized by using a flexible security model that allows restricting access, use, or modification to data items, data items, devices (1110), or servers.
請求項1ないし21のいずれかに記載の方法であって、更に、
第1のデバイス(1110)のカタログと第2のデバイス(1110)のカタログとの間の相違を識別及び解消することを特徴とする方法。
A method according to any of claims 1 to 21, further comprising:
A method for identifying and resolving differences between a catalog of a first device (1110) and a catalog of a second device (1110).
通信経路(1200)の利用可能性が連続性を欠く、場所から場所へと変化する、時間若しくは場所によって異なる手段を使用して利用可能になる、のいずれか又は全ての場合に、成功裏に通信する可能性を高める構成を含む、モバイル/ポータブルデバイス(1110)であって、
第1の通信経路(1200)を通じて通信を可能にする第1の通信インターフェースと、
前記第1の通信経路(1200)と少なくとも部分的に異なるの第2の通信経路(1200)を通じて通信を可能にする第2の通信インターフェースと、
を特徴とし、更に、
ノード構造の少なくとも第1の部分を表わす信号を前記第1の通信経路(1200)を通じて通信し、前記ノード構造の少なくとも第2の部分を表わす信号を前記第2の通信経路(1200)を通じて通信する通信コントローラと、
前記ノード構造の成功裏の通信の可能性を高めるために、前記第1の通信経路(1200)を通じて送信された前記信号及び前記第2の通信経路(1200)を通じて送信された前記信号を使用し、該使用は、前記第1の及び第2の通信経路(1200)を通じて運ばれた重複する情報を調整することを含む、プロセッサと、
を特徴とするデバイス。
Successful if any or all of the availability of the communication path (1200) lacks continuity, changes from place to place, becomes available using different means depending on time or place A mobile / portable device (1110) comprising a configuration that increases the likelihood of communication, comprising:
A first communication interface that enables communication through a first communication path (1200);
A second communication interface enabling communication through a second communication path (1200) that is at least partially different from the first communication path (1200);
In addition,
A signal representing at least a first part of the node structure is communicated through the first communication path (1200), and a signal representing at least a second part of the node structure is communicated through the second communication path (1200). A communication controller;
In order to increase the possibility of successful communication of the node structure, the signal transmitted through the first communication path (1200) and the signal transmitted through the second communication path (1200) are used. The use includes coordinating overlapping information carried through the first and second communication paths (1200); and
Device characterized by.
請求項23に記載のデバイス(1110)であって、更に、
前記同じノード構造の異なる部分について、あまり好ましくない通信経路(1200)よりも好ましい通信経路(1200)を状況に応じて使用するために、前記第1の通信経路と前記第2の通信経路と(1200)の間で選択を行うための手段を特徴とするデバイス。
The device (1110) of claim 23, further comprising:
In order to use a communication path (1200) that is more preferable than a less preferable communication path (1200) for different parts of the same node structure depending on the situation, the first communication path and the second communication path ( 1200). A device characterized by means for making a selection between.
請求項23ないし24のいずれかに記載のデバイス(1110)であって、更に、
前記第1の通信経路と前記第2の通信経路と(1200)の間で動的に切り替えを行うように構成されたスイッチを特徴とするデバイス。
25. A device (1110) according to any of claims 23 to 24, further comprising:
A device characterized by a switch configured to dynamically switch between the first communication path and the second communication path (1200).
請求項23ないし25のいずれかに記載のデバイス(1110)であって、
更に、前記第1の及び第2の通信インターフェースは、前記第1の及び第2の通信経路(1200)を一度に1本ずつ使用するように構成されることを特徴とする、デバイス。
A device (1110) according to any of claims 23 to 25, comprising:
Further, the device is characterized in that the first and second communication interfaces are configured to use the first and second communication paths (1200) one at a time.
請求項23ないし26のいずれかに記載のデバイス(1110)であって、
更に、前記第1の及び第2の通信インターフェースは、前記ノード構造の前記同じ部分又は異なる部分に対し、前記第1の及び第2の通信経路(1200)の両方を同時に使用するように構成されることを特徴とする、デバイス。
27. A device (1110) according to any of claims 23 to 26, comprising:
Further, the first and second communication interfaces are configured to simultaneously use both the first and second communication paths (1200) for the same or different portions of the node structure. A device characterized by that.
請求項23ないし27のいずれかに記載のデバイス(1110)であって、
更に、前記第1の及び第2の通信経路(1200)は、異なる特性を有することを特徴とする、デバイス。
28. A device (1110) according to any of claims 23 to 27, comprising:
Further, the device wherein the first and second communication paths (1200) have different characteristics.
請求項28に記載のデバイス(1110)であって、
更に、前記第1の及び第2の通信経路(1200)は、異なる速度/帯域幅特性を有することを特徴とする、デバイス。
29. A device (1110) according to claim 28, comprising:
Further, the device wherein the first and second communication paths (1200) have different speed / bandwidth characteristics.
請求項28に記載のデバイス(1110)であって、
更に、前記第1の及び第2の通信経路(1200)は、異なる信頼性を有することを特徴とする、デバイス。
29. A device (1110) according to claim 28, comprising:
Further, the device characterized in that the first and second communication paths (1200) have different reliability.
請求項28に記載のデバイス(1110)であって、
前記第1の及び第2の通信経路(1200)は、異なる使用コストを有する、デバイス。
29. A device (1110) according to claim 28, comprising:
The device wherein the first and second communication paths (1200) have different usage costs.
請求項28に記載のデバイス(1110)であって、更に、
前記第1の及び第2の通信経路(1200)は、異なる通信プロトコルを使用することを特徴とする、デバイス。
30. The device (1110) of claim 28, further comprising:
The device, wherein the first and second communication paths (1200) use different communication protocols.
請求項28に記載のデバイス(1110)であって、更に、
前記第1の及び第2の通信プロトコルは、異なる伝送媒体を使用することを特徴とする、デバイス。
30. The device (1110) of claim 28, further comprising:
The device, wherein the first and second communication protocols use different transmission media.
請求項23ないし33のいずれかに記載のデバイス(1110)であって、更に、
前記第1及び前記第2の通信インターフェースは、好ましい通信経路(1200)以外の時間、順序、手段のいずれか又は全てによって前記データ項目を送信するために帯域外伝送を使用するように構成されることを特徴とする、デバイス。
34. A device (1110) according to any of claims 23 to 33, further comprising:
The first and second communication interfaces are configured to use out-of-band transmission to transmit the data item by any or all of time, order, means other than the preferred communication path (1200). A device characterized by that.
請求項23ないし34のいずれかに記載のデバイス(1110)であって、更に、
送信されるべきデータ項目の特性に一部基づいて伝送技術を決定することによる優先メッセージングを提供するノード構造優先付けモジュールを特徴とするデバイス。
A device (1110) according to any of claims 23 to 34, further comprising:
A device characterized by a node structure prioritization module that provides preferential messaging by determining a transmission technique based in part on the characteristics of a data item to be transmitted.
請求項23ないし35のいずれかに記載のデバイス(1110)であって、更に、
前記プロセッサは、重複の発生が偶発的であれ意図的であれ、重複するノード構造及びデータ項目を検出して排除することを特徴とする、デバイス。
36. A device (1110) according to any of claims 23 to 35, further comprising:
The processor detects and eliminates duplicate node structures and data items, whether the occurrence of duplicates is accidental or intentional.
請求項23ないし36のいずれかに記載のデバイス(1110)であって、更に、
前記通信コントローラは、送り手が受け手に連絡を取ってノード構造の転送を開始させるプッシュモード伝送モデルを使用することを特徴とする、デバイス。
A device (1110) according to any of claims 23 to 36, further comprising:
The communication controller uses a push mode transmission model in which a sender contacts a receiver to initiate a transfer of a node structure.
請求項23ないし37のいずれかに記載のデバイス(1110)であって、更に、
前記通信コントローラは、送り手が受け手に連絡を取り、プルモードセッションを開始させるように前記受け手に要求するコマンドを含むノード構造を送信する協調プッシュモード伝送モデルを使用すること特徴とする、デバイス。
A device (1110) according to any of claims 23 to 37, further comprising:
The device, wherein the communication controller uses a coordinated push mode transmission model that sends a node structure that includes a command that requests the receiver to contact the receiver and initiate a pull mode session.
請求項38に記載のデバイス(1110)であって、更に、
前記送り手の要求及び前記受け手のプルモードセッションは、異なる通信経路(1200)上で発生することを特徴とする、デバイス。
The device (1110) according to claim 38, further comprising:
The device, wherein the sender request and the recipient pull mode session occur on different communication paths (1200).
請求項23ないし39のいずれかに記載のデバイス(1110)であって、更に、
前記通信コントローラは、前記デバイス(1110)と別のデバイス(1110)との間でノード構造を送信するためにピア・ツー・ピア(P2P)ノード構造伝送モデルを使用し、前記デバイスは、いずれも通信を開始させることができ、いずれも他方にノード構造を伝送することができることを特徴とする、デバイス。
40. The device (1110) according to any of claims 23 to 39, further comprising:
The communication controller uses a peer-to-peer (P2P) node structure transmission model to transmit a node structure between the device (1110) and another device (1110); A device, characterized in that it can initiate communication and either can transmit a node structure to the other.
請求項23ないし40のいずれかに記載のデバイス(1110)であって、更に、
1つ又は複数の特定されたタスクの割り当てを受け入れる意思がある1人又は複数人のユーザを特定し、それらに前記タスクを提供するための、告知及び受け入れ(A&A)メカニズムを特徴とするデバイス。
41. A device (1110) according to any of claims 23 to 40, further comprising:
A device characterized by an announcement and acceptance (A & A) mechanism for identifying one or more users who are willing to accept an assignment of one or more identified tasks and providing them with those tasks.
請求項23ないし41のいずれかに記載のデバイス(1110)であって、更に、
サーバの助けによって又はよらずに第1のデバイス(1110)から第2のデバイス(1110)にタスクを転送するタスクデリゲートモジュールを特徴とするデバイス。
A device (1110) according to any of claims 23 to 41, further comprising:
A device characterized by a task delegate module that transfers tasks from the first device (1110) to the second device (1110) with or without the aid of a server.
請求項23ないし42のいずれかに記載のデバイス(1110)であって、更に、
データ項目、データ項目群、デバイス(1110)、又はサーバに対するアクセス、使用、又は変更の制限を可能にする柔軟なセキュリティ構成を特徴とするデバイス。
Device (1110) according to any of claims 23 to 42, further comprising:
A device characterized by a flexible security configuration that allows restricting access, use, or modification to data items, data items, devices (1110), or servers.
請求項23に記載のデバイス(1110)であって、更に、
第1のデバイス(1110)のカタログと第2のデバイス(1110)のカタログとの間の相違を識別及び解消するカタログモジュールを特徴とするデバイス。
The device (1110) of claim 23, further comprising:
A device characterized by a catalog module for identifying and resolving differences between the catalog of the first device (1110) and the catalog of the second device (1110).
タスク選択を提供する方法であって、
タスク割り当てを第1のデバイス(1110)から第2のデバイス(1110)に転送することと、
前記タスク割り当てがキャンセルされたことを前記第2のデバイス(1110)に通知することと、
第1のデバイス(1110)のカタログと第2のデバイス(1110)のカタログとの間の相違を識別及び解消することと、
を特徴とする方法。
A method for providing task selection comprising:
Transferring the task assignment from the first device (1110) to the second device (1110);
Notifying the second device (1110) that the task assignment has been canceled;
Identifying and resolving differences between the catalog of the first device (1110) and the catalog of the second device (1110);
A method characterized by.
手持ち式のポータブルメッセージング/タスキングデバイス(1110)であって、
手持ち式のケースと、
前記ケース上に配されたディスプレイと、
前記ケース内に配され、前記ディスプレイに結合されたプロセッサと、
前記ケース内に配され、前記プロセッサに結合されたワイヤレス通信構成であって、第1のワイヤレスプロトコルを使用して第1のワイヤレス経路(1200)を通じて通信するための第1のワイヤレス通信インターフェースと、前記第1のワイヤレスプロトコルと異なる第2のワイヤレスプロトコルを使用して第2のワイヤレス経路(1200)を通じて通信するための第2のワイヤレス通信インターフェースとを含むワイヤレス通信構成と、
を特徴とし、更に、
前記ワイヤレス通信構成を介してノードの同期化に関連したメッセージングを通信するノードプロセッサであって、前記ワイヤレス通信構成に、前記第2の通信経路(1200)を通じて通信された情報に重複するノード情報を前記第1の通信経路(1200)を通じて通信させることによって、同期化されたノード通信が成功裏になされる可能性を高め、前記ディスプレイに、前記同期化されたノードに少なくとも部分的に対応するタスキング/メッセージング情報を表示させるノードプロセッサを特徴とするデバイス。
A handheld portable messaging / tasking device (1110) comprising:
A hand-held case,
A display arranged on the case;
A processor disposed within the case and coupled to the display;
A first wireless communication interface disposed within the case and coupled to the processor for communicating through a first wireless path (1200) using a first wireless protocol; A wireless communication configuration comprising: a second wireless communication interface for communicating through a second wireless path (1200) using a second wireless protocol different from the first wireless protocol;
In addition,
A node processor for communicating messaging related to node synchronization via the wireless communication configuration, wherein the wireless communication configuration includes node information that overlaps information communicated through the second communication path (1200). Increasing the likelihood of successful synchronized node communication by communicating through the first communication path (1200), the tasking corresponding to the synchronized node at least in part on the display A device characterized by a node processor for displaying messaging information.
請求項46に記載のデバイス(1110)であって、更に、
前記ノードプロセッサは、前記第1の及び第2の通信経路(1200)を通じて運ばれる重複する情報を調整することを特徴とする、デバイス。
The device (1110) of claim 46, further comprising:
The device, wherein the node processor coordinates overlapping information carried through the first and second communication paths (1200).
請求項46に記載のデバイス(1110)であって、更に、
前記第1のプロトコルは、セルラ方式のワイヤレステレフォニを含むこと、及び前記第2のプロトコルは、Bluetoothを含むことを特徴とする、デバイス。
The device (1110) of claim 46, further comprising:
The device, wherein the first protocol includes cellular wireless telephony and the second protocol includes Bluetooth.
請求項46に記載のデバイス(1110)であって、更に、
前記第1のプロトコルは、802.11を含むこと、及び前記第2のプロトコルは、Bluetoothを含むことを特徴とする、デバイス。
The device (1110) of claim 46, further comprising:
The device, wherein the first protocol includes 802.11 and the second protocol includes Bluetooth.
JP2011528038A 2008-09-22 2009-09-21 System and method for dynamic and automatic communication path selection, distributed device synchronization, and task delegation Pending JP2012503449A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US9888608P 2008-09-22 2008-09-22
US61/098,886 2008-09-22
PCT/US2009/057691 WO2010033919A2 (en) 2008-09-22 2009-09-21 System and method for dynamic automatic communication path selection, distributed device synchronization and task delegation

Publications (1)

Publication Number Publication Date
JP2012503449A true JP2012503449A (en) 2012-02-02

Family

ID=42040182

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011528038A Pending JP2012503449A (en) 2008-09-22 2009-09-21 System and method for dynamic and automatic communication path selection, distributed device synchronization, and task delegation

Country Status (7)

Country Link
EP (1) EP2340666A4 (en)
JP (1) JP2012503449A (en)
CN (1) CN102224751A (en)
AU (1) AU2009292966A1 (en)
BR (1) BRPI0913793A2 (en)
CA (1) CA2738152A1 (en)
WO (1) WO2010033919A2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017091555A (en) * 2016-11-28 2017-05-25 Kddi株式会社 Terminal device, push notification receiving method, and computer program
JP2018522453A (en) * 2015-05-20 2018-08-09 クゥアルコム・インコーポレイテッドQualcomm Incorporated Packet query-response transaction support in lower layers
JP2018137647A (en) * 2017-02-22 2018-08-30 キヤノン株式会社 Communication device, control method therefor, and program
US10375618B2 (en) 2016-03-30 2019-08-06 Toyota Jidosha Kabushiki Kaisha Wireless communication apparatus and wireless communication method
US10524187B2 (en) 2016-03-30 2019-12-31 Toyota Jidosha Kabushiki Kaisha Wireless communication apparatus and wireless communication method using wireless LAN client
JP2022099237A (en) * 2020-12-22 2022-07-04 グーグル エルエルシー Switchable communication transport for communication between primary device and vehicle head unit
JP7284999B2 (en) 2019-10-01 2023-06-01 学校法人東京電機大学 E-mail transmission device and e-mail transmission method
WO2024009540A1 (en) * 2022-07-08 2024-01-11 株式会社日立製作所 Data processing route management system and data processing route management method

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8065161B2 (en) 2003-11-13 2011-11-22 Hospira, Inc. System for maintaining drug information and communicating with medication delivery devices
US9123077B2 (en) 2003-10-07 2015-09-01 Hospira, Inc. Medication management system
AU2007317669A1 (en) 2006-10-16 2008-05-15 Hospira, Inc. System and method for comparing and utilizing activity information and configuration information from mulitple device management systems
US8271106B2 (en) 2009-04-17 2012-09-18 Hospira, Inc. System and method for configuring a rule set for medical event management and responses
KR101791284B1 (en) * 2010-04-26 2017-10-27 인터디지탈 패튼 홀딩스, 인크 Method and apparatus to enable ad hoc networks
CN102231728A (en) * 2011-05-16 2011-11-02 铁道部运输局 Train control data communication method, equipment and system
JP6033874B2 (en) 2011-10-21 2016-11-30 ホスピーラ インコーポレイテッド Medical device update system
TWI517731B (en) * 2012-03-01 2016-01-11 宏達國際電子股份有限公司 Multimedia data distribution system and operating method thereof
US9295094B2 (en) * 2012-05-07 2016-03-22 Qualcomm Incorporated System and method for peer-to-peer connection reestablishment
US8972296B2 (en) * 2012-12-31 2015-03-03 Ebay Inc. Dongle facilitated wireless consumer payments
WO2014138446A1 (en) 2013-03-06 2014-09-12 Hospira,Inc. Medical device communication method
JP6222950B2 (en) * 2013-03-15 2017-11-01 キヤノン株式会社 Printing apparatus, control method thereof, and program
GB2516886A (en) 2013-08-02 2015-02-11 Nec Corp Communications system
US20150066531A1 (en) 2013-08-30 2015-03-05 James D. Jacobson System and method of monitoring and managing a remote infusion regimen
KR102099204B1 (en) 2013-09-02 2020-05-15 삼성전자주식회사 Electronic device and method for connecting communication for electronic device
US9662436B2 (en) 2013-09-20 2017-05-30 Icu Medical, Inc. Fail-safe drug infusion therapy system
US10311972B2 (en) 2013-11-11 2019-06-04 Icu Medical, Inc. Medical device system performance index
AU2014353130B9 (en) 2013-11-19 2019-09-05 Icu Medical, Inc. Infusion pump automation system and method
US9584402B2 (en) * 2014-01-27 2017-02-28 Fasetto, Llc Systems and methods for peer to peer communication
WO2015168427A1 (en) 2014-04-30 2015-11-05 Hospira, Inc. Patient care system with conditional alarm forwarding
US9724470B2 (en) 2014-06-16 2017-08-08 Icu Medical, Inc. System for monitoring and delivering medication to a patient and method of using the same to minimize the risks associated with automated therapy
US9539383B2 (en) 2014-09-15 2017-01-10 Hospira, Inc. System and method that matches delayed infusion auto-programs with manually entered infusion programs and analyzes differences therein
WO2016172213A1 (en) * 2015-04-21 2016-10-27 Google Inc. Messaging over multiple channels
WO2016189417A1 (en) 2015-05-26 2016-12-01 Hospira, Inc. Infusion pump system and method with multiple drug library editor source capability
US10812383B2 (en) * 2015-11-05 2020-10-20 Mitsubishi Electric Corporation Communication apparatus and communication method
DE102015015770B3 (en) * 2015-12-08 2017-06-08 Sew-Eurodrive Gmbh & Co Kg Method for operating a system and system
JP6070867B2 (en) * 2016-01-07 2017-02-01 日本電気株式会社 COMMUNICATION DEVICE, COMMUNICATION CONNECTION CONTROL METHOD, AND PROGRAM
CN106211047A (en) * 2016-02-26 2016-12-07 江苏中利电子信息科技有限公司 A kind of communication system of movable equipment based on Mesh network
EP3447986B1 (en) * 2016-04-19 2022-01-12 Sony Group Corporation Information processing device, information processing system, and information processing method
EP3484541A4 (en) 2016-07-14 2020-03-25 ICU Medical, Inc. Multi-communication path selection and security system for a medical device
US10200887B2 (en) * 2016-09-27 2019-02-05 GM Global Technology Operations LLC Optimizing user experience in vehicles with multiple hotspots
CN107222902A (en) * 2017-07-24 2017-09-29 海信集团有限公司 A kind of method and apparatus for transmitting data
CN108063688A (en) * 2017-12-14 2018-05-22 国家电网公司 Communicate maintaining method and device
US11139058B2 (en) 2018-07-17 2021-10-05 Icu Medical, Inc. Reducing file transfer between cloud environment and infusion pumps
CA3106516C (en) 2018-07-17 2023-07-25 Icu Medical, Inc. Updating infusion pump drug libraries and operational software in a networked environment
NZ793485A (en) 2018-07-17 2023-06-30 Icu Medical Inc Systems and methods for facilitating clinical messaging in a network environment
US10964428B2 (en) 2018-07-17 2021-03-30 Icu Medical, Inc. Merging messages into cache and generating user interface using the cache
US10692595B2 (en) 2018-07-26 2020-06-23 Icu Medical, Inc. Drug library dynamic version management
WO2020023231A1 (en) 2018-07-26 2020-01-30 Icu Medical, Inc. Drug library management system
CA3166703A1 (en) * 2020-01-30 2021-08-05 Johann Donikian A system and method for selecting an electronic communication pathway from a pool of potential pathways
CN111372325B (en) * 2020-02-21 2022-04-26 华为技术有限公司 Method and device for establishing Wi-Fi point-to-point connection
CN112134763B (en) * 2020-09-25 2022-08-02 北京浪潮数据技术有限公司 Method, system, equipment and medium for transmitting layered messages among cluster nodes
CN114024876B (en) * 2021-10-15 2023-06-16 中国联合网络通信集团有限公司 Network dial testing method, device, equipment and storage medium
CN114697260B (en) * 2022-04-15 2023-03-24 北京航天驭星科技有限公司 Method, apparatus, system, electronic device and medium for adaptive information transmission
CN117412316A (en) * 2023-12-14 2024-01-16 泰州星畅软件科技有限公司 Internet of things wireless system with signal strength detection

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030149874A1 (en) 2002-02-06 2003-08-07 Xerox Corporation Systems and methods for authenticating communications in a network medium
US7024214B2 (en) * 2002-02-26 2006-04-04 Microsoft Corporation Synchronizing over a number of synchronization mechanisms using flexible rules
US20050243857A1 (en) * 2004-04-30 2005-11-03 Padcom, Inc. Simultaneously routing data over multiple wireless networks
US7975028B2 (en) 2004-06-07 2011-07-05 Apple Inc. Migration of data between computers
EP2492808A1 (en) * 2004-06-30 2012-08-29 Jumpstart Wireless Corporation System and method for extending business systems to a mobile workforce
US7526310B2 (en) * 2005-11-21 2009-04-28 James Alan Billmaier Methods and apparatus to initiate the transmission of user data from a mobile device
US7710958B2 (en) * 2006-01-20 2010-05-04 Iona Technologies Limited Method for recoverable message exchange independent of network protocols

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018522453A (en) * 2015-05-20 2018-08-09 クゥアルコム・インコーポレイテッドQualcomm Incorporated Packet query-response transaction support in lower layers
US10375618B2 (en) 2016-03-30 2019-08-06 Toyota Jidosha Kabushiki Kaisha Wireless communication apparatus and wireless communication method
US10524187B2 (en) 2016-03-30 2019-12-31 Toyota Jidosha Kabushiki Kaisha Wireless communication apparatus and wireless communication method using wireless LAN client
JP2017091555A (en) * 2016-11-28 2017-05-25 Kddi株式会社 Terminal device, push notification receiving method, and computer program
JP2018137647A (en) * 2017-02-22 2018-08-30 キヤノン株式会社 Communication device, control method therefor, and program
JP7284999B2 (en) 2019-10-01 2023-06-01 学校法人東京電機大学 E-mail transmission device and e-mail transmission method
JP2022099237A (en) * 2020-12-22 2022-07-04 グーグル エルエルシー Switchable communication transport for communication between primary device and vehicle head unit
US11706682B2 (en) 2020-12-22 2023-07-18 Google Llc Switchable communication transport for communication between primary devices and vehicle head units
JP7445631B2 (en) 2020-12-22 2024-03-07 グーグル エルエルシー Switchable communication transport for communication between primary device and vehicle head unit
WO2024009540A1 (en) * 2022-07-08 2024-01-11 株式会社日立製作所 Data processing route management system and data processing route management method

Also Published As

Publication number Publication date
EP2340666A4 (en) 2012-06-20
EP2340666A2 (en) 2011-07-06
BRPI0913793A2 (en) 2015-10-20
CN102224751A (en) 2011-10-19
AU2009292966A1 (en) 2010-03-25
CA2738152A1 (en) 2010-03-25
WO2010033919A3 (en) 2010-07-08
WO2010033919A2 (en) 2010-03-25

Similar Documents

Publication Publication Date Title
JP2012503449A (en) System and method for dynamic and automatic communication path selection, distributed device synchronization, and task delegation
US8495244B2 (en) System and method for dynamic automatic communication path selection, distributed device synchronization and task delegation
US7620001B2 (en) Communication system and method with mobile devices
US8806023B2 (en) Auto-connect in a peer-to-peer network
US20020122410A1 (en) Method of wireless data exchange amongst devices of limited range
US20050037787A1 (en) Wireless intelligent portable-server system (WIPSS)
US20120297306A1 (en) Auto-connect in a peer-to-peer network
CA2818259C (en) Method and apparatus pertaining to energy efficient task execution offloading
GB2484357A (en) Spontaneous ad-hoc peer-to-peer communication between mobile communication devices
JP2007527557A (en) Data access, replication or communication systems including distributed software applications
US20100080157A1 (en) Periodic synchronization link quality in a mesh network
JP4607764B2 (en) Mobile peer-to-peer network construction
EP3008930B1 (en) Framework and applications for proximity-based social interaction
WO2014133441A1 (en) Dynamic contact sharing in a mesh network
JP2005229583A (en) Network controller, communication terminal, and network selecting method
JP4050297B2 (en) Device detection and service discovery system and method for mobile ad hoc communication networks
US11343744B2 (en) Method for managing handover roaming
Su et al. Haggle: Clean-slate networking for mobile devices
US10849179B1 (en) Mobile network tool
JP6555627B2 (en) Information distribution apparatus, push notification transmission method, and computer program
JP6469203B2 (en) Terminal device, communication session establishment method, and program
JP6420410B2 (en) Information distribution apparatus, push notification transmission method, and computer program
EP2046092B1 (en) Routing from a mobile device to a mobile device server
CA2629734C (en) Indicating user presence on a messaging network
JP6389229B2 (en) Terminal device, push notification receiving method, and computer program