throbber
United States Patent
`
`[191
`
`[11]
`
`Patent Number:
`
`5,509,000
`
`Oberlander
`
`Date of Patent:
`[45]
`Apr. 16, 1996
`
`I|||l|llllllll|||IlllllllllIllllIllllIllllIllllIlllllllllllllllllllllllllll
`USOOSSO9000A
`
`[54] METHOD AND APPARATUS FOR ROUTING
`INFORMATION IN A COMMUNICATION
`SYSTEM
`
`[75]
`
`Inventor: Lewis B. Oberlander, Bufialo Grove,
`1]].
`
`[73] Assignee: Motorola, Inc., Schaumburg, Ill.
`
`[21]
`
`[22]
`
`[51]
`[521
`
`[58]
`
`[5 6]
`
`Appl. No.:
`Filed:
`
`257,842
`
`Jun. 10, 1994
`
`Int. Cl.6 ............................... H04L 9/00; H04L 12/16
`U.S. Cl. ................................. 370/17; 370/54; 370/62;
`370/110.1; 379/93; 379/211
`Field of Search .................................. 370/13, 17, 54,
`370/60, 60.1, 61, 62, 94.1, 94.2, 110.1;
`379/93, 94, 95, 211, 220, 221
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,341,366
`5,406,557
`5,414,698
`
`8/1994 Soumiya et a1.
`.......................... 370/17
`
`4/1995 Baudoin ........
`370/61
`5/1995 Adams ...................................... 370/17
`
`Attorney, Agent, or Firm—Val Jean Hillman; Kevin A.
`Buford
`
`[57]
`
`ABSTRACT
`
`A method and apparatus for routing information within a
`communication system (100) is based upon evaluating vari-
`ous attributes (310) of the information to be routed. The
`methodology employs processing steps including, but not
`limited to receiving a message (300) having a key (304) and
`a first set of message attributes (310), each attribute having
`a value. Extracting the key (304) from the message to index
`a data base (400) in order to retrieve records (410) having
`the key and containing a representation of a logic function
`(406) that describes a second set of message attributes. The
`first set of attributes values are applied to the logic function
`(406) of the first retrieved record to determine whether the
`function is true or false. If true, that data base record is
`selected for use in routing the information. Otherwise, the
`first set of attribute values are applied to the logic functions
`of each indexed data base record (410) until a true condition
`is encountered. This methodology is employed with the
`selection of a destination device as well as the selection of
`a communication network.
`
`Primary Examiner—Melvin Marcelo
`
`29 Claims, 5 Drawing Sheets
`
`900
`
`902
`
` 904
` 906
` 908
`
`970
`
`EXTRACT FUNCTION FROM RECORD
`
`EVALUATE EXTRACTED FUNCTION
`
`
`
` 912
`
`
`
`
`RETREIVE A NEXT
`
`RECORD FROM
`
`DATABASE VIA KEY
`
`
`IS
`
`EVALUATION
`
`TRUE 0R FALSE
`?
`
`
`918
`
`COPY NETWORK ID
`
`LIST FROM RECORD
`
`INTO MESSAGE
`
`
`
`GOOG 1038
`IPR of U.S. Patent No. 8,572,279
`Page1 of 12
`
`GOOG 1038
`IPR of U.S. Patent No. 8,572,279
`Page 1 of 12
`
`

`

`U.S. Patent
`
`Apr. 16, 1996
`
`Sheet 1 of 5
`
`5,509,000
`
`
`
`
`
` 250
`
`
`
`272
`
`2 72
`
`INTERFACE
`
`TRANSCEIVER
`
`220
`
`230
`
`SUBSCRIBER
`
`ID
`
` SOURCE
`
`
`302
`
`
`
`304
`
`306
`
`
`
`ATTRIBUTES
`
`DATA
`
`.308
`
`310
`
`
`
`20
`
`3
`
`F]G'.3
`
`10.0
`
`GOOG 1038
`IPR of U.S. Patent No. 8,572,279
`Page 2 of 12
`
`GOOG 1038
`IPR of U.S. Patent No. 8,572,279
`Page 2 of 12
`
`

