`
`i11111 11111111 i11111 11111111 III 11111 11111 111!),011,11III 11111 11111 111!),011,1191J12111,11)1111111111111111111111111 91J12111,11)1111111111111111111111111
`
`
`
`
`
`
`
`
`
`(12) United States Patent (12) United States Patent
`
`
`Lin Lin
`
`
`(10) Patent No.: (10) Patent No.:
`
`(45) Date of Patent: (45) Date of Patent:
`
`
`US 7,969,925 B2 US 7,969,925 B2
`
`*Jun. 28, 2011 *Jun. 28, 2011
`
`
`
`(54) (54)
`
`
`PEER-TO-PEER MOBILE DATA TRANSFER PEER-TO-PEER MOBILE DATA TRANSFER
`
`METHOD AND DEVICE METHOD AND DEVICE
`
`
`
`(75) (75)
`
`
`
`Inventor: Daniel J. Lin, San Francisco, CA (US) Inventor: Daniel J. Lin, San Francisco, CA (US)
`
`
`
`(73) Assignee: Daniel J. Lin, San Francisco, CA (US) (73) Assignee: Daniel J. Lin, San Francisco, CA (US)
`
`
`
`* ) * )
`
`
`
`Notice: Notice:
`
`
`Subject to any disclaimer, the term of this Subject to any disclaimer, the term of this
`
`patent is extended or adjusted under 35 patent is extended or adjusted under 35
`
`U.S.C. 154(b) by 0 days. U.S.C. 154(b) by 0 days.
`
`
`This patent is subject to a terminal dis-This patent is subject to a terminal dis-
`
`claimer. claimer.
`
`
`
`(21) Appl. No.: 12/832,576 (21) Appl. No.: 12/832,576
`
`
`
`(22) Filed: (22) Filed:
`
`
`
`Jul. 8, 2010 Jul. 8, 2010
`
`
`
`(65) (65)
`
`
`
`Prior Publication Data Prior Publication Data
`
`
`
`US 2010/0274916 Al US 2010/0274916 Al
`
`
`
`Oct. 28, 2010 Oct. 28, 2010
`
`
`
`Related U.S. Application Data Related U.S. Application Data
`
`
`(63) Continuation of application No. 11/042,620, filed on (63) Continuation of application No. 11/042,620, filed on
`
`Jan. 24, 2005, now Pat. No. 7,773,550, which is a Jan. 24, 2005, now Pat. No. 7,773,550, which is a
`
`continuation-in-part of application No. 10/817,994, continuation-in-part of application No. 10/817,994,
`
`filed on Apr. 5, 2004, and a continuation-in-part of filed on Apr. 5, 2004, and a continuation-in-part of
`
`application No. 10/935,342, filed on Sep. 7, 2004, now application No. 10/935,342, filed on Sep. 7, 2004, now
`
`Pat. No. 7,764,637. Pat. No. 7,764,637.
`
`
`(51) Int. Cl. (51) Int. Cl.
`
`H04W 4/00 H04W 4/00
`
`(52) U.S. Cl. (52) U.S. Cl.
`
`
`(2009.01) (2009.01)
`
` 370/313; 370/395.3; 455/466; 370/313; 370/395.3; 455/466;
`
`709/206 709/206
`
`
`
`(58) Field of Classification Search (58) Field of Classification Search
`
`
` 455/466; 455/466;
`
`370/313, 395.3 370/313, 395.3
`
`See application file for complete search history. See application file for complete search history.
`
`
`
`(56) (56)
`
`
`
`References Cited References Cited
`
`
`U.S. PATENT DOCUMENTS U.S. PATENT DOCUMENTS
`
`7,447,211 B1 * 11/2008 Scholte 7,447,211 B1 * 11/2008 Scholte
`
`2003/0105812 Al * 2003/0105812 Al *
`
`6/2003 Flowers et al. 6/2003 Flowers et al.
`
`2003/0142654 Al * 2003/0142654 Al *
`
`7/2003 Chambers et al. 7/2003 Chambers et al.
`
`2004/0249953 Al * 12/2004 Fernandez et al. 2004/0249953 Al * 12/2004 Fernandez et al.
`
`2005/0005014 Al * 2005/0005014 Al *
`
`1/2005 Holmes et al. 1/2005 Holmes et al.
`
`2005/0058094 Al * 2005/0058094 Al *
`
`3/2005 Lazaridis et al. 3/2005 Lazaridis et al.
`
`
`370/395.21 370/395.21
`
`709/203 709/203
`
`370/338 370/338
`
`709/227 709/227
`
`709/227 709/227
`
`370/328 370/328
`
`
`
`OTHER PUBLICATIONS OTHER PUBLICATIONS
`
`
`Rosenberg, et. al. "SIP: Session Initiation Protocol" Standards Track, Rosenberg, et. al. "SIP: Session Initiation Protocol" Standards Track,
`
`The Internet Society, Jun. 2002, pp. 1-269. The Internet Society, Jun. 2002, pp. 1-269.
`
`
`
`* cited by examiner * cited by examiner
`
`
`Primary Examiner — Rafael Perez Gutierrez Primary Examiner — Rafael Perez Gutierrez
`
`Assistant Examiner — Liton Miah Assistant Examiner — Liton Miah
`
`(74) Attorney, Agent, or Firm — Patterson & Sheridan, LLP (74) Attorney, Agent, or Firm — Patterson & Sheridan, LLP
`
`
`
`(57) (57)
`ABSTRACT ABSTRACT
`
`A technique is provided for a direct data transfer session, A technique is provided for a direct data transfer session,
`
`including for multimedia content, between mobile devices including for multimedia content, between mobile devices
`
`without the need for using a separate multimedia server to without the need for using a separate multimedia server to
`
`store multimedia content. Direct data transfer sessions store multimedia content. Direct data transfer sessions
`
`between mobile devices are established by transmitting nec-between mobile devices are established by transmitting nec-
`
`essary address information through page-based messaging essary address information through page-based messaging
`
`services that utilize the underlying digital mobile network services that utilize the underlying digital mobile network
`
`databases and services to resolve the identification and loca-databases and services to resolve the identification and loca-
`
`tion of the mobile devices. tion of the mobile devices.
`
`
`
`20 Claims, 3 Drawing Sheets 20 Claims, 3 Drawing Sheets
`
`
`
`C C
`
`
`START START
`
`INITIATING MOBILE INITIATING MOBILE
`
`DEVICE DEVICE
`
`
`START START
`
`TARGET MOBILES TARGET MOBILES
`
`DEVICE DEVICE
`
`
`
`210 210
`
`
`
`OPEN TCP PORT OPEN TCP PORT
`
`
`
`OPEN SMS PORT OPEN SMS PORT
`
`
`
`220 220
`
`
`230 --- TRANSMIT INVITATION 230 --- TRANSMIT INVITATION
`
`MESSAGE CONTAINING MESSAGE CONTAINING
`
`IP ADDRESS VIA SMS IP ADDRESS VIA SMS
`
`
`RECEIVE SMS RECEIVE SMS
`
`INVITATION INVITATION
`
`MESSAGE AT MESSAGE AT
`
`SMS PORT SMS PORT
`
`
`
`----- 240 ----- 240
`
`
`EXTRACT IP EXTRACT IP
`
`ADDRESS FROM ADDRESS FROM
`
`SMS MESSAGE SMS MESSAGE
`
`
`
`250 250
`
`
`
`^ ^
`
`
`
`260 260
`
`
`TRANSMIT TRANSMIT
`
`REQUEST TO REQUEST TO
`
`ESTABLISH TCP ESTABLISH TCP
`
`CONNECTION TO CONNECTION TO
`
`IP ADDRESS IP ADDRESS
`
`
`
`270270
`
`
`RECEIVE REQUEST TO RECEIVE REQUEST TO
`
`ESTABLISH TCP ESTABLISH TCP
`
`CONNECTION AT TCP CONNECTION AT TCP
`
`PORT PORT
`
`
`
`
`
`
`
`280 280
`
`
`
`H H
`
`
`ESTABLISH RELIABLE DATA ESTABLISH RELIABLE DATA
`
`TRANSFER SESSION TRANSFER SESSION
`
`
`
`H H
`
`Apple Inc.
`Ex. 1016 - Page 1
`
`
`
`lualud 'S n
`lualvd •S'11
`
`Hoz 'sz .unr
`IIOZ `8Z Imr
`
`£ JO I WI'S
`c jo 1 WIN
`
`Za SZ6`696`L SR
`ZS SZ6`696`L Sf1
`
`155
`155
`
`145A
`
`160
`
`150A
`
`115
`115
`
`120A
`
`170
`
`VOICE
`VOICE
`NETWORK
`NETWORK
`
`105
`105
`) ii,
`)
`dr
`CD
`(=
`0000000
`mono
`0000000
`0000000
`
`110
`110
`(
`(
`
`Ili
`III
`C=
`=
`0000000
`0000000
`
`0000000 0000000
`
` I
`
`100
`
`100 )
`
`165
`165
`
`IP
`NETWORK
`
`
`
`FIG. FIG. 1
`
`115
`
`SGSN
`
`_150B
`
`155
`
`145B
`
`160
`
`Apple Inc.
`Ex. 1016 - Page 2
`
`
`
`
`
`U.S. Patent U.S. Patent
`
`
`
`Jun. 28, 2011 Jun. 28, 2011
`
`
`
`Sheet 2 of 3 Sheet 2 of 3
`
`
`
`US 7,969,925 B2 US 7,969,925 B2
`
`
`START START
`
`INITIATING MOBILE INITIATING MOBILE
`
`DEVICE DEVICE
`
`
`START START
`
`TARGET MOBILE TARGET MOBILE
`
`DEVICE DEVICE
`
`
`
`OPEN TCP PORT OPEN TCP PORT
`
`
`
`OPEN SMS PORT OPEN SMS PORT
`
`
`
`220 220
`
`
`TRANSMIT INVITATION TRANSMIT INVITATION
`
`MESSAGE CONTAINING MESSAGE CONTAINING
`
`IP ADDRESS VIA SMS IP ADDRESS VIA SMS
`
`
`
`210 210
`
`
`
`230 230
`
`
`RECEIVE SMS RECEIVE SMS
`
`INVITATION INVITATION
`
`MESSAGE AT MESSAGE AT
`
`SMS PORT SMS PORT
`
`
`EXTRACT IP EXTRACT IP
`
`ADDRESS FROM ADDRESS FROM
`
`SMS MESSAGE SMS MESSAGE
`
`
`TRANSMIT TRANSMIT
`
`REQUEST TO REQUEST TO
`
`ESTABLISH TCP ESTABLISH TCP
`
`CONNECTION TO CONNECTION TO
`
`IP ADDRESS IP ADDRESS
`
`
`
`240 240
`
`
`
`250 250
`
`
`
`260 260
`
`
`
`270 270
`
`
`RECEIVE REQUEST TO RECEIVE REQUEST TO
`
`ESTABLISH TCP ESTABLISH TCP
`
`CONNECTION AT TCP CONNECTION AT TCP
`
`PORT PORT
`
`
`
`280 280
`
`
`ESTABLISH RELIABLE DATA ESTABLISH RELIABLE DATA
`
`TRANSFER SESSION TRANSFER SESSION
`
`
`
`(END) (END)
`
`
`
`FIG. 2 FIG. 2
`
`Apple Inc.
`Ex. 1016 - Page 3
`
`
`
`
`
`U.S. Patent U.S. Patent
`
`
`
`Jun. 28, 2011 Jun. 28, 2011
`
`
`
`Sheet 3 of 3 Sheet 3 of 3
`
`
`
`US 7,969,925 B2 US 7,969,925 B2
`
`
`START START
`
`INITIATING MOBILE INITIATING MOBILE
`
`DEVICE DEVICE
`
`
`START START
`
`TARGET MOBILE TARGET MOBILE
`
`DEVICE DEVICE
`
`
`
`310 - 310 -
`
`
`
`OPEN TCP PORT OPEN TCP PORT
`
`
`
`320 320
`
`
`EMBED INVITATION EMBED INVITATION
`
`MESSAGE CONTAINING MESSAGE CONTAINING
`
`IP ADDRESS IN IP ADDRESS IN
`
`TELEPHONY RINGING TELEPHONY RINGING
`
`SIGNAL SIGNAL
`
`
`
`360 360
`
`
`RECEIVE REQUEST TO RECEIVE REQUEST TO
`
`ESTABLISH TCP ESTABLISH TCP
`
`CONNECTION AT TCP CONNECTION AT TCP
`
`PORT PORT
`
`
`RECEIVE RECEIVE
`
`TELEPHONY TELEPHONY
`
`RINGING SIGNAL RINGING SIGNAL
`
`
`
` 330 330
`
`
`EXTRACT IP EXTRACT IP
`
`ADDRESS FROM ADDRESS FROM
`
`TELEPHONY TELEPHONY
`
`RINGING SIGNAL RINGING SIGNAL
`
`
`TRANSMIT TRANSMIT
`
`REQUEST TO REQUEST TO
`
`ESTABLISH TCP ESTABLISH TCP
`
`CONNECTION TO CONNECTION TO
`
`IP ADDRESS IP ADDRESS
`
`
`
`340 340
`
`
`
`350 350
`
`
`
`370 370
`
`
`ESTABLISH TCP CONNECTION ESTABLISH TCP CONNECTION
`
`AND ENGAGE IN DATA TRANSFER AND ENGAGE IN DATA TRANSFER
`
`
`
`(END) (END)
`
`
`
`FIG. 3 FIG. 3
`
`Apple Inc.
`Ex. 1016 - Page 4
`
`
`
`1 1
`
`
`PEER-TO-PEER MOBILE DATA TRANSFER PEER-TO-PEER MOBILE DATA TRANSFER
`
`METHOD AND DEVICE METHOD AND DEVICE
`
`
`
`US 7,969,925 B2 US 7,969,925 B2
`
`
`CROSS REFERENCE TO RELATED CROSS REFERENCE TO RELATED
`
`APPLICATIONS APPLICATIONS
`
`
`This application is a continuation of U.S. patent applica-This application is a continuation of U.S. patent applica-
`
`tion Ser. No. 11/042,620, filed Jan. 24, 2005, which is a tion Ser. No. 11/042,620, filed Jan. 24, 2005, which is a
`
`continuation-in-part of U.S. patent application Ser. No. continuation-in-part of U.S. patent application Ser. No.
`
`10/817,994, filed Apr. 5, 2004, and a continuation-in-part of 10/817,994, filed Apr. 5, 2004, and a continuation-in-part of
`
`U.S. patent application Ser. No. 10/935,342, filed Sep. 7, U.S. patent application Ser. No. 10/935,342, filed Sep. 7,
`
`2004. 2004.
`
`
`
`FIELD OF THE INVENTION FIELD OF THE INVENTION
`
`
`The present invention relates generally to data transfer The present invention relates generally to data transfer
`
`techniques for mobile devices, and more specifically, a tech-techniques for mobile devices, and more specifically, a tech-
`
`nique to establish data transfer directly between mobile nique to establish data transfer directly between mobile
`
`devices. devices.
`
`
`
`BACKGROUND OF THE INVENTION BACKGROUND OF THE INVENTION
`
`
`Current multimedia messaging technologies for mobile Current multimedia messaging technologies for mobile
`
`devices depend upon a server that receives and prepares mul-devices depend upon a server that receives and prepares mul-
`
`timedia content to be retrieved by the recipient of the multi-timedia content to be retrieved by the recipient of the multi-
`
`media message. For example, the Multimedia Messaging Ser-media message. For example, the Multimedia Messaging Ser-
`
`vice ("MMS") protocol utilizes a server known as a Multi vice ("MMS") protocol utilizes a server known as a Multi
`
`Media Service Center ("MMSC") to store multimedia con-Media Service Center ("MMSC") to store multimedia con-
`
`tent in preparation for a retrieval process initiated by the tent in preparation for a retrieval process initiated by the
`
`recipient. Specifically, under MMS, the initiating device ini-recipient. Specifically, under MMS, the initiating device ini-
`
`tiates a data connection over TCP/IP and performs an HTTP tiates a data connection over TCP/IP and performs an HTTP
`
`POST of an MMS Encapsulation Format encoded multime-POST of an MMS Encapsulation Format encoded multime-
`
`dia message to the MMSC. The MMSC stores the multimedia dia message to the MMSC. The MMSC stores the multimedia
`
`message and makes it available as a dynamically generated message and makes it available as a dynamically generated
`
`URL link. The MMSC then generates a notification message URL link. The MMSC then generates a notification message
`
`containing the dynamically generated URL and sends the containing the dynamically generated URL and sends the
`
`notification message to the recipient through WAP Push over notification message to the recipient through WAP Push over
`
`the Short Message Service ("SMS") protocol. When the the Short Message Service ("SMS") protocol. When the
`
`recipient receives the MMS notification message, it initiates a recipient receives the MMS notification message, it initiates a
`
`data connection over TCP/IP and performs an HTTP request data connection over TCP/IP and performs an HTTP request
`
`to retrieve the MMS message containing multimedia content to retrieve the MMS message containing multimedia content
`
`from the MMSC through the dynamically generated URL. from the MMSC through the dynamically generated URL.
`
`The MMSC is used, in part, by the MMS protocol in order The MMSC is used, in part, by the MMS protocol in order
`
`to provide a known address (e.g., a URL) that can be provided to provide a known address (e.g., a URL) that can be provided
`
`to the recipient in a text based format in order to initiate a data to the recipient in a text based format in order to initiate a data
`
`transfer transaction to retrieve the multimedia content. With-transfer transaction to retrieve the multimedia content. With-
`
`out such a known address, the sender would be unable to out such a known address, the sender would be unable to
`
`transmit multimedia content to the recipient, since other pre-transmit multimedia content to the recipient, since other pre-
`
`existing messaging technologies (e.g., SMS) only provide the existing messaging technologies (e.g., SMS) only provide the
`
`capability to send limited text, and not multimedia content, capability to send limited text, and not multimedia content,
`
`directly to the recipient. As such, what is needed is a method directly to the recipient. As such, what is needed is a method
`
`to establish data transfer sessions directly between mobile to establish data transfer sessions directly between mobile
`
`devices, where such mobile devices are capable of directly devices, where such mobile devices are capable of directly
`
`communicating with other mobile devices through the under-communicating with other mobile devices through the under-
`
`lying wireless technology, such that no separate multimedia lying wireless technology, such that no separate multimedia
`
`server and separate retrieval notification message is needed to server and separate retrieval notification message is needed to
`
`obtain data (e.g., multimedia content) other than text. obtain data (e.g., multimedia content) other than text.
`
`
`
`SUMMARY OF THE INVENTION SUMMARY OF THE INVENTION
`
`
`The present invention provides a method for establishing a The present invention provides a method for establishing a
`
`direct data transfer session between mobile devices over a direct data transfer session between mobile devices over a
`
`digital mobile network system that supports data packet-digital mobile network system that supports data packet-
`
`based communications. Under the present invention, no sepa-based communications. Under the present invention, no sepa-
`
`rate data server need be used to provide a known location rate data server need be used to provide a known location
`
`from which a recipient retrieves data such as multimedia from which a recipient retrieves data such as multimedia
`
`content. Instead, a mobile device initiating a data transfer content. Instead, a mobile device initiating a data transfer
`
`
`2 2
`
`opens a listening port defined by an underlying data packet opens a listening port defined by an underlying data packet
`
`based network protocol. The initiating mobile device sends an based network protocol. The initiating mobile device sends an
`
`invitation message containing the network address, including invitation message containing the network address, including
`
`the listening port, of the initiating device to a target mobile the listening port, of the initiating device to a target mobile
`
`5 device through a page-mode messaging service (e.g., text 5 device through a page-mode messaging service (e.g., text
`
`based service) supported by the digital mobile network sys-based service) supported by the digital mobile network sys-
`
`tem. The initiating mobile device further utilizes and incor-tem. The initiating mobile device further utilizes and incor-
`
`porates a unique identification number (e.g., telephone num-porates a unique identification number (e.g., telephone num-
`
`ber, PIN number, etc.) associated with the target mobile ber, PIN number, etc.) associated with the target mobile
`
`10 device into the invitation message to locate and contact the 10 device into the invitation message to locate and contact the
`
`target mobile device within the wireless mobile network. target mobile device within the wireless mobile network.
`
`Once the initiating mobile device receives a response from the Once the initiating mobile device receives a response from the
`
`target mobile device at the listening port, the two mobile target mobile device at the listening port, the two mobile
`
`devices are able to establish a reliable virtual connection devices are able to establish a reliable virtual connection
`
`15 through the underlying data packet-based network protocol in 15 through the underlying data packet-based network protocol in
`
`order to transfer data directly between the two mobile order to transfer data directly between the two mobile
`
`devices. devices.
`
`
`
`BRIEF DESCRIPTION OF THE DRAWINGS BRIEF DESCRIPTION OF THE DRAWINGS
`
`
`
`20 20
`
`
`FIG. 1 depicts a diagram of an environment for establishing FIG. 1 depicts a diagram of an environment for establishing
`
`a data transfer session in accordance with the present inven-a data transfer session in accordance with the present inven-
`
`tion between a first mobile device and a second mobile device tion between a first mobile device and a second mobile device
`
`in a GSM mobile network system supporting GPRS as a data in a GSM mobile network system supporting GPRS as a data
`
`25 packet-based communications service, SMS as a text mes-25 packet-based communications service, SMS as a text mes-
`
`saging service, and TCP/IP as an underlying data packet saging service, and TCP/IP as an underlying data packet
`
`based network protocol. based network protocol.
`
`FIG. 2 depicts a flow chart for establishing a data transfer FIG. 2 depicts a flow chart for establishing a data transfer
`
`session in accordance with the present invention. session in accordance with the present invention.
`
`FIG. 3 depicts a flow chart for a second embodiment for FIG. 3 depicts a flow chart for a second embodiment for
`
`establishing a data transfer session in accordance with the establishing a data transfer session in accordance with the
`
`present invention. present invention.
`
`
`
`30 30
`
`
`
`DETAILED DESCRIPTION OF THE INVENTION DETAILED DESCRIPTION OF THE INVENTION
`
`
`
`35 35
`
`
`FIG. 1 depicts one environment to deploy an embodiment FIG. 1 depicts one environment to deploy an embodiment
`
`of the present invention. As depicted, the underlying digital of the present invention. As depicted, the underlying digital
`
`mobile network system in this environment is the Global mobile network system in this environment is the Global
`
`System for Mobile communications (GSM) 100 standard. System for Mobile communications (GSM) 100 standard.
`
`40 Under the GSM standard, each of the mobile devices 105 and 40 Under the GSM standard, each of the mobile devices 105 and
`
`110 includes a Subscriber Information Module (SIM) card 110 includes a Subscriber Information Module (SIM) card
`
`that contains unique identification information that enables that contains unique identification information that enables
`
`the GSM system to locate the mobile devices within the the GSM system to locate the mobile devices within the
`
`network and route data to them. A current commercial network and route data to them. A current commercial
`
`45 example of a mobile device (e.g., smartphone, PDA, hand-45 example of a mobile device (e.g., smartphone, PDA, hand-
`
`held, etc.) that might be used in FIG. 1 could be Research In held, etc.) that might be used in FIG. 1 could be Research In
`
`Motion's (RIM) BlackBerry handheld devices, which Motion's (RIM) BlackBerry handheld devices, which
`
`include a QWERTY keyboard to facilitate the typing of text. include a QWERTY keyboard to facilitate the typing of text.
`
`As depicted, a GSM architecture. includes the following corn-As depicted, a GSM architecture. includes the following corn-
`
`s() ponents: base transceiver stations (BTS) 115 and base station s() ponents: base transceiver stations (BTS) 115 and base station
`
`controllers (BSC) (120A or 120B) for managing the trans-controllers (BSC) (120A or 120B) for managing the trans-
`
`mission of radio signals between the MSC (defined below) mission of radio signals between the MSC (defined below)
`
`and the mobile devices, mobile service-switching centers and the mobile devices, mobile service-switching centers
`
`(MSC) (125A and 125B) for performing the all switching (MSC) (125A and 125B) for performing the all switching
`
`55 functions and controlling calls to and from other telephone 55 functions and controlling calls to and from other telephone
`
`and data systems, a home location register (HLR) 130 for and data systems, a home location register (HLR) 130 for
`
`containing all the administrative, routing and location infor-containing all the administrative, routing and location infor-
`
`mation of each subscriber registered in the network, visitor mation of each subscriber registered in the network, visitor
`
`location registers (VLR) (135A and 135B) for containing location registers (VLR) (135A and 135B) for containing
`
`60 selected administrative information about subscribers regis-60 selected administrative information about subscribers regis-
`
`tered in one HLR who are roaming in a another HLR, and an tered in one HLR who are roaming in a another HLR, and an
`
`equipment identity register (EIR) (not shown) for containing equipment identity register (EIR) (not shown) for containing
`
`a list of all valid mobile equipment on the network). As a list of all valid mobile equipment on the network). As
`
`depicted in FIG. 1, in one architecture of a GSM network, depicted in FIG. 1, in one architecture of a GSM network,
`
`65 there may be exist one HLR while there may exist multiple 65 there may be exist one HLR while there may exist multiple
`
`MSCs (each with a related VLR) which each serves a differ-MSCs (each with a related VLR) which each serves a differ-
`
`ent geographic area. The MSCs also provide the interface for ent geographic area. The MSCs also provide the interface for
`
`Apple Inc.
`Ex. 1016 - Page 5
`
`
`
`
`
`US 7,969,925 B2 US 7,969,925 B2
`
`
`3 3
`
`the GSM network to more traditional voice networks 170 the GSM network to more traditional voice networks 170
`
`such as the PSTN. This underlying GSM architecture pro-such as the PSTN. This underlying GSM architecture pro-
`
`vides radio resources management (e.g., access, paging and vides radio resources management (e.g., access, paging and
`
`handover procedures, etc.), mobility management (e.g., loca-handover procedures, etc.), mobility management (e.g., loca-
`
`tion updating, authentication and security, etc.), and commu-tion updating, authentication and security, etc.), and commu-
`
`nication management (e.g., call routing, etc.) in order to nication management (e.g., call routing, etc.) in order to
`
`enable mobile devices in the GSM network to send and enable mobile devices in the GSM network to send and
`
`receive data through a variety of services, including the Short receive data through a variety of services, including the Short
`
`Message Service (SMS), an asynchronous bi-directional text Message Service (SMS), an asynchronous bi-directional text
`
`messaging service for short alphanumeric messages (up to messaging service for short alphanumeric messages (up to
`
`160 bytes) that are transported from one mobile device to 160 bytes) that are transported from one mobile device to
`
`another mobile device in a store-and-forward fashion. another mobile device in a store-and-forward fashion.
`
`A GSM network within which the present invention may be A GSM network within which the present invention may be
`
`deployed would also support a page-mode messaging service, deployed would also support a page-mode messaging service,
`
`such as SMS, that relies upon the underlying GSM mecha-such as SMS, that relies upon the underlying GSM mecha-
`
`nisms to resolve routing information in order to locate desti-nisms to resolve routing information in order to locate desti-
`
`nation mobile devices. A GSM network supporting SMS text nation mobile devices. A GSM network supporting SMS text
`
`messaging may further include the following SMS specific messaging may further include the following SMS specific
`
`components: a short message service center (SMSC) (140A components: a short message service center (SMSC) (140A
`
`or 140B) for storing and forwarding messages to and from or 140B) for storing and forwarding messages to and from
`
`one mobile device to another, an SMS Gateway-MSC (SMS one mobile device to another, an SMS Gateway-MSC (SMS
`
`GMSC) for receiving the short message from the SMSC GMSC) for receiving the short message from the SMSC
`
`(140A or 140B) and interrogating the destination mobile (140A or 140B) and interrogating the destination mobile
`
`device's HLR 130 for routing information to determine the device's HLR 130 for routing information to determine the
`
`current location of the destination device to deliver the short current location of the destination device to deliver the short
`
`message to the appropriate MSC (125A or 125B). The SMS message to the appropriate MSC (125A or 125B). The SMS
`
`GMSC is typically integrated with the SMSC 140. In a typical GMSC is typically integrated with the SMSC 140. In a typical
`
`transmission of an SMS text message from an originating transmission of an SMS text message from an originating
`
`mobile device 105 to a receiving mobile device 110, (i) the mobile device 105 to a receiving mobile device 110, (i) the
`
`text message is transmitted from the mobile 105 to the MSC text message is transmitted from the mobile 105 to the MSC
`
`125A, (ii) the MSC 125A interrogates its VLR 135A to verify 125A, (ii) the MSC 125A interrogates its VLR 135A to verify
`
`that the message transfer does not violate any supplementary that the message transfer does not violate any supplementary
`
`services or restrictions, (iii) the MSC 125A sends the text services or restrictions, (iii) the MSC 125A sends the text
`
`message to the SMSC 140A, (iv) the SMSC 140A, through message to the SMSC 140A, (iv) the SMSC 140A, through
`
`the SMS GMSC, interrogates the receiving mobile device's the SMS GMSC, interrogates the receiving mobile device's
`
`HLR 130 (by accessing the SS7 network) to receive routing HLR 130 (by accessing the SS7 network) to receive routing
`
`information for the receiving mobile device 110, (v) the information for the receiving mobile device 110, (v) the
`
`SMSC sends the text message to the MSC 125B servicing SMSC sends the text message to the MSC 125B servicing
`
`receiving mobile device 110, (vi) the MSC 125B retrieves receiving mobile device 110, (vi) the MSC 125B retrieves
`
`subscriber information from the VLR 135B, and (vii) the subscriber information from the VLR 135B, and (vii) the
`
`MSC 125A transmits the text message to the receiving mobile MSC 125A transmits the text message to the receiving mobile
`
`device 110. Similar to other transactions on the GSM net-device 110. Similar to other transactions on the GSM net-
`
`work, SMS text messaging utilizes telephone numbers as work, SMS text messaging utilizes telephone numbers as
`
`identifying addresses for mobile devices and as such, utilizes identifying addresses for mobile devices and as such, utilizes
`
`the SS7 network signaling system through which cellular the SS7 network signaling system through which cellular
`
`service providers share information from the HLR with other service providers share information from the HLR with other
`
`service providers. As depicted in FIG. 1, SS7 based signaling service providers. As depicted in FIG. 1, SS7 based signaling
`
`communication is represented by the broken lines. In con-communication is represented by the broken lines. In con-
`
`trast, the solid lines in FIG. 1 represent data or voice based trast, the solid lines in FIG. 1 represent data or voice based
`
`communications. communications.
`
`In addition to a page-mode messaging service such as In addition to a page-mode messaging service such as
`
`SMS, a GSM network within which the present invention SMS, a GSM network within which the present invention
`
`may be deployed would also support a data packet based may be deployed would also support a data packet based
`
`communications service, such as the General Packet Radio communications service, such as the General Packet Radio
`
`Service (GPRS), that enables TCP/IP transmission protocol Service (GPRS), that enables TCP/IP transmission protocol
`
`based communications between mobile devices within the based communications between mobile devices within the
`
`network. As depicted in FIG. 1, a core GPRS network exists network. As depicted in FIG. 1, a core GPRS network exists
`
`in parallel to the existing GSM core network. The BSC 120 in parallel to the existing GSM core network. The BSC 120
`
`may direct voice traffic through the MSC (125A or 125B) to may direct voice traffic through the MSC (125A or 125B) to
`
`the GSM network and data traffic through the Serving GPRS the GSM network and data traffic through the Serving GPRS
`
`Support Note (SGSN) (145A or 145B) to the GPRS network. Support Note (SGSN) (145A or 145B) to the GPRS network.
`
`Such communication between the BSC (125A or 125B) and Such communication between the BSC (125A or 125B) and
`
`the SGSN (145A or 145B) may be, for example, based upon the SGSN (145A or 145B) may be, for example, based upon
`
`the IP network protocol communication 155. As such, GPRS the IP network protocol communication 155. As such, GPRS
`
`signaling and data traffic do not flow through the core GSM signaling and data traffic do not flow through the core GSM
`
`
`4 4
`
`network. Instead, the core GSM network is used by GPRS network. Instead, the core GSM network is used by GPRS
`
`only for table look-up in the HLR 130 and VLR (135A or only for table look-up in the HLR 130 and VLR (135A or
`
`135B) to obtain routing, location and other subscriber infor-135B) to obtain routing, location and other subscriber infor-
`
`mation in order to handle user mobility. The SGSN (145A or mation in order to handle user mobility. The SGSN (145A or
`
`5 145B) serves as a "packet-switched MSC," delivering data 5 145B) serves as a "packet-switched MSC," delivering data
`
`packets to mobile devices in its service area. The Gateway packets to mobile devices in its service area. The Gateway
`
`GPRS Support Note (GGSN) (150A or 150B) communicates GPRS Support Note (GGSN) (150A or 150B) communicates
`
`with the SGSN (145A or 145B) through an IP based GPRS with the SGSN (145A or 145B) through an IP based GPRS
`
`backbone 160 and serves as an interface to other external IP backbone 160 and serves as an interface to other external IP
`
`10 networks 165 such as the Internet and other mobile service 10 networks 165 such as the Internet and other mobile service
`
`providers' GPRS services. providers' GPRS services.
`
`In order to provide direct data transfer capabilities between In order to provide direct data transfer capabilities between
`
`mobile devices, an initiating mobile device must have knowl-mobile devices, an initiating mobile device must have knowl-
`
`edge of the IP address (and possibly, a port) of the target edge of the IP address (and possibly, a port) of the target
`
`15 device in order to establish a direct data transfer. Current 15 device in order to establish a direct data transfer. Current
`
`mobile multimedia messaging solutions, such as MMS do not mobile multimedia messaging solutions, such as MMS do not
`
`provide direct data transfer capabilities because the initiating provide direct data transfer capabilities because the initiating
`
`mobile device is not able to obtain the receiving mobile mobile device is not able to obtain the receiving mobile
`
`device's IP address. In essence, servers such as the MMSC device's IP address. In essence, servers such as the MMSC
`
`20 that are used in current multimedia messaging solutions serve 20 that are used in current multimedia messaging solutions serve
`
`as a forwarding agent between the two mobile devices that are as a forwarding agent between the two mobile devices that are
`
`unable to determine the other devices IP address. unable to determine the other devices IP address.
`
`In contrast, in accordance with the present invention, a In contrast, in accordance with the present invention, a
`
`multimedia server such as the MMSC can be eliminated on a multimedia server such as the MMSC can be eliminated on a
`
`25 mobile network environment such as that depicted on FIG. 1. 25 mobile network environm