`

`U.S. Patent
`
`Apr. 16, 1996
`
`Sheet 2 of 5
`
`5,509,000
`
`
` IIIII""'
`
`406
`FIG.4
`
`404
`
`——-
`
`SUBSCRIBER
`ID
`
`DEVICE
`
`NETWDORK
`
`LIST
`
`M7
`
`LOGIC
`
`
`
`S_UBSCRIBER
`
`502——50'
`
`
`ID
`
`504
`
`1F” if (:3. :5?
`
`FUNCTION
`
`510
`
`570
`
`510
`
`
`
`
`
`505
`
`fl)
`
`GOOG 1038
`IPR of U.S. Patent No. 8,572,279
`Page 3 of 12
`
`SUBSCRIBER
`191
`
`DEVICE
`
`FUNCTION
`
`LOGIC
`
`—-D— 410
`—-- 4'0
`_-— 4w
`SUBSCRIBER
`410
`102
`
`
`
`
`GOOG 1038
`IPR of U.S. Patent No. 8,572,279
`Page 3 of 12
`
`

`

`U.S. Patent
`
`Apr. 16, 1996
`
`Sheet 3 of 5
`
`5,509,000
`
`
`
`
`
`
`614
`
`614
`
`614
`
`614
`
`610
`
`610
`
`610
`
`F I G . 6
`
`£95.
`
`605
`
`TIME OUT
`
`
`
`NETWORK ID
`
`0
`
`NETWORK 101
`
`NETWORK 102
`
`O O
`
`FLAG
`
`O
`
`FLAG1
`
`FLAG2
`
`FLAGN_1
`
`‘
`
`NETWORK IDN_1
`
`)610
`
`
`
`
`
`
`512
`
`512
`
`612
`
`612
`
`
`
`
`
`
`
`702
`
`CONSTRAINT
`
`CODE
`
`704
`
`705
`
`
`UE
`
`COMPARED
`VAL
`
`COMPARISON
`CODE
`
`702
`SIZE
`
`704
`1024 BYTES
`
`706
`LESS OR EQUAL
`
`F I g; 7 A
`
`[116,- 73
`Z92
`716
`
`712
`
`714
`
`CONSTRAINT
`CODE
`
`MATCH ITEM
`NUMBER
`
`f” 716
`
`
`
`
`
`F]G.7C
`
`m
`
`712
`
`714
`
`716
`
`718
`
`DATA
`
`E-MAIL
`
`EQUAL
`
`F I C . 7 D
`710
`
`722
`
`724
`
`CONSTRAINT
`CODE
`
`MATCH ITEM
`NUMBER
`
`(726
`
`MATCH ITEM
`ENTRY
`
`
`
`
`
`26
`
`7
`
`MATCH ITEM
`ENTRY
`
`MATCH
`CODE
`
`
`
`F]G’.7E 129
`
`722
`
`724
`
`725
`
`725
`
`728
`
`F I G . 7 F
`
`GOOG 1038
`IPR of U.S. Patent No. 8,572,279
`Page 4 of 12
`
`GOOG 1038
`IPR of U.S. Patent No. 8,572,279
`Page 4 of 12
`
`

`

`U.S. Patent
`
`Apr. 16, 1996
`
`Sheet 4 of 5
`
`5,509,000
`
`
`
`
`
`732
`
`734
`
`736
`
`736
`
`CONSTRAINT
`CODE
`
`COMBINED
`ITEM NUMBER
`
`ITEM
`ENTRY
`
`ITEM
`ENTRY
`
`736
`
`, , ,
`
`ITEM
`ENTRY
`
`
`
`F]C.7C M
`
`732
`
`734
`
`ORIGIN
`
`
`
`EMPLOYER
`
`SPOUSE
`
`EQUAL
`
`DATA l
`
`
`
`E-MAIL
`
`EQUAL
`
`
`
`
`736
`736
`
`F]C.7H 7_Q
`
`START
`
`800
`
`>
`
`RECEIVE MESSAGE
`
`,
`
`EXTRACT KEY
`
`INDEX DATABASE VIA KEY
`
`RETREIVE DATABASE RECORDS
`
`
`
`
`EXTRACT FUNCTION FROM RECORD
`
`
`
`EVALUATE EXTRACTED FUNCTION
`
`
`
`IS
`
`
`RETREIVE A NEXT
`
`EVALUATION
`TRUE
`
`
`RECORD FROM
`TRUE 0R FALSE
`DATABASE VIA KEY
`
`
`?
`Flag 8’4
`
`302
`
`804
`
`806
`
`808
`
`810
`
`872
`
`878
`
`COPY SUBSCRIBER
`ID INTO MESSAGE
`
`I!!!
`
`GOOG 1038
`IPR of U.S. Patent No. 8,572,279
`Page 5 of 12
`
`GOOG 1038
`IPR of U.S. Patent No. 8,572,279
`Page 5 of 12
`
`

`

`U.S. Patent
`
`Apr. 16, 1996
`
`Sheet 5 of 5
`
`5,509,000
`
`START
`
`900
`
`RECEIVE MESSAGE
`
`EXTRACT KEY
`
`INDEX DATABASE VIA KEY
`
`RETREIVE DATABASE RECORD
`
`90
`
`2
`
`90
`
`4
`
`90
`
`6
`
`908
`
`910
`
`912
`
`
`
`
`IS
`
`RETREIVE A NEXT
`EVALUATION
`RECORD FROM
`
`TRUE OR FALSE
`DATABASE VIA KEY
`
`
`?
`TRUE
`
`EXTRACT FUNCTION FROM RECORD
`
`EVALUATE EXTRACTED FUNCTION
`
`
`
`
`978
`
`COPY NETWORK ID
`LIST FROM RECORD
`
`INTO MESSAGE
`
`F[€.9
`
`GOOG 1038
`IPR of U.S. Patent No. 8,572,279
`Page 6 of 12
`
`GOOG 1038
`IPR of U.S. Patent No. 8,572,279
`Page 6 of 12
`
`

`

`1
`NIETHOD AND APPARATUS FOR ROUTING
`INFORMATION IN A COMMUNICATION
`SYSTEM
`
`FIELD OF THE INVENTION
`
`The present invention pertains generally to communica-
`tion systems and particularly to a method and apparatus for
`routing information to a particular person (i.e., subscriber)
`via a particular destination device and over a particular
`network within a communication system.
`
`BACKGROUND OF THE INVENTION
`
`In today’s fast paced business environment, individuals
`on—the-move, often need to receive information, such as, but
`not limited to voice messages and/or electronic files, docu-
`ments and/or messages, be they multimedia or otherwise,
`said information being transmitted from a remote location
`and destined for the mobile individual. For their data com-
`
`municating needs, these individuals may employ a plethora
`of communicating devices such as, for example, pagers,
`radio telephones, personal computers, personal digital assis-
`tants (PDAs) and the like. Each of these above devices is
`typically optimized to carry a specific type or format of data
`over a particular type of communication network.
`Notwithstanding these limitations, the typical business
`individual may nonetheless prefer to receive a particular
`type of information at a particular one of her communicating
`devices. For example, she may desire to receive all elec-
`tronic mail messages (i.e., E—Mail) at her desktop personal
`computer when she is in the office. When at home or
`traveling, however, she may prefer to receive all E-Mail
`messages at her notebook personal computer. Depending
`upon the urgency of the information,
`the recipient may
`prefer to receive the information immediately or instead
`have it routed to a colleague. As an alternative, low priority
`information may be sent to yet another destination device for
`storage and later retrieval. Where the information is routable
`to the recipient via more than one communication network,
`issues relating to cost, security, transmit time, etc., may be
`taken into consideration.
`
`Unfortunately, the party seeking to transmit the inforrna—
`tion typically has no idea of the recipient’s location or of the
`recipient’s
`communication preferences,
`such
`as,
`for
`example, where she desires E-Mail messages to be deliv-
`ered.
`It would be extremely advantageous therefore to
`provide a method and apparatus for routing information
`within a communication system which takes into consider-
`ation subscriber specified preferences.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 illustrates in block diagram form a communication
`system anticipated by the present invention;
`FIG. 2 is a block diagram representation of a structure
`common to the subscriber devices of FIG. 1;
`
`FIG. 3 depicts the structure of a message for use within
`the communication system of FIG. 1;
`FIG. 4 depicts an embodiment of a data base structure as
`anticipated by the present invention;
`FIG. 5 depicts another embodiment of a data base as
`anticipated by the present invention;
`FIG. 6 depicts the structure of a network ID list as shown
`in FIG. 5;
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`5,509,000
`
`2
`
`FIGS. 7a—7h depict data structures which describe vari-
`ous logic functions as anticipated for use by data base 400
`and 500 of FIGS. 4 and 5;
`
`FIG. 8 is a flow chart diagram illustrating the steps
`performed by the server of FIG. 1 in order to route infor-
`mation to a particular destination device in accordance with
`the present invention; and
`FIG. 9 is a flow chart diagram illustrating the steps
`performed by either the server or a subscriber device of FIG.
`1 in order to route information over a particular communi-
`cation network in accordance with the present invention.
`
`DETAILED DESCRIPTION OF A PREFERRED
`EMBODIMENT
`
`The purpose of the information routing scheme of the
`present
`invention is to permit a communication system
`subscriber to selectively operate a plurality of different
`communication devices, each at different times, or to use
`said plurality of different communication devices simulta—
`neously and for different tasks, according to the subscriber’s
`preference. In addition, for reasons of cost, security, urgency
`or efficiency, it permits the selection of one of a plurality of
`potential communication networks for use in transporting
`said information to the selected subscriber device.
`
`For the purpose of discussion, and not for the purpose of
`limitation, FIG. 1 illustrates in block diagram form a com—
`munication system 100 that may be used by the present
`invention. As depicted,
`the communication system 100
`employs both wireless and wireline communication net-
`works comprising a server 110 and a plurality of subscriber
`devices 120—124.
`
`For the purpose of clarity, a system subscriber or sub-
`scriber as used herein, shall refer to any individual who
`employs one or more devices 120—124 wherein each device
`is capable of communicating over one or more of the
`communication networks within the communication system
`100.
`
`As depicted, devices 120 and 124 communicate with
`server 110 via a wireless communication media such as, but
`not limited to radio frequency (RF) and/or Infrared (IR)
`communication channels. In accordance with the preferred
`embodiment, the present invention anticipates both RF and
`IR communications as wireless carriers of choice. In addi-
`
`tion, the present invention anticipates that more than one RF
`communication network may be available for the transmis-
`sion of information. Device 122 communicates with server
`110 over a wireline communication network via connection
`130 as well as via a wireless network as mentioned above.
`In accordance with the preferred embodiment, the present
`invention anticipates that any wireline based communication
`technique may be utilized to provide the wireline commu~
`nication connection 130.
`
`By way of example and not by way of limitation, device
`122 may communicate with server 100 via the Public Switch
`Telephone Network (PSIN), a Local Area Network (LAN)
`such as Ethernet, a Token Ring network, an Integrated
`Service Digital Network (ISDN) or any of a plurality of
`other public or private networks employing protocols such
`as, for example, an R8232 format or any other data format
`suitable for providing data packet communication.
`Shown within server 110 is a partial data flow diagram
`119 depicting some of the steps performed by server 110
`upon receipt of an incoming information message from, for
`example, device 120. In particular, data flow diagram 119
`shows various linked work sessions 111, 113 and 115 which
`
`GOOG 1038
`IPR of U.S. Patent No. 8,572,279
`Page 7 of 12
`
`GOOG 1038
`IPR of U.S. Patent No. 8,572,279
`Page 7 of 12
`
`

`

`5,509,000
`
`4
`
`question and may include information such as, but is not
`limited to message originator, message priority, message
`data format, message logical size, message security require—
`ments, message transmitted size, and message compressed
`size. Each attribute as identified within field 310 will have
`
`5
`
`3
`each operate upon the received message prior to delivery to
`the appropriate destination device. Work session 111 is a
`communication manager (CM), work session 113 is a device
`mobility manager (DMM) and work session 115 is a net—
`work mobility manager (NMM).
`In accordance with the preferred embodiment, CM 111 is
`a software program (i.e., process) that controls all commu-
`nication resources allocated to server 110. Thus, all mes-
`sages entering and exiting server 110 must necessarily pass
`through CM 111. DMM 113 is a software program that 10
`operates to select a destination device address to be
`appended to the received message. In a similar fashion,
`NMM 115 is a software program that receives the message
`from DMM 113 and selects one of a plurality of commu-
`nication networks for transmission of the message. To assist 15
`in this effort, DMM 113 maintains a DMM data base 112
`while NMM 115 maintains a NMM data base 114 as
`described herein below in more detail.
`
`20
`
`25
`
`associated therewith a corresponding value. For example,
`the value for the message attribute, message logical size,
`may be i024 bytes (i.e., 11? byte),.thereby indicating the
`1051931 srze 0f the message in question.
`FIG. 4 depicts an embodiment of a data base structure as
`anticipated by the present invention. The structure of FIG. 4
`is employed by data base 112 of FIG. 1 and used by DMM
`113 in order to select a destination device for receipt of the
`message in question. The structure comprises a plurality of
`records 410, each record comprises a subscriber ID field
`402, a device ID field 404 and a logic function field 406.
`In practice, each record 410 represents a rule that condi-
`tionally maps a subscriber to one of his communicating
`As will be appreciated by those skilled in the art, other
`devices 120—124. Each rule equates to a communication
`linked work sessions may be employed by server 110.
`preference that is typically selected by the subscriber for
`Moreover, rather than existing as stand alone software
`whom the message is intended. In accordance with this
`embodiment subscriber ID field 402 contains a subscriber ID
`programs, each session 111, 113 and 115 may comprise a
`subroutine of a larger software program or may be imple-
`that
`identifies the individual
`to whom the message is
`mented in hardware logic.
`intended. For each subscriber ID there is typically associated
`therewith one or more records 410, each record identifying
`FIG. 2 illustrates a block diagram of a structure 200
`common to server 110 and devices 120— 124 of FIG. 1. A
`a device 120—124 and its conditioning logic function.
`wireless transceiver 201 utilizes digital data to modulate a
`When a message 300 arrives at server 110, the server will
`carrier signal to transmit the desired data and its receiver
`extract the subscriber ID from the header of message 300
`and index data base 400 using the extracted subscriber ID as
`converts received RF signals into corresponding digital data.
`In accordance with the present invention, transceiver 201 is
`a key in order to determine which device to route the
`an RF transceiver. Notwithstanding, it may comprise any
`message to. This is accomplished by applying the set of
`other well known wireless communication technology such
`attribute 310 values from the message in question to the
`logic function within field 406 of a first retrieved data base
`as, but not limited to infrared (IR) technologies.
`400 record 410 as indexed by the key. When the outcome of
`Transceiver 201 employs one or more antennas desig-
`such an evaluation is true, the device ID within device ID
`nated 212 for communicating with server 110 as shown in
`field 404 is written to Null field 306 of the header of the
`FIG. 1. A processing unit 220, such as, for example, a
`message in question.
`microprocessor, operates under the control of an operating
`system contained in read only memory 230 and utilizes
`FIG. 5 depicts an embodiment of a data base structure as
`random access memory 240 to control inbound and out-
`anticipated by the present invention. The structure of FIG. 5
`bound data trafiic carried by path 250 and transceiver 200.
`is employed by data base 114 of FIG. 1 and used by NMM
`115 in order to select a communication network for trans-
`An interface 210 may consist of line drivers and input/output
`buffers and registers as is conventional in processor based
`mission of the message in question. The structure comprises
`systems. The path 250 corresponds to the wireline commu-
`a plurality of records 510, each record comprises a sub-
`nication channel 130 of FIG. 1 between server 110 and a
`scriber ID field 502, a device ID field 504, a network ID list
`field 505 and a logic function field 506. In practice, each
`device 120. The processing unit 220 operation relating to 45
`record 510 represents a rule that conditionally maps a
`message routing is explained in more detail below.
`subscriber and aselected device 120—124 to aprioritized list
`FIG. 3 depicts the structure of a message 300 for use
`0f communication networks. Each rule equates to a com-
`within the communication system of FIG. 1. As depicted
`each message comprises a header portion and a body. The 50 munication preference that
`is typically selected by the
`header portion of a message 300 consists of a Source ID field
`subscriber for whom the message is intended.
`302, Subscriber ID field 304, Null fields 306 and 308, and
`In accordance with this embodiment ,the subscriber ID
`Attributes field 310. The body of message 300 comprises
`field 502 and the device ID field 504 are used collectively as
`data field 320 which contains the information to be com—
`a key to index into data base 500. The key is generated as an
`municated.
`55 output of the selection process that selects a destination
`Source ID field 302 contains infomation identifying a
`device pursuant to the discussion of FIG. 4 and as described
`device 120 that originated the message, subscriber ID field
`in greater detail herein below. For each key (subscriber ID
`304 contains information which identifies to server 110 the
`502 and Device ID 504) there may in association therewith,
`subscriber
`(i.e.,
`individual)
`to whom the message is
`be one or more records 510, each record identifying a
`intended. Null field 306 is a field which shall be filled by 60 prioritized list of communication networks as set forth in
`server 110 with the address of a destination device which is
`field 505 and its conditioning logic function 506»
`to receive the data portion of the message in question. Null
`When a key, as generated by DMM session 113 of server
`field 308 is a field which shall be filled by server 110 with
`110, is presented to NMM session 115, NMM session 115
`a list of network lD’s identifying those communication
`indexes data base 500 using the key in order to determine
`networks which may be used to communicate the message 65 which network to use for transmission of the message. This
`in question to the selected destination device. Attributes field
`is accomplished by applying the set of attribute 310 values
`of the message in question to the logic function within field
`310 maintains information specific to the message 300 in
`
`30
`
`35
`
`40
`
`GOOG 1038
`IPR of U.S. Patent No. 8,572,279
`Page 8 of 12
`
`GOOG 1038
`IPR of U.S. Patent No. 8,572,279
`Page 8 of 12
`
`

`

`5
`
`6
`
`5,509,000
`
`506 of each data base 500 record as indexed by the key.
`When the outcome of such an application is true,
`the
`network ID list within field 505 of the evaluated record is
`
`written to Null field 308 of the header of the message in
`question.
`FIG. 6 depicts the structure of a single network ID list 505
`as shown in FIG. 5. Each list 505 comprises a time out
`information field 605 and a plurality of entries 610 num—
`bered 0 to N-l, where N is the maximum number of entries
`in the list. Each entry 610 comprises a flag field 612 and a
`network identifier field 614.
`
`The time out information within field 605 is used by CM
`111 of FIG. 2 in order to determine how long a particular
`network, as identified by a network identifier field 614, will
`be queried prior to default to a next entry 610 (i.e., network)
`in the list.
`
`Each flag field 612 comprises a bit map, wherein each bit
`controls various aspects of CM 111 operation. Such opera-
`tions include, but are not limited to, transmission of an entire
`message 300, transmission of a partial message 300, trans-
`mission of a notification that a message 300 is queued at
`server 110 and the like. Network identifier field 614 contains
`information which uniquely identifies a particular commu—
`nication network that mat be available for transmission of a
`message 300.
`In accordance with the present invention, each network ID
`list 505 is organized such that the most favored network
`appears in the first network identifier field (e.g., Network
`Identifier 0). In this fashion the most favored network is
`always tried first, prior to attempting to transmit a message
`over a lower priority or less desirable network.
`FIGS. 7a—7h depict data structures which describe logic
`functions as stored within data base 400 and 500 of FIGS.
`4 and 5. These logic functions further describe conditions
`which permit server 110 to determine which device and/or
`network are to be used for message routing in accordance
`with the present invention. In accordance with the preferred
`embodiment, the logic functions depicted in FIGS. 7a— 7h
`employ Boolean algebra. It will nonetheless be appreciated
`by those skilled in the art that other forms of logic, such as,
`but not limited to Fuzzy logic, may also be employed by the
`logic functions discussed herein.
`FIGS. 7a and 7b are graphical representations of a logic
`function 700 for describing the size,
`the priority or the
`security requirements for a particular message 300. The
`logic function 700 of FIG. 7a comprises a constraint code
`702, a comparend value 704 and a comparison code 706.
`By way of example, and not by way of limitation, let us
`assume that in the communication system of FIG. 1, devices
`122 and 124 are operated by a single individual. Let us
`further assume that device 122 is a personal computer
`maintained at the individual’s office, while device 124 is a
`personal digital assistant that the individual carries person-
`ally. Let us further assume that it is desirableto receive small
`messages at device 124 while larger messages are to be sent
`to device 122.
`
`FIG. 7b is a graphical representation of a logic function
`700 that delimits messages based upon size. In accordance
`with this example, constraint code field 702 is set to SIZE,
`thereby providing an indication of the delimit function to be
`performed. Comparend value 704 is set to, for example,
`1024 bytes or 1K byte. Finally comparison code field 706 is
`set to LESSOREQUAL, which corresponds to less than or
`equal to. In accordance, the logic function 700 of FIG. 7b
`asks the question whether the received message is less than
`or equal to 1K byte of information.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`This logic function is representative of the type of infor-
`mation that may be stored in a data base 400 or 500 entry
`within logic function fields 406 or 506 of FIGS. 4 or 5. To
`assist in generating other logic functions, comparison code
`field 706 may also be set to LESS for less than, EQUAL for
`equal
`to, GREATER for greater
`than, GREATER-
`OREQUAL for greater than or equal to and NOTEQUAL for
`not equal.
`As previously mentioned, this same construction is used
`to delimit the transmitted size, the priority and the security
`of a particular message. In accordance, other constraint
`codes, such as, for example, XSIZE for transmitted size,
`PRIORITY for message priority and SECURITY for mes-
`sage security are used by the present invention in association
`with constraint code field 702.
`
`FIGS. 7c and 7d are graphical representations of a logic
`function 710 for testing the data format of a message. Logic
`function 710 comprises a constraint code field 712, match
`item number field 714, match item entries 716, number l—N
`and a match code 718.
`
`Referring back to FIG. 1, let us remember that devices
`122 and 124 are operated by a single individual; that device
`122 is a personal computer maintained at the individual’s
`office; and that device 124 is a personal digital assistant that
`the individual carries personally. Let us assume that it is
`desirable to receive E—Mail at device 124 while all other
`messages are to be sent to device 122.
`FIG. 7d is a graphical representation of a logic function
`710 that delimits messages based upon their content. In
`accordance with this example, constraint code field 712 is
`set to DATA, thereby providing an indication the delimit
`function to be performed. Match item number field 714 is set
`to 1 because only one data format type is being delimited.
`Were we delimiting both E-Mail messages and spreadsheets
`messages, then field 714 would contain the numeral 2.
`Match item field 718 contains the data format being
`tested; namely E—Mail. Were we delimiting both E-Mail
`messages and spreadsheet messages, match item field 718
`would contains two entries; namely E—Mail and Spreadsheet.
`Finally match code field 718 is set to EQUAL. In accor-
`dance, the logic function 710 of FIG. 7d asks the question
`whether the received message is an E—Mail message. This
`logic function represent the type information that may be
`stored in a data base 400 or 500 entry within logic function
`fields 406 or 506 of FIGS. 4 or 5. To assist in generating
`other logic functions, other match items such as, but not
`limited to: ASCII Text, FORMATTED Text, VOICEMAIL,
`VOICECIRCUIT, FACSIMILE, VIDEO, and/or GRAPH-
`ICS can be specified such that any set of data formats in the
`message body can be tested against a set of specified data
`formats. The testing will look for proper SUBSET, SUPER-
`SET,
`IMPROPERSUBSET,
`IMPROPERSUPERSET,
`NOTEQUAL (inequality), INTERSECT (intersection) and
`DISJOINT as specified in match code field 718.
`FIGS. 7e and 7f are graphical representations of a logic
`function 720 for testing the origin of a message. The logic
`function 720 comprises a constraint code 722, match item
`number field 724, match item entries 726, number l—N and
`a match code field 728.
`
`Referring again to FIG. 1, let us remember that devices
`122 and 124 are operated by a single individual; that device
`122 is a personal computer maintained at the individual’s
`office; and that device 124 is a PDA that the individual
`carries personally. Let us assume that it is desirable to
`receive messages
`from the
`individual’s
`spouse
`and
`employer, at device 124 while all other messages are to be
`sent to device 122.
`
`GOOG 1038
`IPR of U.S. Patent No. 8,572,279
`Page 9 of 12
`
`GOOG 1038
`IPR of U.S. Patent No. 8,572,279
`Page 9 of 12
`
`

`

`5,509,000
`
`7
`
`5
`
`8
`function 406 is extracted from the first data base record and
`FIG. 7fis a graphical representation of a LOGIC function
`evaluated. In this etfort, the attributes 310 values of the
`720 that delimits messages based upon their origin. In
`accordance with this example, constraint code field 722 is
`received message 300 are applied to the logic function of the
`set to ORIGIN, thereby providing an indication the delimit
`retrieved record at block 812 by DMM 113. Then, at block
`814 a check is performed by DMM 113 to determine
`function to be performed. Match item number field 724 is set
`whether the logic function, when evaluated using the mes—
`to 2 because we are delimiting messages from two sources.
`sage attribute value is true or false.
`In accordance, match item field 726 contains two entries;
`Iffalse, flow proceeds to block 816 where a next data base
`namely SPOU'SE 311d EMPLOYER, which are identifier’ S
`record is indexed via the key of step 804 in order to retrieve
`for the mdrvrduals spouse and employer,
`respectively.
`Flnally match.code field 728 15 set to EQUAL 1h accor- 10 yet another data base record. From block 816, flow branches
`dance, the 10310 fhhethh 720 Of HG- 7F asks the guestron
`back to blocks 810 through 814 where the next retrieved
`whether the received message ts from the lndrvrdual’s
`logic function is evaluated to determine whether it is true or
`spouse or employer.
`false. This process continues until all matching database
`FIGS. 7g and 7h are graphical representations of a logic
`records have been retrieved and evaluated per steps 810-816
`function 730 for
`logically combining those functions 15 or a true condition is meet at step 814.
`described herein above. The logic function 730 comprises a
`Assuming a true condition is encountered at step 814,
`constraint code 732: combined item number field 734, and
`flow proceeds to block 818, where the Device ID stored in
`item entnes 736 number I'N-
`field 404 of the retrieved record is copied, i.e., written by
`Referring again to FIG. 1, let us remember that devices
`DMM 113 into Null field 306 of the message 300. As a final
`122 and 124 are operated by a single individual; that device 20
`step DMM 113 passes the message 300 to NMM 115 for
`122 is a personal computer maintained at the individual’s
`further processing.
`ofiice; and that deVlce 124 rs a PDA that.“ rnleldual
`FIG. 9 is a flow chart diagram illustrating the steps
`carries personally. Let us assume that it ls desrrable to
`rf
`d b
`'th
`110
`b
`'b
`f FIG 1 .
`receive E-Mail messages from the individual’s spouse and
`pe orme
`y el er “TV”
`or a 51.1 scrl er 0
`.
`'
`.m
`employer, at device 124 while all other messages are to be
`order to route information over a partrcuiar commumcatron
`sent to device 122.
`25 network in accordance w1th the present invention.
`FIG. 7h is a graphical representation of a logic function
`Commencing at start bIOCk 900 flow proceeds to bIOCk
`730 that logically combines logic functions 700, 710 and
`902 Upon receipt of a message 300 by NMM 115 of server
`720 as described herein above. In accordance with this
`110 or subscriber device 120424 0f FIG- 1- As previously
`example, constraint code field 732 is set to AND, thereby
`mentioned NMM 115 receives the message from DMM 113
`providing an indication the logical function to be performed. 30 and at block 904 NMM 115 extracts a key from the message
`Combined item number field 734 is set to 2 because two
`300- For the purpose 0f NMM 115,
`the key comprises
`logic expressions are being combined. Finally,
`the two
`subscriber ID field 304 and Null field 306 Of FIG- 3- Where
`respective logic functions are entered in item entries 736. In
`NMM 115 is employed within server 110 Of FIG- 1, DMM
`accordance, the logic function of FIG. 7h asks the question
`113 Will fill Nhh field 306 Of FIG- 3 With a value COtTe'
`whether the received message is an E_Mafl message from 35
`sponding to the selected destination device. When NMM
`either the individual’s spouse or the individual’s employer.
`115 is employed within a subscriber device 120f124 0f FIG-
`Other logic expressions can be generated by entering
`1, Null field 306 has a default value corresponding to server
`logical operations including AND, OR, NAND and NOR in
`110 0f ”6- 1-
`constraint code field 432. Moreover, the expressions entered
`At block 906, NMM 115 indexes database 500 Of FIG- 5
`in item field 436 may themselves comprise compound logic 40 via the extracted key in order to retrieve a first record from
`functions like the one described in association with FIG. 7g.
`said database at block 908 whose subscriber ID field 502 and
`As is necessary and from time to time, subscriber’s will
`devrce ID field 504 matches the extracted key.
`transmit messages to mobility managers DMM 113 and
`Proceeding to block 908 all records indexed via the key
`NMM 115 within server 110 and locally within the indi- 45
`are retrieved. Thereafter, at blocks 910 through 914 the logic
`vidual’s subscriber device, requesting the alteration of the
`function 506 is extracted from the first database record and
`mobility preferences; i.e., the records within data bases 400
`evaluated. In this effort, the attribute 310 values 0f the
`and 5011 By changing the mobility preferences, including
`received message 300 are applied to the logic filnction of the
`the logic functions of fields 406 and 506, the subscriber can
`retrieved record at block 912 by NW 115- At block 914 a
`effectively change the device and network selection per— 50 check ls performed by NMM 115 to determine whether the
`formed by DMM 133 and NMM 115 as described herein
`loglc function is true or false when evaluated usrng the set
`below.
`o

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket