WO2004012088A1 - プログラム、情報処理方法および装置、並びにデータ構造 - Google Patents

プログラム、情報処理方法および装置、並びにデータ構造 Download PDF

Info

Publication number
WO2004012088A1
WO2004012088A1 PCT/JP2003/009632 JP0309632W WO2004012088A1 WO 2004012088 A1 WO2004012088 A1 WO 2004012088A1 JP 0309632 W JP0309632 W JP 0309632W WO 2004012088 A1 WO2004012088 A1 WO 2004012088A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
application
parameter
profile
media
Prior art date
Application number
PCT/JP2003/009632
Other languages
English (en)
French (fr)
Inventor
Takashi Nomura
Hiroyuki Tominaga
Haruhiko Sakata
Masayuki Takahashi
Original Assignee
Sony Corporation
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 Sony Corporation filed Critical Sony Corporation
Priority to JP2005505581A priority Critical patent/JP4458041B2/ja
Priority to EP03771416.9A priority patent/EP1526461B1/en
Priority to EP18200410.1A priority patent/EP3447999A1/en
Priority to US10/489,311 priority patent/US7840593B2/en
Publication of WO2004012088A1 publication Critical patent/WO2004012088A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles

Definitions

  • the present invention relates to a program, an information processing method and apparatus, and a data structure, and more particularly, to a program, an information processing method and apparatus, and a data structure capable of reliably connecting devices having different capabilities.
  • RTSP Real Time Streaming Protocol 1
  • SDP Session Description Protocol
  • RTSP does not specify how parameters should be exchanged specifically, and as a result, there was a problem that data could not be reliably exchanged between the server and the client. Disclosure of the invention The present invention has been made in view of such a situation, and is intended to reliably connect to a device on the other side and to transmit and receive data.
  • the program according to the present invention causes a computer to execute a generation step of acquiring a parameter related to a service, which is a digitized M-dimensional parameter, and generating detailed information representing the content of the service based on the acquired parameter. It is characterized by the following.
  • the generating step may obtain the parameter normalized by a basic unit.
  • the parameter is divided into a plurality of regions based on a main factor parameter which is most likely to be limited in coexistence with another parameter, and the parameter is obtained for each region. be able to.
  • each of the M-dimensional parameters may be obtained as a one-dimensional integer value.
  • the detailed information may be represented by a combination of the integer value and a logical symbol.
  • the generation step may use, as the logical symbol, a first symbol representing a selection of any one of the plurality of integer values and a second symbol representing a set of the integer values. .
  • the generating step uses, as the second symbol, an opening price that indicates the start of a range, a closing price that indicates the end of the range, and a step that defines a range of change between the opening price and the closing price. be able to.
  • the service may be a service for transmitting or receiving data via a network.
  • an identifier for identifying the service may be further obtained and added to the detailed information.
  • a first transmission step of transmitting the identifier to a predetermined destination via the network may be performed.
  • the method may further include a first receiving step of receiving the identifier transmitted via the network.
  • the information processing method includes a generation step of obtaining a parameter related to a service, which is a digitized M-dimensional parameter, and generating detailed information representing the content of the service based on the obtained parameter. It is characterized by the following.
  • the information processing apparatus includes a generation unit configured to acquire a parameter related to a service, which is a digitized M-dimensional parameter, and to generate detailed information representing the content of the service based on the acquired parameter. It is characterized by the following.
  • the data structure of the present invention is composed of M-dimensional parameters, It is characterized by comprising a combination of an integer value and a logical symbol.
  • the logical symbol may be composed of a first symbol representing a selection of any one of a plurality of integer values, and a second symbol representing a set of integer values.
  • the second symbol may be constituted by a step of defining an opening price indicating the start of the range, a closing price indicating the end of the range, and a range of change between the opening price and the closing price.
  • An identification number for identifying the service may be further included. It is characterized in that symbols and are used.
  • a digitized M-dimensional parameter relating to a service is obtained, and detailed information representing the content of the service is generated based on the parameter.
  • the data structure is composed of an M-dimensional parameter, and the parameter is composed of a combination of an integer value and a logical symbol.
  • FIG. 1 is a diagram showing a configuration example of a network system to which the present invention is applied.
  • FIG. 2 is a diagram illustrating a software hierarchy.
  • FIG. 3 is a diagram illustrating an outline of the operation of the network system to which the present invention is applied.
  • FIG. 4 is a flowchart illustrating the operation of the network system of FIG. 1
  • FIG. 5 is a flowchart illustrating the operation of the network system of FIG. 1
  • FIG. 6 is a flowchart illustrating the operation of the network system of FIG.
  • FIG. 7 is a flowchart for explaining the operation of the network system shown in FIG. 1.
  • FIG. 8 is a diagram showing an example of a profile space.
  • FIG. 9 is a diagram showing an example of a profile description.
  • FIG. 10 is a diagram showing an example of a profile atom.
  • FIG. 11 is a diagram illustrating a display example of a list of service providers.
  • FIG. 12 is a block diagram illustrating a configuration example of a personal computer.
  • FIG. 13 is a diagram showing a configuration of a profile.
  • FIG. 14 is a diagram illustrating the basic unit of a profile.
  • FIG. 15 is a diagram for explaining the area of the profile.
  • FIG. 16 is a flowchart for explaining the profile description creation processing.
  • FIG. 17 is a flowchart illustrating the profile description creation processing.
  • FIG. 18 is a diagram for explaining a hierarchical structure of a profile.
  • FIG. 19 is a diagram showing an example of the provider profile.
  • FIG. 20 is a diagram showing an example of a consumer profile.
  • FIG. 21 is a flowchart for explaining the profile atom generation processing.
  • FIG. 22 is a flowchart for explaining the profile atom generation processing.
  • FIG. 1 shows a configuration example of a network system to which the present invention is applied.
  • the media instant message server (Media IM Server) 1 As the user terminal, Nono 0 one Zona / Les computer 1 1, 1 2, Narabiko PDA (Personal Digital Assistant s) 1 3 is connected.
  • An application server 15 is also connected to the media server 14 via the Internet 1.
  • the personal computer 11 has a media client # 1 implemented as middleware, and the personal computer 12 has a media IM client # 2 implemented as middleware. Similarly, PDA 13 implements media IM client # 3 as middleware.
  • the application server 15 has a media IM client # 4 implemented as middleware.
  • Application Server 15 is a print service # 1 to print service # 7 are provided to the accessing user.
  • the media IM server 14 controls the mutual instant message processing of the media IM client # 1 to the media IM client # 4.
  • Figure 2 shows the software configuration.
  • the above described media IM clients # 1 to # 4 are shown as media IM client middleware 32 in FIG.
  • This media IM client middleware 32 is arranged between the IP network transport layer 31 and an API (Applicatio n Program Interface) 33.
  • the API 33 executes interface processing between the application # 1 to the application #N and the media IM client middleware 32.
  • the media IM client middleware 32 executes an interface process between the API 33 and the IP network transport layer 31.
  • Applications # 1 to #N each constitute a service entity.
  • the application providing the service (Application # 1 in the example in Fig. 3) is a service provider (Service Provider) 51, and the service The application is provided by the application (in the example of FIG. 3, Applicat ion n) S (the service consuming consumer).
  • the service provider 51 and the service consumer 52 use the instant message presence function, messaging function, or Info / Query function via the corresponding media IM client # P1 or media IM client # C1. Execute negotiation processing for connection. After it is confirmed by negotiation that the connection with the other party is possible, the service provider 51 and the service consumer 52 execute the connection process by peer-to-peer (P2P).
  • P2P peer-to-peer
  • the service provider 51 and the service consumer 52 respectively 3 009632
  • a service entity may itself be a single application, or a set of service entities may form a single application. In the following, for simplicity, it is assumed that one service entity corresponds to one application.
  • step S 1 the application # 1 as the service provider 5 1 sends, to each member (Buddy) registered in the roster (Roster), a profile space ID (S) indicating the type of service that can be provided by itself. Inform Media IM Client # P 1 to announce Profile Space ID).
  • the media IM client # P1 Upon receiving this instruction in step S2, the media IM client # P1 notifies the members registered in the list in step S3 of the profile space ID by presence.
  • a member is a partner of message communication with a certain user (or a media IM client) in the instant message service provided by the media IM server 14, and the media IM server 14 communicates with the member.
  • This information is represented by a pre-registered user ID or a nickname associated with the user ID.
  • the roster is a list of its members (Buddy), that is, the users (or media IM clients) of other users (or other media IM clients) that have been set up for message communication. List of user IDs (or nicknames). The roster for each user is centrally managed in the media IM server 14.
  • the list corresponding to the media IM client # P1 includes the media IM client #C. 1 user (user ID, etc.) is registered as a member.
  • the user of the media IM client # C1 sends a message to the user of the media IM client # P1.
  • the user of the media IM client # P1 is registered as a member in the list corresponding to the media IM client # C1.
  • each other when performing instant messaging communication, each other must be registered in the list in advance as members. For example, a first user has registered a second user of another media IM client as a member in the roster, but a second user has registered the first user as a member with that client. If not, the first user must have the second user added to the roster as a member before messaging.
  • this list is provided to the media IM client from the media IM server 14 as necessary, and the GUI (Graphical User Int. erface).
  • the media IM server 14 includes, together with the list described above, an icon for allowing the user to easily identify the target member, and information on the member (for example, whether or not communication is possible). Information such as presence is supplied to the media IM client.
  • the media IM client supplied with the roster etc. displays an icon and presence associated with each member of the roster.
  • a dedicated server for centrally managing the roster as described above may be provided.
  • the profile space ID and application ID realize application-level profile negotiation based on the instant message presence function, messaging function, and Info / Query function as shown in the network system in Fig. 1. Registered and managed in advance by the operator of the application platform. Therefore, the service consumer 52 can specify the content based on the ID.
  • FIG. 8 shows an example of a profile space for defining an MPEG4 streaming server application running on the personal computer 11.
  • the profile space is an M-dimensional space (space) expressing a service provided by the personal computer, and a profile space ID and an ID for identifying each profile space. It is composed of dimensional parameters.
  • the profile space ID is “1000001”.
  • the parameters consist of access method, bit rate (link speed), X scale, Y scale, and audio codec.
  • access met h which represents the protocol used for communication.
  • the value of d is 1 (RTSP / TCP + RTP / UDP) or 2 (HTTP tunnelling).
  • the bit rate indicating the speed of the connected communication line is set to 6k to 512kbps.
  • the X scale representing the horizontal size of the screen is from 128 pixels to 352 pixels
  • the Y scale representing the vertical size of the screen is from 96 pixels to 288 pixels.
  • the access method of the profile represents the protocol used for communication, for example, RTSP (Real Time Streaming Protocol D / TCP (Transmission Control Protocol) + RTP (Real Time Transport Protocol)) represented by number 1.
  • RTSP Real Time Streaming Protocol
  • TCP Transmission Control Protocol
  • RTP Real Time Transport Protocol
  • UDP User Datagram Protocol
  • HTTP Hyper Text Transfer Protocol
  • bit rate is information for determining the MPEG 4 data transfer rate when the application # 1 performs the MPEG 4 streaming service.
  • Video Codec representing the video compression / expansion method is MPEG4.
  • the audio codec that represents the audio compression / decompression method is none (none), CELP (Code Excited Linear Predictive) 8 k, CELP 16 k, AAC (Advanced Audio Coding) 16 k, AAC 32 k, AAC 44. Ik, AAC 48 k.
  • the media IM server 14 upon receiving the notification from the media IM client # P1 in step S4, the media IM server 14 announces this to each member in the list in step S5.
  • the media IM client # C1 which is one of the members (service consumers 52) receiving the announcement, receives the profile space ID and the service provider in step S7. 5 Based on the application ID on the 1 side (in this case, the ID of application # 1), determine (verify) whether it can accept this profile. As described above, the participant of this system can specify the content (the function of the partner device as shown in FIG. 8) based on these IDs. Is possible.
  • each media IM client uses the application ID and the set of possible values for the parameters included in the profile as shown in FIG.
  • the stored table is referred to, and the application ID obtained in step S6 is referred to.
  • the type of parameter included in the profile corresponding to the file ID and the set of possible values for that parameter are specified, and based on the information about the application held, the specified parameter (corresponding to the parameter) Profile) It is determined whether or not the application has the function of the visconsumer (that is, whether or not it is acceptable).
  • a table describing the correspondence between IDs and contents can be stored in each device (personal computers 11, 12, etc.).
  • the media IM server 14 In this case, it is possible to charge the user every time the user uses this table for verification. As a result, the operator of the media IM server 14 can obtain profit.
  • step S8 If the media IM client #C 1 determines that the content of the profile received from the service provider 51 is acceptable to the service consumer, in step S8, the acceptable service consumer 52 The presence content (profile corresponding to the profile space ID as shown in Fig. 8) is notified to application #n. In step S9, application #n receives a notification from media IM client # C1.
  • step S4 Each media IM client receiving the announcement from the service provider (steps S4 to S6), if the verification in step S7 determines that there is no appropriate application serving as the service consumer, Ignore incoming announcements.
  • step S10 the application #n obtains the detailed information of the service provided from the service provider 51 by media. Instruct IM client # C1.
  • the media IM client # 1 receives this instruction, and in step S12, a part or a part of the parameter group of the profile space of the service provided by the service provider 51 described above.
  • media IM client # P 1 application # 1 When acquiring the name list (Roster) from the server 14, the media IM client #P 1 supplies a GET command or the like to the media IM server 14 by the Info / Query function. Upon acquiring the GET command, the media IM server 14 supplies a response indicating the acquisition to the application # 1 via the media IM client # P1 of the transmission source. By this response, application # 1 can confirm that the GET command has been supplied to media IM server 14.
  • the application sends the notification or request reliably by using the Info / Query function to notify or request. Can be supplied first.
  • the destination application that has obtained the notification or request does not supply the above-mentioned acknowledgment to the transmission source. Therefore, since the source application cannot know whether or not the destination has acquired the notification or request supplied using the messaging function, it is compared with the case using the Info / Query function. Therefore, it cannot be reliably supplied to the intended destination.
  • the communication processing is simpler than in the case of using the Info / Query function, so the processing load can be reduced.
  • This messaging function is used, for example, for exchanging instant messages (IMSTA NT MESSAGING) consisting of text documents between media IM clients.
  • notification / request using the Info / Query function or notification / request using the messaging function can be used not only by the media IM client but also by the media IM server. It can be used not only for notifications and requests between servers, but also for notifications and requests between media IM clients.
  • notification or request using the Info / Query function or the messaging function may include not only commands but also any data such as messages and parameters, and may have any contents.
  • the media IM client # P1, the media IM client # C1, and the media IM server 14 exchange data (including notifications and requests) using the messaging function or the Info / Query function. Do.
  • the media IM client #Pl or the like may transmit using the messaging function or the Info / Query function.
  • a provider profile is transmitted using the Info / Query function, a response to the transmission of the provider profile is supplied from the transmission destination to the transmission source.
  • the media IM server 14 Upon receiving the request from the media IM client # C1 in step S13, the media IM server 14 transmits the request to the media IM client # P1 in step S14. Upon receiving the request from the media IM server 14 in step S15, the media IM client # P1 supplies the request to the application # 1 as the service provider 51 in step S16.
  • the application # 1 Upon receiving the request from the media IM client # P1 in step S17, the application # 1 assembles the provider profile to be provided to the service consumer 52 in step S18, and Sent to client # p1. Details of the assembly of this provider profile will be described later with reference to the flowcharts of FIGS. 16 and 17.
  • the contents of the provider profile generated by application # 1 are defined by the service provider 51 among the parameters defined in the open file space (Fig. 8). It is assumed that the range of parameter values that can be actually provided to the service consumer 52 is specifically set in consideration of the system environment.
  • FIG. 9 shows an example of the provider profile generated in this way.
  • this provider profile is represented as a profile description (Profile Description).
  • Profile Description profile description
  • FIG. 9 shows that the application # 1 as the service provider 51 supports only the VGA (Video Graphics Array) system angle of view (160 pixel X 120 pixel or 320 pixel X 24 O pixel).
  • VGA Video Graphics Array
  • This figure shows an example of connection to a PHS (Personal Handyphone System) equivalent network (a network with a maximum link speed of 128 kbps). Therefore, in the example of FIG. 9, the angle of view is 16 O pixel X 12 O pixel (X scale XY) within the range defined by the profile space of FIG. 8 in consideration of the link speed of the network. scale) only.
  • VGA Video Graphics Array
  • PHS Personal Handyphone System
  • the profile space ID is “100000001”, which indicates that the profile space ID is a profile description corresponding to the profile space shown in FIG. I have. That is, as described above, when the media IM client # C1 requests the provider profile in step S12, the media IM client # C1 responds to the request in step S3 as shown in FIG. # A profile description (provider profile) corresponding to the profile space ID supplied by P1 is generated.
  • the access method in Figure 9 is either RTSP / TCP + RTP / UDP or HTTP tunnel lin.
  • the bit rate is between 6 k and 128 kbps.
  • the audio codec is either none or CELP 8k.
  • the media IM client # P1 When the media IM client # P1 receives the response of the provider profile from the application # 1 in step S19, the media IM client # P1 sends the response to the application #n in step S20 to the messaging function or Info / Reply using the Query function. -Upon receiving the reply from the media IM client # P1 in step S21, the media IM server 14 transmits this to the media IM client # C1 in step S22. In step S23, when receiving this reply, the media IM client # ⁇ 1 receives the reply and Send to #n. The application #n receives the reply (including the provider profile shown in FIG. 9) from the service provider 51 in step S25.
  • the application # 11 performs a matching (comparison) between the provider profile of the service provider 51 received in the process of step S25 and the consumer profile formed by itself.
  • the provider profile and the consumer profile described above are generated by the processes shown in the flowcharts of FIGS. 16 and 17 described later.
  • the provider profile is a profile created by the application # 1 based on the profile space determined to be acceptable to the service consumer by the media IM client # C1. is there. That is, the profile space corresponding to this provider profile also corresponds to application #n as a service consumer. Therefore, application #n performs the same processing as when application # 1 creates a provider profile, and is a profile composed of some or all of the parameters in this profile space corresponding to the service consumer. (Ie, Consumer Profile). The application #n performs matching between the received provider provider of the service provider 51 and the consumer profile created in this manner.
  • the service profile presented by the service provider is expressed only by numerical values. Therefore, the service consumer 52 has a range of values of parameters constituting its own profile. The consistency can be easily verified by simply comparing the box with the one-dimension.
  • the dimension means the substantial number of parameters. In other words, the service consumer 52 determines the range of the value of each parameter of the consumer profile and the range of the value of the parameter of the provider profile corresponding to the parameter. 2003/009632
  • One by one compare one by one.
  • the application #n requests the service provider 51 to register itself (the service consumer 52) in the provided service in step S26.
  • the media IM client # C1 receives this instruction from the application #n, and in step S28, instructs the service provider 51 to associate the service with the profile space ID and provide the service.
  • Register the service consumer 52 as a service provider by registering the application case ID of the application #n of the consumer 52, and request registration to the service using the messaging function or the Info / Query function. .
  • the profile space ID and application ID (ID of application #n) are included in the request.
  • the media IM server 14 Upon receiving the request from the media IM client # C1 in step S29, the media IM server 14 transmits this to the media IM client # P1 in step S30. Upon receiving the request from the media IM server 14 in step S31, the media IM client # P1 transmits the request to the application # 1 in step S32. The application # 1 receives a registration request from the service consumer 52 in step S33.
  • the application # 1 as the service provider 51 receives a service corresponding to the service provided to the service consumer 52 in the processing of step S18.
  • Register Consumer 5 2 the application ID of the application #n of the service consumer 52 is registered corresponding to the profile space ID.
  • the information on the service consumer 52 registered in this way is used when the service is provided by the application # 1. That is, the application # 1 refers to the registered information, and provides a service to the application of the service consumer 52 (the application corresponding to the application ID) based on the information.
  • step S34 application # 1 is a request supplied from service consumer 52, and application # 1 registers the application ID of application ## of service consumer 52 in association with the profile space ID. By doing so, a response corresponding to the service registration request, which is a request to register the service consumer 52 as a service provision destination (ie, information indicating whether registration of application #n has been completed) Is supplied to the media IM client # P1.
  • the media IM client # P1 receives the instruction, and in step S36, responds to the supplied registration request. Is notified by using the messaging function or the Info / Query function.
  • step S37 the media termination IM server 14 having received the notification of the registration result transmits the notification to the media IM client # C1 in step S38. When the media IM client # C1 receives this in step S39, it sends it to the application #n in step S40.
  • the application #n receives the notification of the registration result in step S41.
  • step S42 the application #n sets parameters for guaranteeing the connectivity based on the profile description (provider profile received in the processing of step S25) from the service provider 51 as a profile atom ( Prof i le Atom). That is, application # 1 Application #n can use the data sent by
  • FIG. 10 shows an example of a description of this profile atom.
  • the profile space ID power S is “100 000 00 1”, which indicates that the profile atom corresponds to the profile space shown in FIG.
  • IM client # C1 creates a consumer profile corresponding to the profile space ID, compares it with the supplied provider profile, and if it is determined to be consistent, performs registration processing for the provided service and From the range of each parameter of the profile space corresponding to those profiles, specify the range to guarantee the connectivity, and as shown in Fig. 10, the profile atom composed of the parameters of those ranges Generate
  • the access method is HTTP tunnelling. That is, the access method corresponding to the number 2 is selected from the access methods in the provider profile of FIG.
  • the bit rate is 48 kbps, the X scale is 160, and the Y scale is 120.
  • the audio codec is CELP 8k.
  • the application #n issues a connect request with the profile atom determined in step S42.
  • step S43 when receiving this request, the media IM client # C1 transmits this request to the service provider 51 using the messaging function or the Info / Query function in step S44. .
  • the media IM server 14 executes step S 4 When this request is received in step 5, the request is transmitted to the media IM client # P1 in step S46.
  • the media IM client # P1 Upon receiving the request from the media IM server 14 in step S47, the media IM client # P1 transmits the request to the application # 1 in step S48.
  • Application # 1 receives this request in step S49.
  • step S50 the service consumer 52 (application #n)
  • connection information required to connect to (application # 1) is sent to service consumer 52.
  • This connection information is, for example, a URI (Uniform Resource Identifier) (service URI) indicating the address of the service provider 51, which is an address accessed when the service consumer 52 connects to the service provider 51. Can be.
  • URI Uniform Resource Identifier
  • the response transmitted from the application # 1 in the processing of step S50 is received by the media IM client # P1 in step S51, and the media IM client # P1 receives the response in step S52.
  • the response is sent to the service consumer 52 using the messaging function or the Info / Query function.
  • the media IM server 14 Upon receiving the response from the media IM client # P1 in step S53, the media IM server 14 transmits this to the media IM client # C1 in step S54.
  • the media IM client # C1 transmits this to the application #n in step S56.
  • Application #n receives this response in step S57.
  • step S50 After instructing the transmission of the response in step S50, the application # 1 waits for a direct access (not through the media IM server 14) from the application #n. Therefore, in step S58, the application #n accesses the service URL (Uniform Resource Locator) of the application # 1 on a peer-to-peer basis without using the media IM server 14. Step S 5 At 9, application # 1 accepts access to the peer-to-peer URL from application #n.
  • service URL Uniform Resource Locator
  • application # 1 and application #n can exchange information on a peer-to-peer basis.
  • the application # 1 called the profile atom and the application #n exchange the executable functions in advance, so that the connection between the application # 1 and the application #n Connectivity is guaranteed, and the situation where information cannot be exchanged is prevented.
  • the application platform of the present invention builds a new protocol architecture that realizes negotiation of a profile in an application level based on the presence function of instant messages, the messaging function, and the Info / Query function. ing.
  • applications implemented in various devices with different capabilities (although they may be the same, of course) of personal computers and mopile devices can be simplified. Simple and reliable connection is possible.
  • the applications (service entities) that are finally guaranteed to be connected can communicate peer-to-peer. Therefore, the user can easily and reliably exchange information without performing any special operation.
  • the applications (service entities) described above can be applied not only to personal computer / network compatible CE (Consumer Electronics) devices, but also to commercial application servers on the Internet 1.
  • a commercial print service application is a media IM client as a service provider. Run on # 4. Therefore, the personal computers 11 and 12 or the PDA 13 in FIG. 1 execute the above-described procedure with the application server 15 to provide the print service provided by the application server 15 to the Internet. Available through one.
  • a list of service providers is displayed as a Buddy list, for example, as shown in FIG. can do.
  • a list of service providers that can use the print service application operating as a service consumer on the media IM client # 3 implemented on the PDA 13 is displayed.
  • the presence function it is possible to express the status of the commercial service minutely and freely according to the service consumer.
  • whether or not a commercial service is being operated can be displayed by a lamp icon 13A.
  • a commercial service in operation can be displayed in green, and a commercial service in suspension can be displayed in red.
  • detailed status such as time and price at which the requested print is completed is also displayed as status information.
  • FIG. 12 shows a configuration example of the personal computer 11. Although not shown, the other personal computers 12 have the same configuration. Therefore, in FIG. 12, the configuration of the personal computer 12 is appropriately referred to.
  • Fig. 12 (Here, the CPU (Central Processing Unit) 1 2 1, the program stored in ROM (Read Only Memory) 1 2 2 or the storage unit 1 2 8 Accel ss Memory) 1 2 3 Execute the process.
  • the RAM I 23 also appropriately stores data necessary for the CPU 121 to execute various processes.
  • the CPU 122, the ROM 122, and the RAM 123 are interconnected via a bus 124.
  • An input / output interface 125 is also connected to the bus 124.
  • the input / output interface 125 has an input unit 126 consisting of a keyboard, a mouse, etc., a display consisting of a CRT (Cathode Ray Tube) ⁇ LCD (Liquid Crystal Display), etc., and an output unit 127 consisting of speakers, etc.
  • a storage unit 128 composed of a hard disk and the like, and a communication unit 128 composed of a modem and a terminal adapter are connected.
  • the communication unit 129 performs a communication process via a network including the Internet.
  • a drive 130 is also connected to the input / output interface 125 as necessary, such as a magnetic disk 141, an optical disk 142, a magneto-optical disk 144, or a semiconductor memory 144. Are loaded as appropriate, and the computer programs read from them are installed in the storage unit 128 as needed.
  • the service content is described by the profile and provided to the service consumer.
  • This profile (profile description) is represented by M-dimensional parameters.
  • dimension means a substantial number of parameters.
  • FIG. 13 shows a profile space of a streaming server of MPEG (Moving Picture Experts Group) 4 which is different from the profile space in the example of FIG.
  • the parameters are mainly parameters related to the whole. Data, video parameters, and audio parameters.
  • the parameters related to the whole are configured by an access method and a link speed, and the parameters related to video are configured by an X scale and a Y scale. In other words, it consists of (five) parameters of the fifth order of the access method, Link Speed, Xscale, Yscale, and audio codec. Then, the five-dimensional parameter is identified by the profile space ID of “1000000002”.
  • acces s method of this profile represents the protocol used for communication, and is represented by RTSP (Real Time Streaming Protocol) / TCP (Transmission Control Protocol) + RTP (Real Time Transport Protocol) / UDP ( It is Us er Datagra m Protocol) s or HTTP (Hyper Text Transfer Protocol represented by No. 2) tunnel l ⁇ displacement force ing.
  • RTSP Real Time Streaming Protocol
  • TCP Transmission Control Protocol
  • RTP Real Time Transport Protocol
  • UDP It is Us er Datagra m Protocol
  • HTTP Hyper Text Transfer Protocol represented by No. 2
  • the Link Speed which represents the data transfer speed of the communication line used, corresponds to the bit rate in the example of FIG. 8, and is set to any value in the range of 6 kbps to 1000 kbps.
  • the X scale representing the size of the screen in the X-axis direction is in the range of 128 pixels to 35 2 pixels
  • the Y scale representing the size in the Y-axis direction is 96 pixels to 288 pixels. range of el.
  • the audio codec that represents the audio compression / expansion method is: None (No ne) represented by number 0, CELP 8k represented by Number 1, CELP (Code Excited Linear Prediction) represented by Number 2 16 k, AAC (Advanced Audio Coding) represented by number 3 16 k, AAC 32 k represented by number 4, AAC 44.1 k represented by number 5, or represented by number 6 AAC 48k will be either.
  • a parameter is represented as one of several integer values, The logical symbol “0R” (or) is used. "0R” is separated by [I], as in [k] I [m] I [n]. This means that the parameter is one of k, m, or n. In this case, k, m, and n are integers and are arranged in ascending order (like k ⁇ m ⁇ n).
  • the access method force S the force indicated as "1
  • the logical symbol “:” representing the range is used.
  • the range is represented as [m]: [n] # [k].
  • [m] represents the opening price and [n] represents the closing price. [m] and [n] cannot be omitted. And, of course, the opening price [m] is equal to or smaller than the closing price [n].
  • # [k] represents a step that defines the range of change between the opening price [m] and the closing price [n]
  • [k] is a natural number and a multiple value with the basic unit for normalization being 1. You. [k] can be omitted.
  • each parameter is normalized in a predetermined basic unit as a unit for normalization.
  • the basic unit of Link Speed is kbps
  • the basic unit of X scale and Y scale is 16 pixels, respectively. Therefore, the X scale of 1 shown in Fig. 13 When 28 pixels to 35 2 pixels are normalized by 16 pixels, they are expressed as 8 to 22.
  • Y scale 96 pixels to 28 88 pixels are expressed as 6 to 18.
  • XML extensible Markup Language
  • Elements constituting each dimension can be added as appropriate.
  • the a udio codec is one of the seven elements represented by numbers 0 to 6, but other elements represented by numbers 7 or 8 are added or expanded. can do.
  • a device that does not have an additional audio codec element represented by the number 7 or 8 also uses the profile space with the profile space ID of “100 0 0 0 0 2”. It is required to be able to. This is to ensure that each device can determine its contents by the profile space ID. Therefore, even if the number of elements constituting each dimension is increased, each device can determine the content based on the profile space ID (for compatibility), so that the profile space ID is changed. Not done. Conversely, when the dimension is increased, the profile space ID is changed because each device cannot determine its contents based on the profile space ID (since compatibility cannot be ensured).
  • a profile can be created by dividing into a plurality of regions based on a main factor parameter which is most likely to be restricted from coexistence with other parameters. Is done.
  • the link speed is the main factor parameter.
  • a personal computer connected to an analog telephone line with a link speed of less than 5 Okbps may be an AAC 44.1 k indicated by the number 5 as audio cod ec or an AAC 4 8 k indicated by the number 6. Even if an audio codec such as k is selected, such a relationship is actually difficult to realize.
  • a fourth area (region (4)) is defined as an area in which the capacity of the CPU (Central Processing Unit) used by the device is higher than kbps.
  • the access method in the first area, is 1 or 2 ', and the link speed is 35 kbps to 49 kbps.
  • X scale is set to 10 and Y scale is set to 7.
  • audio codec is either 0 or 1.
  • the access method is 1 or 2
  • the link speed is 5 Okbps to 199 kbps.
  • X scale and Y scale are set to 10 or 7, respectively, as in the case of the first area.
  • the audio codec is set to 1 or 2.
  • the access method is set to 1 or 2, and the link speed is set to 20 Okbps to 10000 Okbps.
  • X scale is set to 10 and Y scale is set to 7.
  • audio codec is one of 1 to 6.
  • the access method is 1 or 2, and the link speed is 200 kbps to 100 000 O kbps, as in the third area. It is.
  • X scale is set to 20 and Y scale is set to 15.
  • the audio codec is one of 1 to 6.
  • each five-dimensional parameter is defined as a one-dimensional integer value. That is, it is defined as one numerical value.
  • the number of profile divisions can be arbitrarily determined by each service provider. Also, the service provider can arbitrarily set the value of the profile description (the value of the component of each dimension in each area).
  • the profile space ID does not change even if the number of areas changes.
  • the service consumer sets the value of the five- dimensional parameter to any value in one area, An environment that is difficult or impossible to implement is not set. Therefore, it becomes possible for the service consumer to select one area from a plurality of areas and appropriately select an arbitrary value from the five-dimensional parameters of the area.
  • the service provider 51 receives the provider profile (profile description) in the process of step S25 in FIG. 5 described above, +; the 11-visconsumer 52 (application #n)
  • the value of the main factor parameter (link speed) described in each area of the provider profile is compared with the main factor parameter of its own consumer profile, and the area where the matching part exists is extracted.
  • the main factor parameter is represented by an integer, so that it is possible to easily calculate whether or not there is a matching range by a simple integer value operation.
  • the service consumer 52 will not be able to select an applicable service unless a program with complicated case division is used.
  • a service is a space composed of M-dimensional parameters. S). Each space is identified by a profile space ID. The parameters that make up each space are represented by a combination of integer values and logical symbols. The logical symbols used are rORj, which represents the choice of one of multiple integer values, and "range", which represents a set of integer values.
  • the application # 1 generates a provider profile (a port file relating to its own function) having the profile space ID S “100 000 002” shown in FIG.
  • Application # 1 is connected to an 8 Mbps ADSL line, and from the actual line throughput value (CurrentLinkSpeed (current link speed)), the main factor parameter link speed is 4 800 kbps, the video display system is a VGA (Video Graphics Ar ray) system, and the processing capacity of the CPU is relatively low.
  • CurrentLinkSpeed current link speed
  • VGA Video Graphics Ar ray
  • application # 1 checks its own capability (function) corresponding to each area, and sets each parameter to a value corresponding to its own ability corresponding to each area. Therefore, the specific numerical value set for each parameter in each step described below is a value corresponding to its own ability corresponding to each area.
  • Application # 1 may check its own abilities at each step, or may read and use the abilities that have been checked and stored in advance.
  • step S71 application # 1 changes the parameter setting Set the value "1 0 0 0 0 00 2" of the current profile space ID to the number PSId.
  • steps S72 to S78 setting processing of parameters relating to the first area is performed, and in steps S79 to S85, setting of parameters relating to the second area are performed.
  • steps S86 to S92 parameters for the third area are set, and in steps S93 to S98, parameters for the fourth area are set.
  • step S72 the application # 1 sets a value “1” to a variable PSId. Region indicating that the region is the first region.
  • the profile whose profile space ID is 100 000 002 has the access (Access Method), It consists of the following parameters: linkSpeed (Link Speed), xScale (X scale), yScale (Y scale), and audio (Audio Codec).
  • LinkSpeed Link Speed
  • xScale X scale
  • yScale Y scale
  • audio Audio Codec
  • Step S73 the application # 1 sets ⁇ 1
  • step S74 the application # 1 sets, as the Link Speed, ⁇ 39:49 ⁇ representing 49 kbps from the 30 kbps power to the PSId. Region. LinkSpeed. This is because the area currently being processed is the first area, and the default Link Speed power of the first area is 30 kbps, and the other is 49 kbps. In the processing of steps S81, S88, and S95 in the second to fourth regions, the default Link Speed in each region is 50 kbps power, 199 kbps, 200 kbps power, 200 kbps power, 100 000 kbps, or 200 kbps power, 100 000 00 kbps power, respectively set).
  • step S75 application # 1 sets ⁇ 10 ⁇ indicating 16 Op ixel to PSId.region.xScale as Xscale and ⁇ 7 ⁇ indicating 114pixel as Y scale to PSId. region. Set to yScale. These values are also based on the function of Application # 1 regarding the angle of view of the image display.
  • step S76 the application # 1 sets ⁇ 0
  • step S77 the application # 1 determines that the value of the current speed (Current Link Speed) indicating the effective throughput of the line to which the application # 1 itself is actually connected is the lower limit of the next second area. Compare with 50 kbps and determine if it is smaller. If the current link speed is lower than 50 kbps, the area beyond the second area cannot be defined. Therefore, the process proceeds to step S78, and the application # 1 starts the link speed from 30 kbps to the current link speed (CurrentLinkSpeed). Set ⁇ 30: CurrentLinkSpeed ⁇ indicating the value up to PSId. Region. LinkSpeed again. That is, the value of the value ⁇ 30:49 ⁇ set in the process of step S74 is updated. This sets the maximum available value as a parameter. In this case, since the CurrentLinkSpeed of application # 1 is 4800 kbps, which is larger than 50 kbps, the process proceeds to step S79, and the parameter setting processing of the second area is executed.
  • step S79 the application # 1 sets the value “2” as the second region in the PSId. Region. Specifically, “100 000 0 2.2” is set in the PSId. Region.
  • step S80 as in step S73, application # 1 sets ⁇ 1
  • step S81 the application # 1 sets a link speed of 50 kbps, ⁇ 50: 1199 ⁇ indicating 199 kbps to the PSId. Region. LinkSpeed.
  • step S82 application # 1 sets ⁇ 10 ⁇ as X Scale to PSId. Region. XScale, ⁇ 7 ⁇ as Y Scale, and PSId. Region. YScale as in step S75. Set to.
  • step S83 the application # 1 sets ⁇ 1
  • step S84 the application # 1 compares the value of the CurrentLinkSpeed with the lower limit of the next third area, 200 kbps, and determines whether the value is smaller than 200 kbps. If the value of CurrentLinkSpeed is smaller than 200 kbps, the parameter of the third region cannot be set, so the process proceeds to step S85, and application # 1 sets ⁇ 50: CurrentLinkSpeed ⁇ as the Link Speed, and sets PSId: region Set to: linkSpeed again. That is, the value of ⁇ 50: 199 ⁇ set in step S81 is updated.
  • step S84 If it is determined in step S84 that the value of CurrentLinkSpeed is greater than 200 kbps, the process proceeds to step S86, and the parameter setting processing of the third area is performed. Be executed. In this case, since the value of CurrentLinkSpeed of application # 1 is 480 Okbps, NO is determined in step S84, and the processing of step S86 and thereafter is executed.
  • step S86 the application # 1 sets the value “3” of the third region to the PSId. Region. Specifically, a value of “1000002.3” is set in PSId.region.
  • step S87 application # 1 sets ⁇ 1
  • step S88 the application # 1 sets, as the Link Speed, ⁇ 200: 100000 ⁇ indicating 200 kbps power or 100000 kbps in the PSId.
  • step S89 application # 1 sets ⁇ 10 ⁇ as X Scale to PSId. Region. XScale, ⁇ 7 ⁇ as Y Scale, and PISd. Region as in step S82. Set to yScale.
  • step S90 the application # 1 sets the audio codec as 1: CELP 8 k, 2: CELP 16 k, 3: AAC 16 k, 4: AAC 32 k, 5: AAC 44.1 k, or 6: Send ⁇ 1
  • step S91 the application # 1 determines whether or not the performance of the CPU is low as a condition for setting the parameter of the next fourth area.
  • the CPU is a CPU whose clock frequency is lower than a predetermined reference frequency (for example, 800 MHz) or lower in function than a predetermined type (for example, Pentium (registered trademark) 4). In such a case, it is determined that the performance of the CPU is low.
  • step S91 since the performance of the CPU of application # 1 is low, YES is determined in step S91, and in step S92, application # 1 updates the Link Speed of the third area.
  • Link Speed What was set as ⁇ 200: CurrentLinkSpeed ⁇ is set again in PSId. Region. LinkSpeed. That is, the value of ⁇ 200: 10000000 ⁇ set in the processing of step S88 is updated to the maximum usable value.
  • step S91 when it is determined that the performance of the CPU is not low (high) (when the clock frequency is 800 MHz or higher, or the CPU has a function equal to or higher than Pentium (registered trademark) 4). ), The process proceeds to step S93, and a parameter setting process for the fourth area is executed.
  • step S93 the application # 1 sets a value “4” representing the fourth area in the PSId. Redion. Specifically, “100 0000 2.4” is set.
  • step S94 application # 1 sets ⁇ 1
  • step S95 the application # 1 sets ⁇ 200: 100000 ⁇ as the Link Speed to the PSId. Region. LinkSpeed as in the case of step S88.
  • Step S96 the application # 1 sets ⁇ 20 ⁇ indicating 32 Opi xel as the X scale in the PSId. Region. XScale, and ⁇ 15 ⁇ indicating 24 Op ixel as the Y scale, and sets the PSId. Set to yScale.
  • step S97 application # 1 sets ⁇ 1
  • step S98 the application # 1 sets ⁇ 200: CurrentLinkSpeed ⁇ as the Link Speed to PSId. Region. LinkSpeed again. That is, the value of ⁇ 200: 100000 ⁇ set in the process of step S95 is updated.
  • the provider profile (provider profile description) for Yon # 1 is shown in Figure 19.
  • the parameters of the three regions are set by the processing of steps S71 to S92 described above.
  • the set parameters are as described with reference to FIGS. 16 and 17.
  • the profile description creation processing shown in FIG. 16 and FIG. 17 is also executed in the application #n as the service consumer 52, whereby a consumer profile is created.
  • the specific values of the parameters described in each step in FIGS. 16 and 17 are those of application # 1 and not those of application #n, so they are set in each step. The values will be different.
  • the application #n sets “100 0 0 0 0 2” in P Sid in step S71, and in step S72, sets PSId. Set the value "1" to indicate that there is. Specifically, “1 000 0 0 2.1” is set in the PSId. Region.
  • step S73 the application #n sets ⁇ 1I2 ⁇ as the Access Method in the PSId. Region, access.
  • step S74 the application #n sets ⁇ 30:48 ⁇ as the Link Speed in the PSId. Region. LinkSpeed.
  • step S75 application #n sets ⁇ 1 0 ⁇ as X Scale Is set to PSId. Region. XScale, and ⁇ 7 ⁇ is set as Y Scale, and PSId. Region.
  • Step S77 since the value of CurrentLinkSpeed is 48 kbps, it is determined that the value is less than 5 Okbps.
  • the application #n sets ⁇ 30: CurrentLinkSpeed ⁇ as the Link Speed and sets the PSId. Region , set to linkSpeed again. That is, the value of ⁇ 30:49 ⁇ set in step S74 is updated.
  • the consumer profile (consumer profile description) generated by the application # 11 is as shown in FIG.
  • the .area is only the first area.
  • Each parameter set in this area is a value set in the processing of steps S71 to S78 described above.
  • step S 26 of FIG. #n is the link speed as the main factor parameter of the consumer profile.
  • 30: 4 8 (Fig. 20) Determines whether or not there is a portion that matches the value of the main factor parameter of the provider profile.
  • the link speed in the first area is 30:49
  • the link speed in the second area is 50: 199
  • the link speed in the third area is Is 2000: 480
  • there is a matching portion (overlapping portion) in at least one region (first region) the range of 30 to 49 is 30 to 48 , Which overlaps the range of 30 to 48).
  • step S26 of FIG. 6 the application #n performs a registration request process for the provided service, and then creates a profile atom in step S42. Become.
  • This process corresponds to the process performed in step S42 of FIG.
  • the Link Speed of the network to which the service consumer is connected is obtained from the parameter group for each area presented by the service provider. (Region) is selected in consideration of (main factor parameter).
  • step S111 the application #n receives the provider profile description (FIG. 19) transmitted from the application # 1.
  • This process corresponds to the process of step S41 in FIG.
  • step S112 the application #n initializes the value of the internal variable N to 0.
  • step S114 the application #n determines whether the Link Speeds of the areas extracted in the processing of step S113 overlap. In this case, it is determined whether or not the Link Speeds of the first area overlap. If the two Link Speeds do not overlap, the process proceeds to step S116 to determine whether the value N is a value other than 0. In this case, since the value N is 0, it is determined to be NO. That is, in this case, since there is no area where the Link Speeds overlap, the application #n cannot communicate with the application # 1. Then, the process ends.
  • the link speed 30:48 of the first area of FIG. 20 is 30:49 of the link speed of the first area of FIG.
  • step S113 by repeatedly executing the processing from step S113 to step S115, all areas where the Link Speeds overlap are extracted. If the corresponding area of the provider profile and the consumer profile no longer exists, or if it is determined that the link speed does not overlap even if it exists, the processing is performed from step S114 to step S111. Proceeding to 6, it is determined whether the value N is a non-zero value. In this case, the value N corresponds to the number of the highest-numbered area (highest-function area) among the areas where the Link Speeds overlap by the processing from step S113 to step S115. ing. Therefore, when there is an area where even one Link Speed overlaps, the value N is a non-zero value.
  • step S117 the process proceeds to step S117, and the application #n extracts the parameters of the provider profile and the consumer profile in the N-th area.
  • step S118 application #n communicates with the access method of the provider profile and the continuity map It is determined whether the Access Methods of the mouth file overlap.
  • step S119 the value of the variable N is decremented by one. In other words, the area to be processed is changed to an area with only one smaller number.
  • step S116 it is determined whether or not the value N is a value other than 0. If the value N is not a value other than 0, that is, if it is determined to be 0, the profile atom is eventually Processing is terminated because it was not found.
  • the processing target when there is at least one parameter that does not overlap among the five-dimensional parameters, the processing target is moved to an area with a lower number. Similarly, when it is determined in step S126 to be described later that X scale and Y scale do not overlap, and when it is determined in step S129 that Audio does not overlap, the next lower level is also set. The processing target is moved to the area of the number.
  • the access method in the first area is ⁇ 1 I 2 ⁇ , so that both overlap, so the process proceeds to step S 120 and the application is executed.
  • #n it is determined whether or not priority is given to HTTP Tunnelling. If a firewall exists between the Internet and the Internet, priority has been given to HTTP Tunnelling.
  • step S121 the process proceeds to step S121, and the application # 11 sets ⁇ 2 ⁇ (FIG. 13) in AtomAccess which is an access method of the profile atom (Profile Atom).
  • step S122 the application case # ⁇ is sent to AtomAccess by ⁇ 1 ⁇ (FIG. 1). 3) Set.
  • step S122 After the processing of step S122 or step S122, the process proceeds to step S123, and the application #n determines that the value of CurrentLinkSpeed is equal to or less than the maximum value of LinkSpeed in the provider profile. It is determined whether or not. If the value of Current LinkSpeed indicating the effective throughput of the line to which application #n is connected is equal to or less than the maximum value of the Link Speed parameter of the provider profile, in step S124, application #n Set the value of CurrentLinkSpeed to AtomLinkSpeed.
  • step S125 when it is determined in step S123 that the value of CurrentLinkSpeed is larger than the maximum value of the LinkSpeed of the provider profile, in step S125, the application #n sets the value of AtomLinkSpeed to AtomLinkSpeed. Set the maximum LinkSpeed of the provider profile.
  • AtomLinkSpeed of the profile atom is set to ⁇ 48 ⁇ .
  • step S126 the application #n determines whether or not the X and Y scales of the provider profile and the consumer profile overlap. If they do not overlap, as described above, the process proceeds to step SI 19, where the value N is decremented by 1 and the process shifts to processing of an area with a smaller number by 1. If it is determined in step S126 that X scale and Y scale overlap, in step S127, application #n sets the maximum value of X scale that overlaps AtomXscale, which is the X scale of the profino rheatom. Set. Further, in step S128, the application #n sets the maximum value of the overlapped Y scale to AtotnYscale, which is the Y scale of the profino rare atom.
  • the maximum value of X scale is 16 pixels (10 X 16 pixels), and the maximum value of Y scale is 1 12 pixels (7 X 16 pixels) If, the profile atom AtomXscale is set to ⁇ 10 ⁇ and AtomYscale is set to ⁇ 7 ⁇ .
  • step S129 it is determined whether or not the audio codec of the provider profile and the audio codec of the consumer profile overlap. If they do not overlap, go to step S 119, as described above, and the value N is decremented by 1 to 1 The processing shifts to processing of the area with the smallest number.
  • step S130 If it is determined in step S129 that the audio codec of the provider profile overlaps with the audio codec of the consumer profile, the process proceeds to step S130, where application #n is the audio codec of the professional For AtomAudio, select and set the best audio quality among the overlapping Audio Codecs.
  • application #n is the audio codec of the professional For AtomAudio
  • parameter numbering is performed so that the value increases in the order from the lowest sound quality to the highest sound quality. By selecting the one with the highest number, the one with the highest sound quality is selected. For example, if both the provider profile and the consumer profile have Audio Codec power of S0: None, or 1: CELP 8k, ⁇ 1 ⁇ is set to the AtomAudio of the profile atom. .
  • step S131 the application #n creates (assembles) a profile atom based on the values of the parameters of the profile atom determined in the processing of each of the above steps.
  • the profile atom generated as described above is notified to the application # 1 by the process of step S42 in FIG.
  • the detailed information representing the service content is generated by using the M-dimensional parameter which is a parameter related to the service.
  • the two devices can exchange information quickly and reliably via the network.
  • By normalizing parameters by basic units it is possible to express detailed information with smaller numbers. Therefore, comparison processing becomes easy.
  • the range is easily set by using an opening price indicating the beginning of the range, a closing price indicating the end of the range, and a step of defining a range of change between the opening price and the closing price. It can be expressed in a form that can be compared.
  • the service is a service that sends or receives data via a network, and allows two devices to exchange information necessary to exchange information quickly and reliably via the network. .
  • the detailed information can be easily specified.
  • the destination can easily identify the detailed information.
  • M 5
  • the present invention can be applied to the case where various services are provided and used in addition to the service of transmitting and receiving AV data.
  • processing can be executed by hardware in the case of a network-compatible CE device or the like. Of course, it can also be executed by software.
  • various functions are implemented by installing a computer or a program in which a program constituting the software is installed in dedicated hardware or various programs. It is installed on a general-purpose personal computer that can be executed, for example, from a network or a recording medium.
  • this recording medium is a magnetic disk on which the program is recorded, which is distributed separately from the main unit to provide the program to users.
  • 1 4 1 (including floppy disk), optical disk 1 4 2 (including CD-ROM (Compact Disk-Read Only Memory), DVD (Digital Versatile Disk)), magneto-optical disk 1 4 3 (MD ( R0M that contains programs that are provided to users in a state that they are not only comprised of package media consisting of mini-disks) or semiconductor memory 144, but are also provided to the user in a state that they are pre-installed in the device body. It is composed of 122 and the hard disk included in the storage unit 128.
  • steps for describing a program to be recorded on a recording medium are not limited to processing performed in chronological order according to the described order, but are not necessarily performed in chronological order. Alternatively, it also includes processing that is executed individually.
  • a system refers to an entire device including a plurality of devices.
  • Industrial applicability As described above, according to the first aspect of the present invention, it is possible to generate information representing the contents of a service. In particular, it is possible to generate detailed information that allows easy confirmation of the service contents. This makes it possible to reliably inform the other party of the contents of the service, and it is possible to quickly and reliably connect to the other party's device and exchange data.
  • the contents of the service can be expressed.
  • it can be expressed in a state where the contents of the service can be easily confirmed.
  • it is possible to reliably check the contents of the service, and it is possible to quickly and reliably connect to the device of the other party and exchange data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本発明は能力が異なる装置間で確実に接続ができるようにしたプログラム、情報処理方法および装置、並びにデータ構造に関する。相手側に提供できるサービスは、Access Method, Link Speed, X scale, Y scale、およびAudio Codecの5次元のパラメータで表現される。各パラメータの値は、全て整数値で表される。Access Methodは、RTSP/TCP+RTP/UDPの場合、番号1で表現され、HTTP tunnellingの場合、番号2で表現される。Link Speedは、kbpsを基本単位として正規化され、X scaleとY scaleは16 pixelを基本単位として正規化される。Audio Codecも、番号0乃至6が所定の方式に対応している。本発明は、パーソナルコンピュータに適用できる。

Description

明細書
プログラム、 情報処理方法および装置、 並びにデータ構造 技術分野
本発明は、 プログラム、 情報処理方法および装置、 並びにデータ構造に関し、 特に、 能力が異なる装置間で確実に接続ができるようにしたプログラム、 情報処 理方法および装置、 並びにデータ構造に関する。 背景技術
最近、 インターネットが普及し、 インターネットを利用して各種のデータを相 手側と授受するユーザが増えてきた。
しかしながら、 従来、 例えば、 相手側の装置に対して所定の画像を伝送しょう とした場合、 相手側の装置の能力が自分自身の能力と異なるため、 実質的には、 相互に接続することができず、 結局、 画像データを伝送することができなくなる といった事態が発生することがあった。
これを防ぐには、 ユーザは、 相手側の装置の能力を事前に確認する必要がある。 例えば、 ス トリーミングを行う場合に、 RTSP (Real Time Streaming Protoco 1) (Real Time Streaming Protocol, IETF RFC 2326, Apri l 1998, <http : //w w . ietf. org/rfc/rfc/2326. txt>) では、 サーバとクライアント間でストリー ムのパラメータを交換する方法として、 SDP (Sess ion Descript ion Protocol) (SDP : Session Descript ion Protocol, IETF RFC 2327, Apri l 1998 , <http : / /www. ietf. org/rfc/rfc/2327. txt» を用いることが規定されている。
しかしながら、 RTSP には、 具体的にどのようにしてパラメータを交換するの かが規定されておらず、 結局、 サーバとクライアント間でデータを確実に授受す ることができない課題があった。 発明の開示 本発明は、 このような状況に鑑みてなされたものであり、 相手側の装置と確実 に接続し、 データを授受することができるようにするものである。
本発明のプログラムは、 サービスに関するパラメータであって、 数値化された M次元のパラメータを取得し、 取得された前記パラメータにより、 前記サービス の内容を表す詳細情報を生成する生成ステップをコンピュータに実行させること を特徴とする。
前記生成ステップは、 基本単位により正規化された前記パラメータを取得する ようにすることができる。
前記生成ステップは、 他の前記パラメータとの共存が制限される可能性が最も 高い主要因パラメータに基づいて、 前記パラメータを複数の領域に区分し、 前記 領域ごとに前記パラメータを取得するようにすることができる。
前記生成ステップは、 前記各領域ごとに、 M次元の前記パラメータのそれぞれ を、 1次元の整数値として取得するようにすることができる。
前記生成ステップは、 前記詳細情報を、 前記整数値と論理記号の組み合わせで 表現するようにすることができる。
前記生成ステップは、 前記論理記号として、 複数の前記整数値のいずれか 1つ の選択を表現する第 1の記号と、 前記整数値の集合を表す第 2の記号を用いるよ うにすることができる。
前記生成ステップは、 前記第 2の記号として、 範囲の始まりを表す始値、 前記 範囲の終わりを表す終値、 並びに前記始値と前記終値の間の変化幅を規定するス テップを用いるようにすることができる。
前記サービスは、 ネットワークを介してデータを送信または受信するサービス であるようにすることができる。
前記生成ステップは、 前記サービスを識別する識別子をさらに取得し、 前記詳 細情報に付加するようにすることができる。
前記識別子を、 前記ネットワークを介して所定の送信先に送信する第 1の送信 ステップようにすることができる。 前記送信先から、 前記識別子に対応する前記詳細情報の送信の要求を受信する 第 1の受信ステップと、 前記第 1の受信ステップの処理により受信された要求に 基づいて、 前記詳細情報を、 前記ネットワークを介して前記送信先に送信する第 2の送信ステップと、 前記送信先から送信されてきた、 前記詳細情報に含まれる M次元の前記パラメータを受信する第 2の受信ステップと、 前記第 2の受信ステ ップの処理により受信された M次元の前記パラメータに基づいて、 前記送信先と 通信する通信ステップとをさらに含むようにすることができる。
前記ネットワークを介して送信されてきた前記識別子を受信する第 1の受信ス テツプをさらに含むようにすることができる。
前記第 1の受信ステップの処理により受信された前記識別子の送信者に、 前記 識別子に対応する前記詳細情報であって、 前記送信者により生成された前記識別 情報の送信を要求する要求ステップと、 前記要求ステップの処理による要求に基 づいて、 前記識別子の送信者から前記ネットワークを介して送信されてきた前記 詳細情報を受信する第 2の受信ステツプと、 前記第 2の受信ステップの処理によ り受信された前記詳細情報を、 前記生成ステップの処理により生成した前記詳細 情報と比較し、 2つの前記詳細情報の両方を満足する M次元の前記パラメータを 設定する設定ステップと、 前記設定ステップの処理により生成された M次元の前 記パラメータを、 前記識別子の送信者に送信する送信ステップと、 前記送信ステ ップの処理により送信された M次元の前記パラメータに基づいて、 前記送信者と 通信する通信ステップとをさらに含むようにすることができる。
本発明の情報処理方法は、 サービスに関するパラメータであって、 数値化され た M次元のパラメータを取得し、 取得された前記パラメータにより、 前記サービ スの内容を表す詳細情報を生成する生成ステップを含むことを特徴とする。 本発明の情報処理装置は、 サービスに関するパラメータであって、 数値化され た M次元のパラメータを取得し、 取得された前記パラメータにより、 前記サービ スの内容を表す詳細情報を生成する生成手段を備えることを特徴とする。
本発明のデータ構造は、 M次元のパラメータで構成され、 前記パラメータは、 整数値と論理記号の組み合わせで構成されることを特徴とする。
前記論理記号は、 複数の整数値のいずれか 1つの選択を表現する第 1の記号と、 整数値の集合を表す第 2の記号とで構成されるようにすることができる。
前記第 2の記号は、 範囲の始まりを表す始値、 前記範囲の終わりを表す終値、 並びに前記始値と前記終値の間の変化幅を規定するステップで構成されるように することができる。 ·
前記サービスを識別する識別番号をさらに含むようにすることができる。 号と が用いられることを特徴とする。
本発明のプログラム、 情報処理装置および方法においては、 サービスに関する 数値化された M次元のパラメータが取得され、 そのパラメータにより、 サービス の内容を表す詳細情報が生成される。
本発明のデータ構造においては、 データ構造が、 M次元のパラメータで構成さ れ、 パラメータは、 整数値と論理記号の組み合わせで構成される。 図面の簡単な説明
図 1は、 本発明を適用したネットワークシステムの構成例を示す図である。 図 2は、 ソフ トウェアの階層を説明する図である。
図 3は、 本発明を適用したネットワークシステムの動作の概要を説明する図で ある。
図 4は、 図 1のネットワークシステムの動作を説明するフローチャートである, 図 5は、 図 1のネットワークシステムの動作を説明するフローチヤ一トである, 図 6は、 図 1のネットワークシステムの動作を説明するフローチヤ一トである, 図 7は、 図 1のネットワークシステムの動作を説明するフローチヤ一トである, 図 8は、 プロフアイノレスペースの例を示す図である。
図 9は、 プロファイルディスクリプシヨンの例を示す図である。
図 1 0は、 プロファイルア トムの例を示す図である。
図 1 1は、 サービスプロバイダの一覧の表示例を示す図である。 2
5
図 1 2は、 パーソナルコンピュータの構成例を示すブロック図である。
図 1 3は、 プロファイルの構成を示す図である。
図 1 4はプロファイルの基本単位を説明する図である。
図 1 5は、 プロファイルの領域を説明する図である。
図 1 6は、 プロファイルディスクリプシヨン作成処理を説明するフローチヤ一 トである。
図 1 7は、 プロファイルディスクリプシヨン作成処理を説明するフローチヤ一 トである。
図 1 8は、 プロファイルの階層構造を説明する図である。
図 1 9は、 プロバイダプロファイルの例を示す図である。
図 2 0は、 コンシユーマプロファイルの例を示す図である。
図 2 1は、 プロファイルァトム生成処理を説明するフローチヤ一トである。 図 2 2は、 プロファイルァトム生成処理を説明するフローチヤ一トである。 発明を実施するための最良の形態
図 1は、 本発明を適用したネットワークシステムの構成例を表している。 この ネットワークシステムにおいては、 インターネット 1を介して、 メディアインス タントメッセージサーバ(Media IM Server) 1 4に対して、 ユーザ端末として、 ノヽ0一ソナ/レコンピュータ 1 1, 1 2 , 並びこ PDA (Personal Digital Assistant s) 1 3が接続されている。 メディア サーバ 1 4にはまた、 アプリケ一ション サーバ 1 5もインターネット 1を介して接続されている。
パーソナルコンピュータ 1 1には、 ミ ドルウェアとしてメディ了 頂 クライア ント # 1が実装されており、 パーソナルコンピュータ 1 2には、 ミ ドルウェアと してメディア IM クライアント # 2が実装されている。 同様に、 PDA 1 3には、 ミ ドルウェアとしてメディア IMクライアント # 3が実装されている。
アプリケーションサーバ 1 5には、 ミドルウェアとしてメディア IM クライア ント # 4が実装されている。 アプリケーションサーバ 1 5は、 プリントサービス # 1乃至プリントサービス # 7を、 アクセスしてきたユーザに対して提供する。 メディア IM サーバ 1 4は、 これらのメディア IM クライアント # 1乃至メデ ィァ IMクライアント # 4の相互のィンスタントメッセージ処理を制御する。 図 2は、 ソフトウエアの構成を表している。 上述したメディァ IM クライアン ト # 1乃至メディア IM クライアント # 4は、 図 2において、 メディア IM クラ イアントミ ドルウェア 3 2として示されている。 このメディア IM クライアント ミ ドルウェア 3 2は、 IPネッ トワーク トランスポート層 3 1と API (Applicatio n Program Interface) 3 3との間に配置されている。 API 3 3は、 アプリケー シヨン # 1乃至アプリケーション # Nと、 メディア IM クライアントミ ドルゥェ ァ 3 2との間のインタフェース処理を実行する。 メディア IM クライアントミ ド ルウェア 3 2は、 API 3 3と IP ネットワーク トランスポート層 3 1 とのインタ フェース処理を実行する。
アプリケーション(Appl ication) # 1乃至アプリケーション # Nは、 それぞれ サービスエンティティを構成する。
このネッ トワークシステムにおいては、 図 3に示されるように、 サービスを提 供する側のアプリケーション (図 3の例では、 Appl ication # 1 ) がサービスプ ロバイダ(Service Provi der) 5 1とされ、 そのサービスの提供を受ける側のァ プリケーシヨン (図 3の例では、 Appl icat ion n ) 力 S (サービスを消費する側 カ サービスコンシユーマ(Service Consumers) 5 2とされる。
サービスプロバイダ 5 1とサービスコンシユーマ 5 2は、 対応するメディア I M クライアント # P 1またはメディア IM クライアント # C 1を介して、 インス タントメッセージのプレゼンス機能、 メッセージング機能、 または Info/Query 機能を用いて、 接続のためのネゴシエーション処理を実行する。 ネゴシエーショ ンにより、 相手側と接続が可能であることが確認された後、 サービスプロバイダ 5 1とサービスコンシユーマ 5 2は、 ピアツーピア (P 2 P ) で、 接続処理を実 行する。
サービスプロバイダ 5 1とサービスコンシユーマ 5 2は、 それぞれサービスェ 3 009632
7
ンティティを構成する。 サービスエンティティは、 そのものが 1つのアプリケー シヨンである場合もあれば、 複数のサービスエンティティの集合が 1つのアプリ ケーシヨンを形成する場合もある。 以下においては、 簡単のため、 1つのサービ スエンティティが 1つのアプリケーションに対応しているものとする。
次に、 接続処理の詳細を図 4乃至図 7のフローチャートを参照して説明する。 ステップ S 1において、 サービスプロバイダ 5 1としてのアプリケーション# 1は、 名簿(Roster)に登録されている各メンバー(Buddy)に対して、 自分自身力 S 提供可能なサービスの種別を表すプロファイルスペース ID (Profi le Space ID) をアナウンスすることを、 メディア IM クライアント # P 1に指令する。 メディ ァ IM クライアント # P 1は、 ステップ S 2において、 この指示を受け取ると、 ステップ S 3において名簿に予め登録されているメンバーに対して、 プロフアイ ルスペース IDをプレゼンスによって通知する。
ここで、 メンバー (Buddy) は、 メディア IM サーバ 1 4が提供するインスタ ン トメッセージサービスにおいて、 あるユーザ (または、 メディア IM クライア ント) に対するメッセージ通信の相手のことであり、 メディア IM サーバ 1 4に 予め登録されているユーザ ID や、 ユーザ ID に対応付けられたニックネーム等 で表される情報である。
また、 名簿(Roster)は、 そのメンバー (Buddy) のリス トであり、 すなわち、 ユーザ (またはメディア IM クライアント) 力 メッセージ通信の相手として設 定した他のユーザ (または、 他のメディア IMクライアント) のユーザ ID (また はニックネーム) のリス トである。 この、 ユーザ毎の名簿(Roster)は、 メディ 了 IMサーバ 1 4において一元管理される。
例えば、 メディア IM クライアント # P 1のユーザがメディァ IM クライアン ト#じ 1のユーザをメッセージ通信の相手として設定している場合、 メディア I M クライアント # P 1に対応する名簿には、 メディア IM クライアント # C 1の ユーザ (ユーザ ID 等) がメンバーとして登録されている。 逆に、 メディア IM クライアント # C 1のユーザがメディァ IM クライアント # P 1のユーザをメッ セージ通信の相手として設定している場合、 メディア IM クライアント # C 1に 対応する名簿には、 メディア IM クライアント # P 1のユーザがメンバーとして 登録されている。
このように、 インスタントメッセージによるメッセージ通信を行う場合、 互い をメンバーとして予め名簿に登録しておかなければならない。 例えば、 第 1のュ 一ザが、 他のメディア IM クライアントの第 2のユーザをメンバーとして名簿に 登録しているが、 第 2のユーザが第 1のユーザをメンバーとしてそのクライアン トに登録してない場合、 メッセージ通信を行うためには、 第 1のユーザは、 メッ セージ通信の前に第 2のユーザにメンバーとして名簿に登録させる必要がある。 この名簿は、 メディア IM クライアントよりユーザがメディァ IM サーバ 1 4 にログイン (接続) すると、 必要に応じてメディア IM サーバ 1 4よりそのメデ ィァ IMクライアントに提供され、 ディスプレイ等に GUI (Graphical User Int erface) として表示される。 その際、 メディア IM サーバ 1 4は、 上述した名簿 とともに、 ユーザが目的のメンバーを容易に識別することができるようにするた めのアイコンや、 そのメンバーに関する情報 (例えば、 通信可能か否かを示す情 報) であるプレゼンス等の情報をメディア IM クライアントに供給する。 名簿等 を供給されたメディア IM クライアントは、 その名簿の各メンバーにアイコンや プレゼンスを関連付けて表示する。
なお、 以上のような名簿を一元管理する専用のサーバを設けるようにしてもも ちろんよい。
なお、 プロファイルスペース ID 並びにアプリケーション ID は、 図 1のネッ トワークシステムに示されるような、 インスタントメッセージのプレゼンス機能、 メッセージング機能、 および Info/Query機能をベースとして、 アプリケーショ ンレベルでのプロファイルのネゴシエーションを実現するアプリケーションプラ ットフォームの運用者によって、 予め登録され、 管理されている。 従って、 サー ビスコンシユーマ 5 2は、 その ID に基づいて、 その内容を特定することが可能 となる。 2
9
図 8は、 パーソナルコンピュータ 1 1において動作する MPEG4ストリーミン グサーバアプリケーションを定義するためのプロファイルスペースの例を表して いる。 同図に示されるように、 プロファイルスペースは、 そのパーソナルコンビ ユータにおいて提供されるサービスを表現する M次元の空間 (スペース) であり、 各プロファイルスペースを識別するための ID であるプロファイルスペース ID と M次元のパラメータにより構成される。 この例においては、 プロファイルスぺ ース ID は、 「1 000000 1」 とされている。 また、 パラメータは、 access method, bit rate (link speed), X scale, Y scale, audio codec に り構 成されている。 この例の場合、 通信に用いられるプロ トコルを表す access met h。d の値は、 1 (RTSP/TCP+RTP/UDP)または 2 (HTTP tunnelling)とされる。 接 続されている通信回線の速度を表す bit rateは、 6k乃至 5 1 2kbps とされる。 画面の横方向の大きさを表す X scaleは 1 28 pixel乃至 3 52 pixel とされ、 また画面の縦方向の大きさを表す Y scaleは 9 6 pixel乃至 288pixel とされ ている。
ここで、 プロファイルの access method は、 通信に用いられるプロトコノレを 表しており、 例えば、 番号 1で表される RTSP(Real Time Streaming Protoco D/TCP (Transmission Control Protocol) +RTP (Real Time Transport Protoc ol)/UDP (User Datagram Protocol) s または番号 2で表される HTTP (Hyper Tex t Transfer Protocol) tunnelling のレヽずれカ とされる。 また、 bit rate ま、 使用されている通信回線のデータ転送速度を表す。 すなわち、 bit rate は、 了 プリケーション # 1が MPEG 4ス トリーミングサービスを行う際の MPEG 4データ 転送速度を決定するための情報である。 .
さらに、 ビデオの圧縮伸長方式を表す Video Codec は、 MPEG4とされている。 オーディオの圧縮伸長方式を表す audio codec は、 なし(none)、 CELP(Code Ex cited Linear Predictive) 8 k, CELP 1 6 k, AAC (Advanced Audio Coding) 1 6k, AAC 32k, AAC 44. Ik, AAC 48 kのいずれかとされる。
このように、 パラメータは全て数値によって表現されている。 これにより、 サ 一ビスを提供するサービスプロバイダと、 サービスの提供を受ける (サービスを 利用する) サービスコンシユーマとの間で、 迅速且つ簡単に、 サービスの利用の 可否を判定することができる。
図 4に戻って、 メディア IM サーバ 1 4は、 ステップ S 4において、 メディア IM クライアント # P 1からの通知を受け取ると、 ステップ S 5において、 これ を名簿内の各メンバーにアナウンスする。
アナウンスを受けたメンバ一 (サービスコンシユーマ 5 2 ) の 1人であるメデ ィァ IM クライアント # C 1は、 ステップ S 6において、 この通知を受け取ると、 ステップ S 7において、 プロファイルスペース ID とサービスプロバイダ 5 1側 のアプリケーション ID (いまの場合、 アプリケーション # 1の ID) に基づいて、 自分自身がこのプロファイルを受け入れ可能であるか否かを判定する (検証す る) 。 上述したように、 このシステムの参加者は、 これらの ID に基づいて、 そ の内容 (図 8に示されているような、 相手側装置の機能) を特定することができ るので、 この判定が可能である。
例えば、 各メディア IM クライアント (すなわち、 パーソナルコンピュータ 1 1 , 1 2等) は、 図 8に示されるような、 プロファイルに含まれるパラメータの 種類や、 そのパラメータが取り得る値の集合に、 アプリケーション ID およびプ 口ファイル ID を関連付けたテーブルと、 サービスコンシユーマとなるアプリケ ーシヨンに関する情報を予め保持しており、 ステップ S 7において、 保持してい るテーブルを参照し、 ステップ S 6において取得したアプリケーション ID ゃプ 口ファイル ID に対応するプロファイルに含まれるパラメータの種類やそのパラ メータが取り得る値の集合を特定し、 さらに、 保持しているアプリケーションに 関する情報に基づいて、 その特定されたパラメータ (パラメータに対応するプロ ファイル) が、 サービスコンシユーマとなるアプリケーションの有する機能に対 応しているか否か (すなわち、 受け入れ可能であるか否か) を判定する。
なお、 この、 ID と内容の対応関係を記述したテーブルを各装置 (パーソナル コンピュータ 1 1, 1 2等) に記憶させておくこともできるが、 所定のサーバ (例えば、 メディア IM サーバ 1 4 ) に記憶させておくこともできる。 この場合、 ユーザが検証のために、 このテーブルを利用する度に、 ユーザに対して課金する ようにすることもできる。 これにより、 メディア IM サーバ 1 4の運用者は、 利 益を得ることができる。
メディア IM クライアント # C 1は、 サービスプロバイダ 5 1からプレゼンス を受けたプロファイルの内容が、 サービスコンシユーマが受け入れ可能であると 判断した場合、 ステップ S 8において、 その受け入れ可能なサービスコンシユー マ 5 2となるアプリケーション # nに対して、 プレゼンスの内容 (図 8に示され るような、 プロファイルスペース ID に対応するプロファイル) を通知する。 ス テツプ S 9において、 アプリケーション # nは、 メディア IM クライアント # C 1からの通知を受信する。
なお、 サービスプロバイダからのアナウンス (ステップ S 4乃至 S 6 ) を受け 取った各メディア IM クライアントは、 ステップ S 7における検証の結果、 サー ビスコンシユーマとなる適切なアプリケ一ションが存在しないと判断した場合、 受信したアナウンスを無視する。
サービスコンシユーマ 5 2としてのアプリケーション# nは、 サービスプロバ イダ 5 1のプレゼンスの内容を受信すると、 ステップ S 1 0において、 サービス プロバイダ 5 1から提供されたサービスの詳細情報を取得するように、 メディア IMクライアント # C 1に指示する。 ステップ S 1 1において、 メディア IMクラ イアント#〇 1は、 この指示を受け取ると、 ステップ S 1 2において、 サービス プロバイダ 5 1が提供するサービスの、 上述したプロファイルスペースのパラメ ータ群の一部または全部のパラメータにより構成されるプロバイダプロファイル の送信を、 メッセージング機能または Info/Query機能を用いて要求する。 この 要求には、 サービスプロバイダ 5 1を指定するための宛先情報が含められている。 なお、 Info/Query 機能を用いて通知や要求を行った場合、 メ ッセージング機 能を用いた場合と異なり、 受け手側より受信確認の応答が送り手側に供給される。 例えば、 メディア IMクライアント # P 1のアプリケーション # 1がメディ了 IM サーバ 1 4より名簿(Roster)を取得する場合、 メディア IMクライアント # P 1 は、 Info/Query機能により、 GETコマンド等をメディア IMサーバ 1 4に供給す る。 メディア IMサーバ 1 4は、 この GET コマンドを取得すると、 取得したこと を示す応答を送信元のメディア IM クライアント # P 1を介してアプリケーショ ン # 1に供給する。 アプリケーション # 1は、 この応答により、 GET コマンドが メディア IMサーバ 1 4に供給されたことを確認することができる。
このようにアプリケーションレベルにおいて確認応答が送信先より送信元に対 して供給されるので、 アプリケーションは、 Info/Query 機能を用いて通知や要 求を行うことにより、 確実にその通知や要求を送信先に供給することができる。 これに対してメッセージング機能を用いて通知や要求を行う場合、 その通知や 要求を取得した送信先のアプリケーションは、 送信元に上述した確認応答を供給 しない。 従って、 送信元のアプリケーションは、 メッセージング機能を用いて供 給した通知や要求を、 その送信先が取得したか否かを把握することができないの で、 Info/Query 機能を用いた場合と比較して、 目的の送信先に確実に供給する ことができない。 しかしながら、 メッセージング機能を用いた通知や要求の場合、 Info/Query 機能を用いた場合と比較して、 通信処理が簡潔になるので、 処理の 負荷を減らすことができる。 このメッセージング機能は、 例えば、 メディア IM クライアント間におけるテキスト文書からなるインスタントメッセージ (IMSTA NT MESSAGING) の授受に用いられる。
なお、 以上のような Info/Query機能を用いた通知や要求、 またはメッセージ ング機能を用いた通知や要求は、 メディア IM クライアントだけでなくメディア IMサーバも使用可能であり、 メディア IM クライアントとメディア IMサーバ間 における通知や要求だけでなくメディア IM クライアント間における通知や要求 等にも使用可能である。
さらに、 これらの Info/Query機能やメッセージング機能を用いた通知や要求 は、 コマンドだけでなく、 メッセージやパラメータ等、 どのようなデータを含ん でいても良く、 どのような内容であっても良い。 2
13
以上のように、 メディア IM クライアント # P 1、 メディア IM クライアント # C 1、 およびメディア IMサーバ 1 4は、 メッセージング機能または Info/Que ry機能を用いてデータ (通知や要求等も含む) の授受を行う。
上述したように、 プロバイダプロファイルを送信する場合、 メディア IM クラ イアン # P l等は、 メッセージング機能または Info/Query機能のいずれを用 いて送信してもよい。 ただし、 Info/Query 機能を用いてプロバイダプロフアイ ルを送信する場合、 そのプロバイダプロファイルの送信に対する応答が、 送信先 より送信元に供給される。
メディア IM サーバ 1 4は、 ステップ S 1 3において、 メディア IM クライア ント # C 1からの要求を受信すると、 ステップ S 1 4において、 これをメディア IMクライアント # P 1に送信する。 メディア IMクライアント # P 1は、 ステツ プ S 1 5において、 メディア IM サーバ 1 4からの要求を受信すると、 ステップ S 1 6において、 これをサービスプロパイダ 5 1 としてのアプリケ一ション # 1 に供給する。
アプリケーション # 1は、 ステップ S 1 7において、 メディア IM クライアン ト # P 1からの要求を受信すると、 ステップ S 1 8において、 サービスコンシュ 一マ 5 2に対して提供するプロバイダプロファイルを組み立て、 メディア IM ク ライアント # p 1に送信する。 このプロバイダプロファイルの組み立ての詳細は、 図 1 6と図 1 7のフローチヤ一トを参照して後述する。
アプリケーション # 1により生成されるプロバイダプロファイルの内容は、 プ 口ファイルスペース (図 8 ) で定義されているパラメータ群のうち、 サービスプ ロバイダ 5 1がネットワークのリンクスピードや CPU の負荷状況などのランタ ィム環境を考慮した上で、 サービスコンシユーマ 5 2に対して実際に提供できる パラメータの値の範囲を具体的に設定したものとされる。
図 9は、 このようにして、 生成されるプロバイダプロファイルの例を表してい る。 図 9では、 このプロバイダプロファイルが、 プロファイルディスクリプショ ン(Profile Description)として表されている。 P T/JP2003/009632
14
図 9は、 サービスプロバイダ 5 1としてのアプリケーション# 1が VGA (Video Graphics Array)系の画角 ( 1 6 0 pixel X 1 2 0 pixel または 3 2 0 pixel X 2 4 O pixel) のみをサポートし、 力、つ PHS (Personal Handyphone System)相 当のネットワーク (リンクスピードの最大値が 1 2 8 kbps のネットワーク) に 接続されている場合の例を表している。 従って、 図 9の例においては、 ネットヮ 一クのリンクスピードとの兼ね合いから、 画角が図 8のプロファイルスペースで 規定されている範囲のうち、 1 6 O pixel X 1 2 O pixel (X scale X Y scale)の みに限定されている。
また、 図 9の例においては、 プロファイルスペース ID は、 「1 0 0 0 0 0 0 1」 とされており、 図 8に示されるプロファイルスペースに対応するプロフアイ ルディスクリプシヨンであることが示されている。 すなわち、 上述したように、 メディア IM クライアント # C 1がステップ S 1 2においてプロバイダプロファ ィルを要求すると、 その要求に応じて、 図 9に示されるような、 ステップ S 3に おいてメディア IM クライアント # P 1が供給したプロファイルスペース ID に 対応するプロファイルディスクリプシヨン (プロバイダプロファイル) が生成さ れる。
図 9の access methodは、 RTSP/TCP+RTP/UDPまたは HTTP tunnel lin のい ずれかとされる。 bit rateは、 6 k乃至 1 2 8 kbps とされている。 さらに、 au dio codecは、 なし(none)または CELP 8 kとされている。
メディア IM クライアント # P 1は、 ステップ S 1 9において、 アプリケーシ ョン# 1からのプロバイダプロファイルの応答を受信すると、 ステップ S 2 0に おいて、 これをアプリケーション # nに向けてメッセージング機能または Info/ Query機能を用いて返信する。 - メディア IM サーバ 1 4は、 ステップ S 2 1において、 メディア IM クライア ント # P 1からの返信を受信すると、 ステップ S 2 2において、 これをメディァ IMクライアント # C 1に送信する。 ステップ S 2 3において、 メディア IMクラ イアント# < 1は、 この返信を受信すると、 それをステップ S 2 4において、 ァ プリケーシヨン # nに送信する。 アプリケーション # nは、 ステップ S 2 5にお いて、 このサービスプロバイダ 5 1からの返信 (図 9に示されるプロバイダプロ ファイルが含まれている) を受信する。
アプリケーション# 11は、 ステップ S 2 5の処理で受信したサービスプロバイ ダ 5 1のプロバイダプロファイルと、 自分自身が形成するコンシユーマプロファ ィルとのマツチング (比較) を行う。 上述したプロバイダプロファイルとコンシ ユーマプロファイルは、 後述する図 1 6と図 1 7のフローチヤ一トで示される処 理で生成される。
ここで、 プロバイダプロファイルは、 上述したように、 メディア IM クライア ント # C 1によりサービスコンシユーマが受け入れ可能であると判断された内容 のプロファイルスペースに基づいて、 アプリケーション# 1が作成したプロファ ィルである。 すなわち、 このプロバイダプロファイルに対応するプロファイルス ペースは、 サービスコンシユーマとしてのアプリケーション# nにも対応してい る。 従って、 アプリケーション # nは、 アプリケーション # 1がプロバイダプロ ファイルを作成する場合と同様の処理を行い、 サービスコンシユーマに対応する、 このプロファイルスペースのパラメータ群の一部または全部のパラメータにより 構成されるプロファイル (すなわち、 コンシユーマプロファイル) を作成するこ とができる。 アプリケーション # nは、 受信したサービスプロバイダ 5 1のプロ バイダプロフアイノレと、 このように作成されたコンシユーマプロフアイノレとのマ ツチングを行う。
上述したように、 サービスプロバイダが提示するプロバイダプロファイル (プ 口ファイルディスクリプシヨン) は、 数値だけで表現されているため、 サービス コンシユーマ 5 2は、 自分自身のプロファイルを構成する各パラメータの値の範 囲と単純に 1次元での比較を行うだけで、 整合性を簡単に検証することができるな ここで、 次元とは、 パラメータの実質的な数を意味する。 すなわち、 サービス コンシユーマ 5 2は、 コンシユーマプロフアイノレの各パラメータの値の範囲を、 そのパラメータに対応するプロバイダプロファイルのパラメータの値の範囲とを 2003/009632
16
1対 1で、 1つずつ比較する。
そして、 コンシユーマプロファイルの各パラメータの値の範囲の一部または全 部が、 そのパラメータに対応するプロバイダプロファイルのパラメータの値の範 囲に重なる場合、 すなわち、 サービスコンシユーマ 5 2が、 サービスプロバイダ 5 1より提供されたサービスを取得することができる (アプリケーション # 1が 送信したデータを、 アプリケーション # nが受け入れることができる) 範囲が存 在すると判定した場合、 サービスコンシユーマ 5 2は、 整合性が確認できたと判 定する。
アプリケーション # nは、 整合性が確認できた場合、 ステップ S 2 6において、 サービスプロバイダ 5 1に対して、 提供されたサービスへの自分自身 (サービス コンシユーマ 5 2 ) の登録を要求する。 メディア IM クライアント # C 1は、 ス テツプ S 2 7において、 アプリケーション # nからこの指示を受け取ると、 ステ ップ S 2 8において、 サービスプロバイダ 5 1に対して、 プロファイルスペース ID に対応させて、 サービスコンシユーマ 5 2のアプリケーション # nのアプリ ケーシヨン ID を登録することにより、 サービスの提供先としてサービスコンシ ユーマ 5 2を登録する、 サービスへの登録を、 メッセージング機能または Info/ Query機能を用いて要求する。 このとき、 プロファイルスペース ID とアプリケ ーシヨン ID (アプリケーション # nの ID) がその要求に含められる。
メディア IM サーバ 1 4は、 ステップ S 2 9において、 メディア IM クライア ント # C 1からの要求を受け取ると、 ステップ S 3 0において、 これをメディア IMクライアント # P 1に送信する。 メディア IMクライアント # P 1は、 ステツ プ S 3 1において、 メディア IM サーバ 1 4からの要求を受信すると、 ステップ S 3 2において、 これをアプリケーシヨン # 1に送信する。 アプリケーション # 1は、 ステップ S 3 3において、 サービスコンシユーマ 5 2からの登録要求を受 信する。
サービスプロバイダ 5 1としてのアプリケーシヨン # 1は、 ステップ S 1 8の 処理でサービスコンシユーマ 5 2に対して提供したサービスに対応してサービス コンシユーマ 5 2を登録する。 具体的には、 プロファイルスペース ID に対応し て、 サービスコンシユーマ 5 2のアプリケーション# nのアプリケーショ ン ID が対応して登録される。
このように登録されたサービスコンシユーマ 5 2に関する情報は、 アプリケー シヨン # 1によりサービスが提供される際に利用される。 すなわち、 アプリケー シヨン # 1は、 この登録された情報を参照し、 その情報に基づいてサービスコン シュ一マ 5 2のアプリケーション (アプリケーション ID に対応するアプリケー シヨン) に対して、 サービスを提供する。
ステップ S 3 4において、 アプリケーション # 1は、 サービスコンシユーマ 5 2より供給された要求であり、 アプリケーション # 1がプロファイルスペース I D に対応させてサービスコンシユーマ 5 2のアプリケーション # ΐΐのアプリケー シヨン ID を登録することにより、 サービスの提供先としてサービスコンシユー マ 5 2を登録させる要求である、 サービスへの登録要求に対応する応答 (すなわ ち、 アプリケーション # nの登録が完了したか否かを示す情報の供給) をメディ ァ IM クライアント # P 1に指示し、 ステップ S 3 5において、 この指示を受け 取ったメディア IM クライアント # P 1は、 ステップ S 3 6において、 供給され た登録要求に対応する応答である登録結果を、 メッセージング機能または Info/ Query機能を用いて通知する。 ステップ S 3 7において、 この登録結果の通知を 受信したメディ了 IM サーバ 1 4は、 ステップ S 3 8において、 それをメディァ IMクライアント # C 1に送信する。 メディア IMクライアント # C 1は、 ステツ プ S 3 9において、 これを受信すると、 ステップ S 4 0において、 アプリケーシ ヨン # nに送信する。 アプリケーション # nは、 ステップ S 4 1において、 登録 結果の通知を受信する。
アプリケーション # nは、 ステップ S 4 2において、 サービスプロバイダ 5 1 からのプロファイルディスクリプシヨン (ステップ S 2 5の処理で受信したプロ バイダプロファイル) に基づく接続性を保証するためのパラメータを、 プロファ ィルアトム(Prof i le Atom)として決定する。 すなわち、 アプリケーション # 1 が送信したデータを、 アプリケーション # nがそのまま利用することが可能な
(アプリケーション # nが受け入れることが可能な) パラメータが決定される。 このプロファイルァトムの決定処理の詳細は、 図 2 1と図 2 2のフローチヤ一ト を参照して後述する。
図 1 0は、 このプロファイルア トムのディスクリプシヨンの例を表している。 この例においては、 プロファイルスペース ID 力 S 「1 00 0 0 00 1」 とされて おり、 図 8に示されるプロファイルスペースに対応するプロファイルァトムであ ることが示されている。 すなわち、 上述したように、 メディア IM クライアント # C 1の要求に応じてプロファイルスペース ID に対応するプロファイルデイス クリプション (プロバイダプロファイル) がメディア IM クライアント # P 1に より作成され、 供給されると、 メディア IM クライアント # C 1は、 プロフアイ ルスペース ID に対応するコンシユーマプロファイルを作成し、 それを供給され たプロバイダプロファイルと比較し、 整合すると判定した場合、 提供されたサー ビスへの登録処理を行うとともに、 それらのプロファイルに対応するプロフアイ ルスペースの各パラメータの範囲から、 接続性を保証するための範囲を特定し、 図 1 0に示されるような、 それらの範囲のパラメータにより構成されるプロファ ィルァ トムを生成する。
access method は、 HTTP tunnelling とされている。 すなわち、 図 9のプロ バイダプロフアイノレにおける access method のうち、 番号 2に対応する方が選 択されている。
また、 bit rateは 4 8 kbps, X scaleは 1 6 0、 Y scaleは 1 2 0とされて いる。 さらに、 audio codecは、 CELP 8kとされている。
アプリケーション #nは、 ステップ S 4 2において、 このようにして決定した プロファイルァトムを伴ったコネク ト要求を発行する。 ステップ S 4 3において、 メディア IM クライアント # C 1は、 この要求を受信すると、 ステップ S 44に おいて、 この要求を、 メッセージング機能または Info/Query機能を利用して、 サービスプロバイダ 5 1に送信する。 メディア IM サーバ 1 4は、 ステップ S 4 5において、 この要求を受信すると、 ステップ S 4 6において、 その要求をメデ ィァ IM クライアント # P 1に送信する。 メディア IM クライアント # P 1は、 ステップ S 4 7において、 メディア IM サーバ 1 4からの要求を受信すると、 こ れをステップ S 4 8において、 アプリケーション # 1に送信する。 アプリケーシ ヨン # 1は、 ステップ S 4 9において、 この要求を受信する。
アプリケーション # 1は、 この要求を受信すると、 ステップ S 5 0において、 サービスコンシユーマ 5 2 (アプリケーション # n ) がサービスプロバイダ 5 1
(アプリケーション # 1 ) に対して接続するために必要な接続情報を含む応答を、 サービスコンシユーマ 5 2に送信する。 この接続情報は、 例えば、 サービスコン シユーマ 5 2がサービスプロバイダ 5 1に接続する際にアクセスするァドレスで ある、 サービスプロバイダ 5 1のアドレスを示す URI (Uniform Resource Ident ifier) (サービス URI) とすることができる。
アプリケーション # 1からステップ S 5 0の処理で送信された応答は、 ステツ プ S 5 1において、 メディア IM クライアント # P 1で受信され、 メディア IM クライアント # P 1.は、 ステップ S 5 2において、 その応答を、 メッセージング 機能または Info/Query機能を利用して、 サービスコンシユーマ 5 2に向けて送 信する。 メディア IM サーバ 1 4は、 ステップ S 5 3において、 メディア IM ク ライアント # P 1からの応答を受信すると、 ステップ S 5 4において、 これをメ ディア IM クライアント # C 1に送信する。 メディア IM クライアント # C 1は、 ステップ S 5 5において、 メディア IM サーバ 1 4からの応答を受信すると、 ス テツプ S 5 6において、 これをアプリケーション # nに送信する。 アプリケーシ ヨン # nは、 ステップ S 5 7において、 この応答を受信する。
アプリケーション # 1は、 ステップ S 5 0において、 応答の送信を指示した後、 アプリケーショ ン # nからの直接の (メディア IM サーバ 1 4を介さない) ァク セスを待機している。 そこで、 ステップ S 5 8において、 アプリケーション # n は、 メディア IM サーバ 1 4を介さずに、 ピアツーピアで、 アプリケーション # 1のサービス URL (Uniform Resource Locator)にアクセスする。 ステップ S 5 9において、 アプリケーション # 1は、 アプリケーション # nからのピアツーピ ァの URLへのアクセスを受け付ける。
以後、 アプリケーション # 1とアプリケーション # nは、 ピアツーピアで情報 を授受することが可能となる。
以上に説明した手順を行うことにより、 最終的に、 プロファイルアトムという アプリケーション # 1とアプリケーション # nは、 実行可能な機能を事前に交換 しているため、 アプリケーション# 1とアプリケーション # nとの間の接続性が 保証され、 情報が授受できないといった事態が発生することが防止される。
以上のように、 本発明のアプリケーションプラットフォームは、 インスタント メッセージのプレゼンス機能、 メッセージング機能、 および Info/Query機能を ベースとして、 アプリケーションレべノレでのプロフアイノレのネゴシエーションを 実現する新たなプロ トコルアーキテクチャを構築している。 その結果、 このァプ リケーシヨンプラットフォームにおけるマッチングメーキングの仕組みを用いる ことによって、 パーソナルコンピュータ、 モパイル機器などの能力が異なる (勿 論、 同一でもよいが) 様々なデバイスに実装されたアプリケーション同志が、 簡 単かつ確実に接続可能となる。 これにより、 文字、 音声、 音楽、 動画、 静止画と いった様々な情報からなるリツチメディア情報を、 ピアツーピアコミュュケーシ ョンで伝送することが可能なシステムを実現することができる。 この場合におい て、 最終的に接続性が保証されたアプリケーション (サービスエンティティ同 志) がピアツーピアでコミュニケ一シヨンを図ることができる。 従って、 ユーザ は、 特別の操作を行わずとも、 簡単かつ確実に、 情報を授受することが可能とな る。
上述したアプリケーション (サービスエンティティ) は、 パーソナルコンビュ ータゃネッ トワーク対応の CE (Consumer Electronics)機器のみならず、 インタ ーネット 1上の商用アプリケーションサーバにも適用することが可能となる。 例えば、 図 1のアプリケーションサ^ "バ 1 5においては、 商用プリントサービ スのアプリケーションが、 サービスプロバイダとして、 メディア IM クライアン ト # 4上で実行される。 従って、 図 1におけるパーソナルコンピュータ 1 1, 1 2あるいは PDA 1 3は、 アプリケーションサーバ 1 5との間で上述した手順を実 行することで、 アプリケーションサーバ 1 5が提供するプリントサービスを、 ィ ンターネット 1を介して利用することができる。
従って、 本発明においては、 インターネット 1に接続されている各サーバが提 供しているサービスを検索することで、 サービスプロバイダの一覧を Buddy リ ストとして、 例えば、 図 1 1に示されるように、 表示することができる。
図 1 1の例においては、 PDA 1 3に実装されたメディア IM クライアント # 3 上で、 サービスコンシユーマとして動作しているプリントサービスのアプリケー シヨンが利用できるサービスプロバイダの一覧が表示されている。 この場合にお いて、 プレゼンス機能を用いることによって、 サービスコンシユーマに応じてき め細かく、 かつ自由に、 商用サービスのステータスを表現することができる。 例 えば、 図 1 1の例において、 商用サービスを運用中であるか否かを、 ランプアイ コン 1 3 Aで表示するようにすることができる。 この場合、 例えば、 運用中の商 用サービスは、 緑色で表示し、 休止中の商用サービスは、 赤色で表示するように することができる。 また、 図 1 1の例においては、 依頼したプリントが仕上がる 時刻、 価格などの細かい状況も、 ステータス情報として表示されている。
なお、 当然のことながら、 ユーザ端末上のサービスプロバイダとサービスコン シユーマのアプリケーション間においても、 ユーザィンタフェースおよびプレゼ ンス機能により、 相手先に応じたきめ細かいステータス表示をアプリケーション 毎に行うことが可能である。
図 1 2は、 パーソナルコンピュータ 1 1の構成例を表している。 なお、 図示は 省略するが、 他のパーソナルコンピュータ 1 2も同様に構成される。 従って、 こ の図 1 2には、 パーソナルコンピュータ 1 2の構成としても、 適宜、 引用される。 図 1 2 (こお ヽて、 CPU (Central Proces sing Unit) 1 2 1 ίま、 ROM (Read On ly Memory) 1 2 2に記憶されているプログラム、 または記憶部 1 2 8力 ら RAM (Random Acce s s Memory) 1 2 3 ίこロードされたプロク、'ラム(こ従って各種の処 理を実行する。 RAM I 2 3にはまた、 CPU 1 2 1が各種の処理を実行する上にお いて必要なデータなども適宜記憶される。
CPU 1 2 1、 ROM 1 2 2 , および RAM 1 2 3は、 バス 1 2 4を介して相互に接続 されている。 このバス 1 2 4にはまた、 入出力ィンタフェース 1 2 5も接続され ている。
入出力インタフェース 1 2 5には、 キーボード、 マウスなどよりなる入力部 1 2 6、 CRT (Cathode Ray Tube)ヽ LCD (Liquid Crystal di splay)などよりなる ディスプレイ、 並びにスピーカなどよりなる出力部 1 2 7、 ハードディスクなど より構成される記憶部 1 2 8、 モデム、 ターミナルアダプタなどより構成される 通信部 1 2 9が接続されている。 通信部 1 2 9は、 インターネットを含むネット ワークを介しての通信処理を行う。
入出力ィンタフェース 1 2 5にはまた、 必要に応じてドライブ 1 3 0が接続さ れ、 磁気ディスク 1 4 1、 光ディスク 1 4 2、 光磁気ディスク 1 4 3、 或いは半 導体メモリ 1 4 4などが適宜装着され、 それらから読み出されたコンピュータプ ログラムが、 必要に応じて記憶部 1 2 8にインス トールされる。
上述したアプリケーション # 1 (サービスプロバイダ 5 1 ) 及びメディァ IM クライアント # P 1またはアプリケーション# n (サービスコンシユーマ 5 2 ) 及びメディァ IM クライアント # C 1は、 CPU 1 2 1により、 RAM I 2 3により口 一ドされ、 実行される。
本発明においては、 以上に説明したように、 プロファイルにより、 サービス内 容を記述して、 サービスコンシユーマに提供される。 このプロファイル (プロフ アイルディスクリプシヨン) は、 M次元のパラメータで表記される。 ここで次元 とは、 パラメータの実質的な数を意味する。 図 1 3に示される例では、 プロファ ィルが 5次元のパラメータにより構成されている (M= 5とされている) 。
図 1 3は、 図 8の例におけるプロファイルスペースとは異なる、 MPEG (Moving Pi cture Experts Group) 4のス トリーミングサーバのプロファイルスペース を表している。 図 1 3の例の場合、 パラメータは、 主に、 全体に関連するパラメ ータ、 ビデオに関するパラメータ、 並びにオーディオに関するパラメータの 3つ により構成される。 そのうちの全体に関連するパラメータは、 アクセスメソッド (access method)とリンクスピード(Link Speed)とにより構成され、 ビデオに 関するパラメータは、 X scale と Y scal e とにより構成される。 すなわち、 acc ess method, Link Speed, X scal e, Y s cal e, audi o codec の 5次兀の ( 5 個の) パラメータにより構成される。 そして、 この 5次元のパラメータは、 「1 0 0 0 0 0 0 2」 のプロファイルスペース IDにより識別される。
このプロフアイノレの acces s method は、 通信に用いられるプロトコノレを表し、 番号 1で表される RTSP (Real Time Streaming Protocol) /TCP (Transmi ss ion Control Protocol) +RTP (Real Time Transport Protoco l) /UDP (Us er Datagra m Protocol) s または番号 2で表される HTTP (Hyper Text Transfer Protocol) tunnel l ingの ヽずれ力 とされる。
使用されている通信回線のデータ転送速度を表す Link Speedは、 図 8の例に おける bit rate に対応し、 6 kbps 乃至 1 0 0 0 0 0 kbpsの範囲のいずれかの 値とされる。
画面の X軸方向の大きさを表す X scaleは、 1 2 8 pixel乃至 3 5 2 pixe lの 範囲とされ、 Y軸の方向の大きさを表す Y scale は、 9 6 pixel乃至 2 8 8 pix elの範囲とされる。
オーディオの圧縮伸長方式を表す audio codecは、 番号 0で表されるなし(no ne)、 番号 1で表される CELP 8 k、 番号 2で表される CELP (Code Exci ted Lin ear Predi ct ive) 1 6 k、 番号 3で表される AAC (Advanced Audio Coding) 1 6 k、 番号 4で表される AAC 3 2 k、 番号 5で表される AAC 4 4 . 1 k、 また は番号 6で表される AAC 4 8 kのいずれかとされる。
このように、 パラメータは、 全て整数値で表現される。 また、 1つの次元を構 成する 1つのパラメータが、 複数の整数値の組み合わせとして表現される場合、 次のような論理記号が用いられる。
1つのパラメータが、 複数の整数値のいずれか 1つとして表現される場合、 「0R」 (または) の論理記号が用いられる。 「0R」 は、 [k] I [m] I [n] のように、 [ I ] で区切って表される。 これは、 そのパラメータが、 k, m, nのいずれか 1つとされることを意味する。 この場合、 k, m, nは整数と され、 小さい順番に (kく m<nのように) 、 配置される。
例えば、 後述する図 1 5において、 access method 力 S、. 「1 | 2」 とされて いる力 これは、 access method 力 1 (RTSP/TCP+RTP/UDP)または 2 (HTTP tu nnelling)のいずれかであることを意味する。
1つのパラメータが、 所定の範囲の中の整数値で表される場合、 その範囲を表 す論理記号 「:」 が用いられる。 範囲は、 [m] : [n] # [k] のように表さ れる。 [m] は、 始値を表し、 [n] は、 終値を表す。 [m] と [n] は、 省略 することができない。 また、 当然のことながら、 始値 [m] は、 終値 [n] と等 しいか、 それより小さい値とされる。 # [k] は、 始値 [m] と終値 [n] の間 の変化幅を規定するステップを表し、 [k] は、 自然数かつ正規化のための基本 単位を 1とする倍数値とされる。 [k] は、 省略することができる。
例えば、 ビデオ X軸が、 「8 : 22 # 2」 と表される場合、 これは、 ビデオ X 軸が、 (8, 10, 1 2, 14, 1 6, 1 8, 20, 22) のいずれかであるこ とを表す。 すなわち、 正規化のための基本単位が 1 6ピクセルであるとすると (1 6ピクセルが k = 1に対応するものとすると) 、 この表現は、 1 28ピクセ ノレ乃至 35 2ピクセルを、 3 2ピクセル (k = 2に対応する) おきにサンプリン グした値の集合を表す。
サービスを受けることが可能であるのか否の容易な判定が困難になるため、 範 囲 (レンジ) と 「0R」 の複合記述は禁止される。 適用できない (N/A (not-a pplicable) のパラメータは、 空 ,) (null)で表される。
さらに、 プロファイルを具体的に記述する場合には、 各パラメータは、 正規化 のための単位として予め定められた基本単位で正規化される。 図 14に示される ように、 Link Speedの基本単位は、 kbps とされ、 X scaleと Y scaleの基本単 位は、 それぞれ 1 6pixel とされる。 従って、 図 1 3に示される X scale の 1 2 8 pixel 乃至 3 5 2 pixel は、 1 6 pixel で正規化すると、 8乃至 2 2と表記 され、 Y scaleの 9 6 pixel乃至 2 8 8 pixelは、 6乃至 1 8と表記される。 以上がパラメータのスタンダードの表記方法とされるが、 XML (extens ible Ma rkup Lunguage) Documentでカスタムな表記を追加することが可能とされる。 また、 各次元を構成する要素は、 適宜追加することが可能である。 例えば、 a udio codec は、 図 1 3の例の場合、 番号 0から番号 6で表される 7個のいずれ かとされるが、 それ以外の番号 7あるいは番号 8で表される要素を追加、 拡張す ることができる。
ただし、 追加した場合には、 下位互換性が確保されることが要求される。 すな わち、 番号 7または番号 8で表される追加した audio codec の要素を有しない 装置も、 このプロフアイノレスペース ID カ 「1 0 0 0 0 0 0 2」 であるプロファ ィルスペースを利用することができることが要求される。 各装置が、 プロフアイ ルスペース ID によりその内容を判定することができることを保証するためであ る。 従って、 各次元を構成する要素の数が増加されても、 各装置が、 プロフアイ ルスペース ID によりその内容を判定することができるので (互換性が確保され るので) 、 プロファイルスペース ID は、 変更されない。 逆に、 次元が増加され た場合には、 各装置が、 プロファイルスペース ID によりその内容を判定するこ と.ができないので (互換性が確保できないので) 、 プロファイルスペース ID は 変更される。
また、 本発明においては、 プロファイルは、 他のパラメータとの共存が制限さ れる可能性が最も高い主要因パラメータに基づいて、 複数の領域(region)に区 分して、 作成することが可能とされる。
他のパラメータとの共存が制限されるとは、 そのパラメータの値が所定の値を 取ると、 他のパラメータとの組み合わせが困難になるようなパラメータをいう。 本発明においては、 リンクスピードが主要因パラメータとされる。
例えば、 ユーザに、 Link Speed として任意の値を選択させ、 audio codec と して任意の値を選択させると、 実際には実現できないか、 実現が困難となる環境 が規定されてしまうことがある。 例えば、 リンクスピードが 5 O kbps 未満であ るアナログの電話回線に接続されているパーソナルコンピュータが、 audio cod ec として番号 5で示される AAC 4 4. 1 kや、 番号 6で示される AAC 4 8 kと いった audio codec を選択したとしても、 そのような関係は、 実際には、 実現 することが困難となる。
そこで、 本発明においては、 図 1 5に示されるように、 アナログ電話回線など における場合のように、 リンクスピードが 5 Okbps未満 (4 9 kbps 以下) の第 1の領域 ( ( 1 ) の region) 、 ISDN(Integrated Service Digital Network; や PHSなどにおける場合のような、 5 O kbps以上 2 0 0 kbps未満 (1 9 9 kbps 以下) の第 2の領域 ( ( 2 ) (D region) 、 さらに ADSL (Asymmetric Digital S ubscriber Line)における 1 . 5Mbps または 8Mbps などにおける場合のような、 2 0 O kbps以上の第 3の領域 ( (3 ) の region) に区分される。 さらに、 リン クスピードが 2 0 O kbps以上であって、 その装置が使用している CPU (Central Processing Unit)の能力が高い場合の領域として、 第 4の領域 ( (4 ) の regi on) が規定される。
図 1 5の例の場合、 第 1の領域においては、 アクセスメソッドは 1または 2'と され、 リンクスピードは 3 5 kbps 乃至 4 9 kbps とされる。 X scale は 1 0とさ れ、 Y scaleは 7とされる。 audio codecは、 0または 1のいずれかとされる。 第 2の領域においては、 アクセスメソッドは 1または 2とされ、 リンクスピー ドは 5 Okbps乃至 1 9 9 kbps とされる。 X scale と Y scaleは、 第 1の領域に おける場合と同様に、 それぞれ、 1 0または 7とされる。 audio codec は、 1 または 2とされる。
第 3の領域においては、 アクセスメソッドは 1または 2とされ、 リンクスピー ドは 2 0 O kbps乃至 1 0 0 0 0 Okbps とされる。 X scaleは 1 0とされ、 Y sc aleは 7とされる。 audio codecは 1乃至 6のいずれかとされる。
第 4の領域においては、 アクセスメソッドは 1または 2とされ、 リンクスピー ドは第 3の領域における場合と同様に、 2 0 0 kbps 乃至 1 0 0 0 0 O kbps とさ れる。 X scal eは 2 0とされ、 Y scaleは 1 5とされる。 audio codecは、 1乃 至 6のいずれかとされる。
各領域においては、 5次元の各パラメータは、 1次元の整数値として規定され る。 すなわち、 1個の数値として規定される。
プロファイルの分割の数 (領域の数) は、 各サービスプロバイダが任意に行う ことができる。 また、 プロファイルディスクリプシヨンの値 (各領域における各 次元の構成要素の値) をいずれの値にするかも、 サービスプロバイダが任意に設 定することができる。
なお、 領域の数が変更されても、 プロファイルスペース I Dは変更されない。 このように、 主要因パラメータに基づいて、 複数の領域に分割しておくと、 1 つの領域内においては、 サービスコンシユーマが 5次元のパラメータの値をいず れの値に設定したとしても、 実現困難あるいは実現不可能な環境が設定されるこ とがない。 従って、 サービスコンシユーマが複数の領域の中から 1つの領域を選 択し、 その領域の 5次元のパラメータの中から任意の値を適宜選択することが可 能となる。
具体的には、 上述した図 5のステップ S 2 5の処理で、 サービスプロバイダ 5 1のプロバイダプロファイル (プロファイルディスクリプション) を受信したと き、 +;一一ビスコンシユーマ 5 2 (アプリケーション # n ) は、 プロバイダプロフ アイルの各領域に記述されている主要因パラメータ (リンクスピード) の値を、 自分自身のコンシユーマプロファイルの主要因パラメータと比較し、 整合する部 分が存在する領域を抽出する。 主要因パラメータは、 上述したように、 整数で表 されているため、 単純な整数値演算によって、 整合する範囲があるか否かを容易 に算出することが可能となる。
パラメータをこのように、 領域に区分しない場合には、 複雑な場合分けを伴つ たプログラムを駆使しなければ、 サービスコンシユーマ 5 2は、 適用可能なサー ビスを選択することができなくなる。
以上のように、 サービスは、 M次元のパラメータで構成される空間 (スぺ一 ス) により表現される。 個々の空間は、 プロファイルスペース I Dにより識別さ れる。 個々の空間を構成するパラメータは、 整数値と論理記号の組み合わせで表 現される。 論理記号としては、 複数の整数値のいずれか 1つの選択を表現する rORj と、 整数値の集合を表す 「範囲」 が用いられる。 サービスをこのような データ構造で表現することで、 サービスを提供するサービスプロバイダと、 サー ビスの提供を受ける (サービスを利用する) サービスコンシユーマとの間で、 迅 速且つ簡単に、 サービスの利用の可否を判定することが可能になる。
次に、 サービスプロバイダ 5 1 (アプリケーション # 1 ) 力、 サービスコンシ ユーマ 5 2 (アプリケーション # n ) に提供するプロファイル (プロファイルデ イスタリプシヨン) を作成する処理について、 図 1 6と図 1 7のフローチャート を参照して説明する。 この処理は、 図 5のステップ S 1 8におけるプロバイダフ アイルの組立処理に対応する処理である。
いま、 アプリケーション # 1が、 図 1 3に示されたプロファイルスペース ID 力 S 「1 0 0 0 0 0 0 2」 のプロバイダプロファイル (自分自身の機能に関するプ 口ファイル) を生成するものとする。 そして、 アプリケーション # 1は、 8 Mbp s の ADSL回線に接続されており、 その実際の回線のスループットの値 (Curren tL i nkSpeed (カレントリンクスピード) ) から、 主要因パラメータであるリン クスピードは 4 8 0 0 kbps であり、 ビデオの表示系は VGA (Video Graphi cs Ar ray)系であり、 CPUの処理能力は、 比較的低いものであるとする。
以下の各ステップにおいて、 アプリケーション # 1は、 各領域に対応する自分 自身の能力 (機能) を調べ、 各パラメータに、 各領域に対応する自分自身の能力 に対応する値を設定する。 従って、 以下に述べる各ステップにおいて各パラメ一 タに設定される具体的数値は、 各領域に対応する自分自身の能力に対応する値で ある。 アプリケーション # 1は、 自分自身の能力を、 各ステップにおいて、 その 都度調べてもよいし、 予め、 調べて記憶しておいたものを読み出して使用するよ うにしてもよい。
ステップ S 7 1において、 アプリケーション # 1は、 パラメータを設定する変 数 PSId に、 いま対象とされているプロファイルスペース ID の値 「1 0 0 0 0 00 2」 を設定する。
以下、 ステップ S 7 2乃至ステップ S 7 8において、 第 1の領域に関するパラ メータの設定処理が行われ、 ステップ S 7 9乃至ステップ S 8 5において、 第 2 の領域に関するパラメータの設定が行われ、 ステップ S 8 6乃至ステップ S 9 2 において、 第 3の領域に関するパラメータの設定が行われ、 そして、 ステップ S 9 3乃至ステップ S 9 8において、 第 4の領域に関するパラメータの設定が行わ れる。
ステップ S 7 2において、 アプリケーション # 1は、 領域が第 1の領域である ことを表す変数 PSId. regionに値 「 1」 を設定する。
すなわち、 図 1 8に示されるように、 プロファイルスペース ID が 1 0 0 0 0 00 2のプロファイルは、 PSId (プロファイルスペース ID) をルートとして、 r egion (Region)毎に、 access (Access Method) , linkSpeed (Link Speed), xSca le(X scale), yScale(Y scale), audio (Audio Codec)の各パラメータで構成 される。 以下、 上記ツリーの構造は、 各階層を (. ) で区切り、 例えば、 PSId. region, access とレヽっ 方法で目 す 。
従って、 PSId. region には、 具体的には、 「 1 0 0 0 0 0 0 2. 1」 が設定 されることになる。 ただし、 図 1 6と図 1 7においては、 記述が長くなるので、 新たに設定されたパラメータだけが示されている。
ステップ S 7 3において、 アプリケーション # 1は、 Access Method として、 1 : RTSP/TCP+RTP/UDP、 または 2 : HTTP tunnellingを示す { 1 | 2} を PSId. region, access に設定する。 これは、 上述したように、 アプリケーショ ン # 1 力 「RTSP/TCP+RTP/UDP」 を用いた通信を行う機能を有するとともに、 「HTTP tunnelling」 を用いた通信を行う機能をも有するからである。 仮に、 アプリケ ーシヨン # 1が、 rRTSP/TCP+RTP/UDPj を用いた通信を行う機能しか有してい ないのであれば ( 「HTTP tunnelling] を用いた通信を行う機能を有していない のであれば) 、 アプリケーション # 1は、 Access Method として、 1 : RTSP/TC P+RTP/UDPを示す { 1 } を PSId. region, accessに設定することになる。
ステップ S 74において、 アプリケーション # 1は、 Link Speed として、 3 0 kbps力 ら 49 kbpsを表す { 39 : 49 } を、 PSId. region. linkSpeedに設定 する。 これは、 いま処理対象としている領域が第 1の領域であり、 第 1の領域の デフォルトの Link Speed力 30 kbps 力、ら 49 kbps であるからである (従つ て、 後述するように、 対応する第 2乃至第 4の領域のステップ S 8 1, S 8 8, S 95の処理では、 各領域におけるデフォルトの Link Speedである、 50kbps 力、ら 1 99 kbps, 200kbps力、ら 1 00000kbps, または 200 kbps力、ら 1 00◦ 00kbpsカ、 それぞれ設定される) 。
ステップ S 7 5において、 アプリケーション # 1は、 Xscale として、 1 6 Op ixelを示す { 10 } を、 PSId. region. xScaleに設定し、 Y scaleとして、 1 1 4pixel を示す { 7} を、 PSId. region. yScale に設定する。 これらの値も、 ァ プリケーシヨン # 1が有する画像表示の画角に関する機能に基づくものである。 ステップ S 7 6において、 アプリケーション # 1は、 audio Codec として 0 : none, または 1 : CELP 8 kを表す { 0 | 1 } を、 PSId. region, audio に設 定する。 これも、 アプリケーション # 1カ、 audio Codec として 0 : none、 ま たは 1 : CELP 8 kの両方の機能に対応しているからである。
次に、 ステップ S 77において、 アプリケーション # 1は、 自分自身が実際に 接続されている回線の実効スループットを示すカレントスピード(Current Link Speed)の値が、 次の第 2の領域の下限値である 5 0 kbps と比較して、 それよ り小さいか否かを判定する。 カレントリンクスピードが 50kbps より小さい場 合には、 第 2の領域以上の領域を規定することができないので、 ステップ S 78 に進み、 アプリケーション # 1は、 Link Speed として 30 kbpsからカレントリ ンクスピード(CurrentLinkSpeed)までの値を示す { 30 : CurrentLinkSpeed} を PSId. region. linkSpeed に再度設定する。 すなわち、 ステップ S 74の処理 で設定された値 { 30 : 49 } の値が更新される。 これにより、 使用可能な最大 の値がパラメータとして設定される。 いまの場合、 アプリケーション # 1の CurrentLinkSpeed は、 48 00kbps であるため、 50 kbps より大きいのでステップ S 7 9に進み、 第 2の領域のパ ラメータ設定処理が実行される。
ステップ S 7 9において、 アプリケーション # 1は、 PSId. region に第 2の 領域である値 「2」 を設定する。 具体的には、 PSId. region に 「100000 0 2. 2」 が設定されることになる。
ステップ S 80において、 ステップ S 7 3における場合と同様に、 アプリケー シヨン # 1は、 Access Method として { 1 | 2 } を、 PSId. region, access に設 定する。
ステップ S 8 1において、 アプリケーション # 1は、 Link Speed として、 5 0 kbps力、ら 1 9 9 kbpsを示す { 50 : 1 99 } を、 PSId. region. linkSpeedに 設定する。
ステップ S 8 2において、 アプリケーション # 1は、 ステップ S 75における 場合と同様に、 X Scale として { 10} を、 PSId. region. xScale に設定し、 Y Scale として { 7 } を、 PSId. region. yScaleに設定する。
ステップ S 8 3において、 アプリケーション # 1は、 Audio Codec として 1 : CELP 8 k、 または 2 : CELP 1 6 kを示す { 1 | 2 } を、 PSId. region, au dioに設定する。
ステップ S 84において、 アプリケーション # 1は、 CurrentLinkSpeed の値 力 次の第 3の領域の下限値である 200kbps と比較して、 それより小さいか 否かを判定する。 CurrentLinkSpeedの値が 200kbpsより小さい場合には、 第 3の領域のパラメータを設定することができないので、 ステップ S 8 5に進み、 アプリケーション # 1は、 Link Speed として { 50 : CurrentLinkSpeed} を、 PSId:region:linkSpeed に再度設定する。 すなわち、 ステップ S 8 1で設定さ れた { 50 : 1 9 9 } の値が更新される。
ステップ S 84において、 CurrentLinkSpeedのィ直が、 200kbps より大きい と判定された場合、 ステップ S 8 6に進み、 第 3の領域のパラメータ設定処理が 実行される。 いまの場合、 アプリケーション # 1は、 その CurrentLinkSpeedの 値は、 480 Okbps であるため、 ステップ S 84において、 NO の判定が行われ、 ステップ S 86以降の処理が実行される。
ステップ S 8 6において、 アプリケーション # 1は、 第 3の領域の値 「3」 を PSId. region に設定する。 具体的には、 PSId. region に 「1 000000 2. 3」 の値が設定される。
ステップ S 8 7において、 アプリケーション # 1は、 ステップ S 80における 場合と同様に、 Access Method として { 1 | 2} を、 PSId. region, access に設 定する。
ステップ S 8 8において、 アプリケーション # 1は、 Link Speed として、 2 00 kbps力、ら 100000 kbps を示す { 200 : 1 00000} を、 PSId. reg ion. linkSpeedに設定する。
ステップ S 8 9において、 アプリケーション # 1は、 ステップ S 8 2における 場合と同様に、 X Scale として { 1 0} を、 PSId. region. xScale に設定し、 Y Scale として { 7 } を、 PISd. region. yScaleに設定する。
ステップ S 90において、 アプリケーション# 1は、 Audio Codec として、 1 : CELP 8 k, 2 : CELP 1 6 k, 3 : AAC 1 6 k, 4 : AAC 3 2 k , 5 : AAC 44. 1 k、 または 6 : AAC 48 kを示す { 1 | 2 | 3 | 4 | 5 | 6 } を、 PSId. regi on. audioに 疋する。
ステップ S 9 1において、 アプリケーション # 1は、 次の第 4の領域のパラメ ータを設定する条件として、 CPU の性能が低いか否かを判定する。 CPU は、 その クロックの周波数が予め設定されている所定の基準の周波数 (例えば、 800M Hz) より低い場合、 あるいは所定の種類 (例えば、 Pentium (登録商標) 4) よ り低い機能の CPUである場合には、 CPUの性能が低いと判定される。
いまの場合、 アプリケーション # 1の CPU は性能が低いため、 ステップ S 9 1で YES と判定され、 ステップ S 9 2において、 アプリケーショ ン # 1は、 第 3の領域の Link Speed の更新処理を行う。 これにより、 Link Speed として {200 : CurrentLinkSpeed} と設定されていたものが、 PSId. region. linkSp eed に再度設定される。 すなわち、 ステップ S 8 8の処理で設定された { 20 0 : 1 000000} の値が、 使用可能な最大値に更新される。
ステップ S 9 1において、 CPU の性能が低くない (高い) と判定された場合 (クロック周波数が 800MHz 以上であるか、 または Pentium (登録商標) 4と 同等か、 それ以上の機能の CPU である場合) には、 ステップ S 9 3に進み、 第 4の領域のパラメータ設定処理が実行される。
ステップ S 93において、 アプリケーション # 1は、 第 4の領域であることを 表す値 「 4」 を、 PSId. redion に設定する。 具体的には、 「 100 0000 2. 4」 が設定される。
ステップ S 94において、 アプリケーション # 1は、 ステップ S 8 7における 場合と同様に、 Access Method として { 1 | 2 } を、 PSId. region, access に設 定する。
ステップ S 9 5において、 アプリケーション # 1は、 ステップ S 88における 場合と同様に、 Link Speed として { 200 : 1 00000} を、 PSId. region. linkSpeedに設定する。
ステップ S 96において、 アプリケーション# 1は、 X scaleとして 3 2 Opi xelを示す { 20} を、 PSId. region. xScaleに設定し、 Y scaleとして 24 Op ixelを示す { 1 5} を、 PSId. region. yScaleに設定する。
ステップ S 9 7において、 アプリケーション # 1は、 ステップ S 90における 場合と同様に、 Audio Codec として { 1 | 2 | 3 | 4 | 5 | 6} を、 PSId. regi on. audioに設疋 'する。
最後に、 ステップ S 9 8において、 アプリケーション # 1は、 Link Speed と して {200 : CurrentLinkSpeed} を、 PSId. region. linkSpeed に再度設定す る。 すなわち、 ステップ S 9 5の処理で設定された { 200 : 100000 } の 値が更新される。
以上のようにして、 設定されたサービスプロバイダ 5 1としてのアプリケーシ 2
34
ヨン # 1のプロバイダプロファイル (プロバイダプロファイルディスクリプショ ン) が図 1 9に示されている。 同図に示されるように、 この場合、 上述したステ ップ S 7 1乃至ステップ S 9 2の処理により、 3つの領域のパラメータが設定さ れている。 設定されているパラメータは、 図 1 6と図 1 7を参照して説明した値 の通りである。
図 1 6と図 1 7に示されるプロファイルディスクリプション作成処理は、 サー ビスコンシユーマ 5 2としてのアプリケーション # nにおいても実行され、 それ によりコンシユーマプロファイルが作成される。 但し、 図 1 6と図 1 7の各ステ ップに記載されているパラメータの具体的な値は、 アプリケーション # 1のもの であり、 アプリケーション # nのものではないので、 各ステップで設定される値 は異なるものとなる。
例えば、 サービスコンシユーマ 5 2としてのアプリケ——ンョン# nが比較的低 速な ISDN64kbps の回線に接続され、 実効スループットである Curren1;LinkSp eed が 4 8 kbps であるとする。 この場合、 図 1 6と図 1 7に示されるプロファ ィルディスクリプション作成処理が実行されると、 ステップ S 7 1乃至ステップ S 7 8の第 1の領域の処理のみが実行される。 すなわち、 CurrentLinkSpeed の 値 (4 8 kbps) が 5 Okbps より小さいため、 ステップ S 7 7において、 YES と 判定され、 ステップ S 7 9以降の処理は実行されない。
すなわち、 この場合、 アプリケーション# nは、 ステップ S 7 1において、 P Sid に、 「 1 0 0 0 0 0 0 2」 を設定し、 ステップ S 7 2において、 PSId. regi on として第 1の領域であることを示す値 「1」 を設定する。 具体的には、 PSId. regionに 「1 000 0 0 0 2. 1」 が設定される。
ステップ S 7 3において、 アプリケーション # nは、 Access Method として { 1 I 2} を、 PSId. region, accessに設定する。
ステップ S 74において、 アプリケ——ンョン# nは、 Link Speed として { 3 0 : 4 8 } を、 PSId. region. linkSpeedに設定する。
ステップ S 7 5において、 アプリケーション # nは、 X Scale として { 1 0 } を、 PSId. region. xScaleに設定し、 Y Scale として { 7 } を、 PSId. region. yS ca丄 e !■ Bx疋 9 る。
ステップ S 7 7において、 CurrentLinkSpeedの値は、 4 8kbpsであるため、 5 Okbps より小さいと判定され、 ステップ S 7 8において、 アプリケーション # nは、 Link Speed として { 3 0 : CurrentLinkSpeed} を、 PSId. region, lin kSpeed に再度設定する。 すなわち、 ステップ S 7 4で設定された { 3 0 : 4 9 } の値が更新される。
以上のようにして、 アプリケーション# 11により生成されたコンシユーマプロ ファイル (コンシユーマプロファイルディスクリプシヨン) は、 図 2 0に示され るようになる。 同図に示されるように、.領域は、 第 1の領域だけとされる。 この 領域に設定される各パラメータは、 上述したステップ S 7 1乃至ステップ S 7 8 の処理で設定された値である。
アプリケーション# nが図 2 0に示されるコンシユーマプロファイルを有する 場合、 アプリケーション # 1から図 1 9に示されるようなプロバイダプロフアイ ルが送信されてくると、 図 6のステップ S 2 6において、 アプリケーション # n は、 コンシユーマプロファイルの主要因パラメータとしてのリンクスピード 3 0 : 4 8 (図 2 0) 力 プロバイダプロファイルの主要因パラメータの値に整合 する部分があるか否かを判定することになる。 図 1 9のプロバイダプロファイル は、 第 1の領域のリンクスピードが 3 0 : 4 9であり、 第 2の領域のリンクスピ ードが 5 0 : 1 9 9であり、 第 3の領域のリンクスピードが 2 00 : 4 8 0 0で あるため、 少なくとも 1つの領域 (第 1の領域) において、 整合する部分 (重な る部分) がある (3 0乃至 4 9の範囲は、 3 0乃至 4 8の値で、 3 0乃至 4 8の 範囲と重なっている) と判定されることになる。 その結果、 上述したように、 図 6のステップ S 2 6で、 アプリケーション # nは、 提供されたサービスへの登録 要求処理を実行し、 その後、 ステップ S 4 2で、 プロファイルアトムを作成する ことになる。
次に、 図 2 1 と図 2 2のフローチャートを参照して、 このプロフアイ アトム 生成処理について説明する。 この処理は、 図 7のステップ S 4 2において実行さ れる処理に対応する。
この処理では、 最初に、 ステップ S 1 1 1乃至ステップ S 1 1 5の処理で、 サ 一ビスプロバイダが提示した各領域毎のパラメータ群から、 サービスコンシユー マが接続されているネットワークの Link Speed (主要因パラメータ) を考慮し て、 領域(Region)が選択される。
すなわち、 ステップ S 1 1 1において、 アプリケーション # nは、 アプリケー シヨン # 1から送信されてきたプロバイダプロファイルディスクリプシヨン (図 1 9 ) を受信する。 この処理は、 図 6のステップ S 4 1の処理に対応する。
次に、 ステップ S 1 1 2において、 アプリケーション # nは、 内部の変数 Nの 値を 0に初期化する。 ステップ S 1 1 3において、 アプリケーション # nは、 ス テツプ S 1 1 1の処理で受信したプロバイダプロファイルと、 自分自身が図 1 6 と図 1 7の処理を実行することで作成したコンシユーマプロファイル (図 2 0 ) の中から、 N + 1の領域の (いまの場合、 N = 0であるので、 第 1の領域の) パ ラメータを抽出する。
ステップ S 1 1 4において、 アプリケーション# nは、 ステップ S 1 1 3の処 理で抽出した領域の Link Speedが重なるか否かを判定する。 いまの場合、 第 1 の領域の Link Speedが重なるか否かが判定される。 両者の Link Speedが重な らない場合には、 ステップ S 1 1 6に進み、 値 Nが 0以外の値であるか否かを判 定する。 いまの場合、 値 Nは 0であるため、 NO と判定される。 すなわち、 この 場合には、 Link Speed が重なる領域が 1個も存在しないことになるので、 ァプ リケーシヨン # nは、 アプリケーション# 1と通信することができないことにな る。 そこで、 処理は終了される。
図 1 9と図 2 0に示される例の場合、 図 2 0の第 1の領域の Link Speedの 3 0 : 4 8は、 図 1 9の第 1の領域の Link Speedの 3 0 : 4 9と重なるので、 ス テツプ S 1 1 5に進み、 アプリケーション # ηは、 変数 Νの値を 1だけインクリ メントする (いまの場合、 N = lとする) 。 その後、 ステップ S 1 1 3に戻り、 アプリケーション # nは、 N + 1の領域 (いまの場合、 N = lなので、 第 2の領域) のプロバイダプロファイルとコンシ ユーマプロファイルのパラメータをアプリケーション# nは取り出す。
ステップ S 1 1 4において、 アプリケーション # nは、 ステップ S 1 1 3の処 理で取り出されたパラメータのうちの、 Link Speed が重なるか否かを判定する。 第 2の領域の Link Speedが重なる場合には、 ステップ S 1 1 5に進み、 変数 N の値がさらに 1だけインクリメントされる (いまの場合、 N = 2とされる) 。 そして、 ステップ S 1 1 3において、 N + 1の領域 (いまの場合、 N = 2なの で、 第 3の領域) のプロバイダプロファイルとコンシユーマプロファイルが読み 出される。 ステップ S 1 1 4において、 ステップ S 1 1 3で取り出されたパラメ ータの Link Speedが重なるか否かが判定され、 重なる場合には、 再び、 ステツ プ S 1 1 5に進み、 変数 Nの値が 1だけインクリメントされる (いまの場合、 N = 3とされる) 。
以上のようにして、 ステップ S 1 1 3乃至ステップ S 1 1 5の処理が繰り返し 実行されることで、 Link Speed が重なる全ての領域が抽出される。 プロバイダ プロファイルとコンシユーマプロファイルのうち、 対応する領域がもはや存在し ない場合、 あるいは存在したとしても、 Link Speed が重ならないと判定された 場合には、 処理はステップ S 1 1 4からステップ S 1 1 6に進められ、 値 Nが 0 以外の値であるか否かが判定される。 この場合における値 Nは、 ステップ S 1 1 3乃至ステップ S 1 1 5の処理により、 Link Speed が重なる領域のうちの、 最 も番号が大きい領域 (最も高機能の領域) のその番号に対応している。 従って、 Link Speed が 1個でも重なる領域が存在する場合には、 値 Nは、 0以外のィ直と いうことになる。
この場合、 ステップ S 1 1 7に進み、 アプリケーション # nは、 第 N番目の領 域のプロバイダプロフアイノレとコンシユーマプロフアイノレのパラメータを取り出 す。 ステップ S 1 1 8において、 アプリケーション # nは、 ステップ S 1 1 7の 処理で取り出したプロバイダプロファイルの Access Method とコンシユーマプ 口ファイルの Access Methodが重なるか否かを判定する。
図 1 9と図 20に示される例の場合、 第 1の領域の Access Method は、 いず れも { 1 I 2 } であるから、 Access Method が重なると判定される。 もし、 Acc ess Method が重ならないと判定された場合には、 ステップ S 1 1 9に進み、 変 数 Nの値が 1だけデクリメントされる。 すなわち、 処理対象とされる領域が、 1 つだけ番号の値が小さい領域に変更される。 そして、 ステップ S 1 1 6において、 値 Nが 0以外の値であるか否かが判定され、 0以外の値ではない、 すなわち、 0 であると判定された場合には、 結局、 プロファイルアトムが見つからなかったこ とになるため、 処理は終了される。
このように、 5次元のパラメータのうちの、 1つでも重ならないパラメータが 存在する場合には、 1つ下の番号の領域に処理対象が移される。 同様に、 後述す るステップ S 1 26において、 X scale と Y scale が重ならないと判定された 場合、 並びにステップ S 1 2 9において、 Audioが重ならないと判定された場合 にも、 1つ下の番号の領域に処理対象が移されることになる。
図 1 9と図 2 0の例の場合、 第 1の領域の Access Method は、 いずれも { 1 I 2} であるため、 両者が重なることになるので、 ステップ S 1 20に進み、 ァ プリケーシヨン # nは、 HTTP Tunnelling を優先することが選択されているか 否かが判定される。 ファイアウォールがインターネット 1との間に存在する場合 には、 HTTP Tunnellingを優先することが選択されている。
この場合、 ステップ S 1 2 1に進み、 アプリケーション # 11は、 プロファイル アトム(Profile Atom)の Access Method である AtomAccess に { 2 } (図 1 3) を設定する。 これに対して、 ステップ S 1 2 0において、 HTTP Tunnelling が優先されていないと判定された場合には、 ステップ S 1 2 2において、 アプリ ケ一シヨン # ιιは、 AtomAccessに { 1 } (図 1 3 ) を設定する。
ステップ S 1 2 1、 またはステップ S 1 2 2の処理の後、 ステップ S 1 2 3に 進み、 アプリケーション # nは、 CurrentLinkSpeed の値が、 プロバイダプロフ アイルの LinkSpeed の最大値と等しいか、 それより小さいか否かを判定する。 アプリケーション# nが接続されている回線の実効スループッ トを示す Current LinkSpeedの値が、 プロバイダプロファイルの Link Speedのパラメータの最大 値以下である場合には、 ステップ S 1 2 4において、 アプリケーション # nは、 AtomLinkSpeedに CurrentLinkSpeedの値を設定する。
これに対して、 ステップ S 1 2 3において、 CurrentLinkSpeed の値が、 プロ バイダプロファイルの Link Speed の最大値より大きいと判定された場合には、 ステップ S 1 2 5において、 アプリケーション # nは、 AtomLinkSpeed にプロ バイダプロファイルの LinkSpeedの最大 を設定する。
例えば、 CurrentLinkSpeedが 4 8 kbps であり、 プロバイダプロファイルの L inkSpeedのパラメータの最大値が 4 9 kbpsであれば、 ステップ S 1 2 5におい て、 プロファイルアトムの AtomLinkSpeedに { 4 8 } が設定される。
次に、 ステップ S 1 2 6において、 アプリケーション # nは、 プロバイダプロ ファイルとコンシユーマプロフアイノレの X scale と Y scale が重なるか否かを 判定する。 両者が重ならない場合には、 上述したように、 ステップ S I 1 9に進 み、 値 Nを 1だけデクリメントして、 番号が 1だけ小さい領域の処理に移行する。 ステップ S 1 2 6において、 X scale と Y scale が重なると判定された場合、 ステップ S 1 2 7において、 アプリケーション # nは、 プロファイノレアトムの X scale である AtomXscale に、 重なった X scale の最大値を設定する。 さらに、 ステップ S 1 2 8において、 アプリケーション # nは、 プロファイノレアトムの Y scaleである AtotnYscaleに、 重なった Y scaleの最大値を設定する。
例えば、 プロバイダプロファイルとコンシユーマプロファイルのいずれも X s cale の最大値が 1 6 0 pixel ( 1 0 X 1 6 pixel) であり、 Y scale の最大値が 1 1 2 pixel ( 7 X 1 6 pixel)となっている場合、 プロファイルァトムの AtomXs caleに { 1 0 } が設定され、 AtomYscaleに { 7 } が設定される。
ステップ S 1 2 9において、 プロバイダプロフアイノレとコンシユーマプロファ ィルの Audio Codec の重なりが判定される。 両者が重ならない場合には、 上述 したように、 ステップ S 1 1 9に進み、 値 Nが 1だけデクリメントされ、 1つだ け小さい番号の領域の処理に移行する。
ステップ S 1 2 9において、 プロバイダプロフアイノレとコンシユーマプロファ ィルの Audio Codec が重なると判定された場合、 ステップ S 1 3 0に進み、 ァ プリケーシヨン # nは、 プロフアイノレアトムの Audio Codec である AtomAudio に、 重なった Audio Codec の中で最も音質の良いものを選択し、 設定する。 本 例においては、 プロファイル内に記述される各 Audio Codec に対して、 音質の 低いものから高いものの順番に値が大きくなるようにパラメータの番号付けが行 われており、 重なった Audio Codec の中で最も大きい番号のものを選択するこ とによって、 音質の高いものが選択される。 例えば、 プロバイダプロファイルと コンシユーマプロフアイノレのいずれも、 Audi o Codec 力 S 0 : None, または 1 : C ELP 8 kとなっている場合、 プロファイルアトムの AtomAudio には { 1 } が設 定される。
ステップ S 1 3 1において、 アプリケーション # nは、 以上の各ステップの処 理で決定されたプロファイルァトムのパラメータの値を基に、 プロファイルァト ムを作成する (組み立てる) 。
以上のようにして生成されたプロファイルァトムは、 図 7のステップ S 4 2の 処理により、 アプリケーション # 1に通知される。
以上のようにして、 本発明によれば、 サービスに関するパラメータであって、 数値化された M次元のパラメータによりサービスの内容を表す詳細情報を生成す るようにしたので、 サービスの内容を、 容易に識別することができ、 ネットヮー クを介して、 2つの装置が迅速且つ確実に情報を授受することが可能となる。 パラメータを基本単位により、 正規化するようにすることで、 より小さい数字 で詳細情報を表現することが可能となる。 従って、 比較処理が容易となる。
パラメータを複数の領域に区分することで、 複雑なアルゴリズムを用いること なく、 簡単に、 実際に情報を転送することが可能なパラメータを選択することが 可能となる。
パラメータを 1次元の整数値として表現することで、 パラメータを容易に比較 することが可能となる。
詳細情報を、 整数値と論理記号の組み合わせで表現するようにすることで、 ノ、 ラメータを容易に比較することが可能な形式で表現することができる。
論理記号として、 複数の前記整数値のいずれか 1つの選択を表現する第 1の記 号と、 前記整数値の集合を表す第 2の記号を用いるようにすることで、 パラメ一 タを容易に比較することが可能な形式で表現することができる。
第 2の記号として、 範囲の始まりを表す始値、 前記範囲の終わりを表す終値、 並びに前記始値と前記終値の間の変化幅を規定するステップを用いるようにする ことで、 範囲を容易に比較することが可能な形式で表現することができる。
サービスは、 ネットワークを介してデータを送信または受信するサービスとす ることで、 ネットワークを介して、 2つの装置が迅速且つ確実に情報を授受する のに必要な情報を交換することが可能となる。
識別子を詳細情報に付加することで、 詳細情報の特定が容易となる。
識別子をネットワークを介して送信先に送信することで、 送信先に詳細情報を 簡単に識別させることが可能となる。
送信先に識別子に対応する詳細情報を送信し、 送信先から送信されてきた M次 元のパラメータを受信するようにすることで、 始めから詳細情報を送信する必要 がなくなり、 伝送路を効率的に利用しながら、 確実に情報を授受することが可能 となる。
ネットワークを介して送信されてきた識別子を受信することで、 詳細情報を簡 単に識別することが可能となる。
受信された識別子に対応する詳細情報の送信を要求するようにすることで、 通 信不能な相手側と無駄に詳細情報を交換するようなことが防止される。
データ構造を、 M次元のパラメータで構成し、 前記パラメータを、 整数値と論 理記号の組み合わせで構成することで、 内容を容易に識別可能な形式でデータを 記述することが可能となる。
以上においては、 M : 5としたが、 それより大きい次元または小さい次元とす ることも可能である。
また、 以上においては、 AV データを提供するサービスを例として説明したが、
AV データを授受するサービスの他、 各種のサービスを提供し、 利用する場合に、 本発明は適用することができる。
なお、 上述した処理は、 ネットワーク対応の CE機器等の場合、 ハードウェア により実行することもできる。 勿論、 ソフトウェアにより実行することもできる。 一連の処理をソフトウユアにより実行させる場合には、 そのソフトウェアを構 成するプログラムが、 専用のハードウェアに組み込まれているコンピュータ、 ま たは、 各種のプログラムをインス トールすることで、 各種の機能を実行すること が可能な、 例えば汎用のパーソナルコンピュータなどに、 ネットワークや記録媒 体からインス トールされる。
この記録媒体は、 図 1 2に示されるように、 装置本体とは別に、 ユーザにプロ グラムを提供するために配布される、 プログラムが記録されている磁気ディスク
1 4 1 (フロッピディスクを含む) 、 光ディスク 1 4 2 (CD-ROM (Compact Di s k-Read Only Memory) , DVD (Digital Versatile Di sk)を含む) 、 光磁気デイス ク 1 4 3 (MD (Mini-Di sk) を含む) 、 もしくは半導体メモリ 1 4 4などより なるパッケージメディアにより構成されるだけでなく、 装置本体に予め組み込ま れた状態でユーザに提供される、 プログラムが記録されている R0M 1 2 2や、 記 憶部 1 2 8に含まれるハードディスクなどで構成される。
なお、 本明細書において、 記録媒体に記録されるプログラムを記述するステツ プは、 記載された順序に沿って時系列的に行われる処理はもちろん、 必ずしも時 系列的に処理されなくとも、 並列的あるいは個別に実行される処理をも含むもの である。
また、 本明細書において、 システムとは、 複数の装置により構成される装置全 体を表すものである。 産業上の利用可能性 以上の如く、 第 1の本発明によれば、 サービスの内容を表す情報を生成するこ とができる。 特に、 サービスの内容を容易に確認することが可能な詳細情報を生 成することができる。 それにより、 サービスの内容を確実に相手側に知らしめる ことが可能となり、 相手側の装置と迅速且つ確実に接続し、 データを授受するこ とができる。
第 2の本発明によれば、 サービスの内容を表現することができる。 特に、 サー ビスの内容を容易に確認することが可能な状態で表現することができる。 それに より、 サービスの内容を確実に確認することが可能となり、 相手側の装置と迅速 且つ確実に接続し、 データを授受することができる。

Claims

請求の範囲
1 . サービスに関するパラメータであって、 数値化された M次元のパラメータ を取得し、 取得された前記パラメータにより、 前記サービスの内容を表す詳細情 報を生成する生成ステップ
をコンピュータに実行させることを特徴とするプログラム。
2 . 前記生成ステップは、 基本単位により正規化された前記パラメータを取得 する
ことを特徴とする請求の範囲第 1項に記載のプログラム。
3 . 前記生成ステップは、 他の前記パラメータとの共存が制限される可能性が 最も高い主要因パラメータに基づいて、 前記パラメータを複数の領域に区分し、 前記領域ごとに前記パラメータを取得する
ことを特徴とする請求の範囲第 1項に記載のプログラム。
4 . 前記生成ステップは、 前記各領域ごとに、 M次元の前記パラメータのそれ ぞれを、 1次元の整数値として取得する
ことを特徴とする請求の範囲第 3項に記載のプログラム。
5 . 前記生成ステップは、 前記詳細情報を、 前記整数値と論理記号の組み合わ せで表現する
ことを特徴とする請求の範囲第 4項に記載のプログラム。
6 . 前記生成ステップは、 前記論理記号として、 複数の前記整数値のいずれか 1つの選択を表現する第 1の記号と、 前記整数値の集合を表す第 2の記号を用い る
ことを特徴とする請求の範囲第 5項に記載のプログラム。
7 . 前記生成ステップは、 前記第 2の記号として、 範囲の始まりを表す始値、 前記範囲の終わりを表す終値、 並びに前記始値と前記終値の間の変化幅を規定す るステップを用いる
ことを特徴とする請求の範囲第 6項に記載のプログラム。
8 . 前記サービスは、 ネットワークを介してデータを送信または受信するサー ビスである
ことを特徴とする請求の範囲第 1項に記載のプログラム。
9 . 前記生成ステップは、 前記サービスを識別する識別子をさらに取得し、 前 記詳細情報に付加する
ことを特徴とする請求の範囲第 8項に記載のプログラム。
1 0 . 前記識別子を、 前記ネットワークを介して所定の送信先に送信する第 1 の送信ステップ
をさらに含むことを特徴とする請求の範囲第 9項に記載のプログラム。
1 1 . 前記送信先から、 前記識別子に対応する前記詳細情報の送信の要求を受 信する第 1の受信ステップと、
前記第 1の受信ステップの処理により受信された要求に基づいて、 前記詳細情 報を、 前記ネットワークを介して前記送信先に送信する第 2の送信ステップと、 前記送信先から送信されてきた、 前記詳細情報に含まれる M次元の前記パラメ ータを受信する第 2の受信ステップと、
前記第 2の受信ステップの処理により受信された M次元の前記パラメータに基 づいて、 前記送信先と通信する通信ステップと
をさらに含むことを特徴とする請求の範囲第 1 0項に記載のプログラム。
1 2 . 前記ネットワークを介して送信されてきた前記識別子を受信する第 1の 受信ステップ
をさらに含むことを特徴とする請求の範囲第 9項に記載のプログラム。
1 3 . 前記第 1の受信ステップの処理により受信された前記識別子の送信者に、 前記識別子に対応する前記詳細情報であって、 前記送信者により生成された前記 識別情報の送信を要求する要求ステツプと、
前記要求ステップの処理による要求に基づいて、 前記識別子の送信者から前記 ネットワークを介して送信されてきた前記詳細情報を受信する第 2の受信ステッ プと、
前記第 2の受信ステップの処理により受信された前記詳細情報を、 前記生成ス テツプの処理により生成した前記詳細情報と比較し、 2つの前記詳細情報の両方 を満足する M次元の前記パラメータを設定する設定ステップと、
前記設定ステップの処理により生成された M次元の前記パラメータを、 前記識 別子の送信者に送信する送信ステップと、
前記送信ステップの処理により送信された M次元の前記パラメータに基づいて、 前記送信者と通信する通信ステップと
をさらに含むことを特徴とする請求の範囲第 1 2項に記載のプログラム。
1 4 . 情報処理装置の情報処理方法において、
サービスに関するパラメータであって、 数値化された M次元のパラメータを取 得し、 取得された前記パラメータにより、 前記サービスの内容を表す詳細情報を 生成する生成ステップ
を含むことを特徴とする情報処理方法。
1 5 . サービスに関するパラメータであって、 数値化された M次元のパラメ一 タを取得し、 取得された前記パラメータにより、 前記サービスの内容を表す詳細 情報を生成する生成手段
を備えることを特徴とする情報処理装置。
1 6 サービスの内容を表すデータ構造であって、
M次元のパラメータで構成され、
前記パラメータは、 整数値と論理記号の組み合わせで構成される
ことを特徴とするデータ構造。
1 7 . 前記論理記号は、 複数の整数値のいずれか 1つの選択を表現する第 1の 記号と、 整数値の集合を表す第 2の記号とで構成される
ことを特徴とする請求の範囲第 1 6項に記載のデータ構造。
1 8 . 前記第 2の記号は、 範囲の始まりを表す始値、 前記範囲の終わりを表す 終値、 並びに前記始値と前記終値の間の変化幅を規定するステップで構成される ことを特徴とする請求の範囲第 1 7項に記載のデータ構造。
1 9 . 前記サービスを識別する識別番号をさらに含む ことを特徴とする請求の範囲第 1 6項に記載のデータ構造。
PCT/JP2003/009632 2002-07-30 2003-07-30 プログラム、情報処理方法および装置、並びにデータ構造 WO2004012088A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2005505581A JP4458041B2 (ja) 2002-07-30 2003-07-30 プログラム、情報処理方法および装置、並びにデータ構造
EP03771416.9A EP1526461B1 (en) 2002-07-30 2003-07-30 Program, information processing method and device, and data structure
EP18200410.1A EP3447999A1 (en) 2002-07-30 2003-07-30 Program, information processing method and apparatus, and data structure
US10/489,311 US7840593B2 (en) 2002-07-30 2003-07-30 Program, information processing method and device, and data structure

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2002221129 2002-07-30
JP2002-221129 2002-07-30
JP2002-260716 2002-09-06
JP2002260716 2002-09-06

Publications (1)

Publication Number Publication Date
WO2004012088A1 true WO2004012088A1 (ja) 2004-02-05

Family

ID=31190323

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/009632 WO2004012088A1 (ja) 2002-07-30 2003-07-30 プログラム、情報処理方法および装置、並びにデータ構造

Country Status (4)

Country Link
US (1) US7840593B2 (ja)
EP (2) EP3447999A1 (ja)
JP (1) JP4458041B2 (ja)
WO (1) WO2004012088A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8346959B2 (en) 2007-09-28 2013-01-01 Sharp Laboratories Of America, Inc. Client-controlled adaptive streaming
JP2014115828A (ja) * 2012-12-10 2014-06-26 Hitachi Ltd 管理サーバ、テナントパターン検証方法、及び計算機システム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060098722A1 (en) * 2004-11-09 2006-05-11 Osamu Tanaka Repeating installation, communication speed adjusting method, program, and recording medium
US7177778B2 (en) * 2004-11-30 2007-02-13 Intel Corporation Managing data processing rates at a network adapter using a temperature sensor
JP4568246B2 (ja) * 2006-03-30 2010-10-27 株式会社東芝 サーバ装置
US8466887B2 (en) * 2009-12-09 2013-06-18 Htc Corporation Method and system for handling multiple touch input on a computing device
US9923934B2 (en) * 2010-07-26 2018-03-20 Vonage Business Inc. Method and apparatus for VOIP communication completion to a mobile device
US9198038B2 (en) 2011-06-13 2015-11-24 Qualcomm Incorporated Apparatus and methods of identity management in a multi-network system
US9838481B2 (en) * 2013-03-22 2017-12-05 Verizon Patent And Licensing Inc. Provisioning of network communication parameters based on device type
JPWO2014208661A1 (ja) * 2013-06-27 2017-02-23 日本電気株式会社 仮想マシン配置設計装置及び方法とシステム並びにプログラム
US9986044B2 (en) * 2013-10-21 2018-05-29 Huawei Technologies Co., Ltd. Multi-screen interaction method, devices, and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022674A (ja) * 1999-07-12 2001-01-26 Canon Inc 画像転送方法及び装置
JP2001265645A (ja) * 2000-01-14 2001-09-28 Web Tv Networks Inc モジュラー・プロキシ・サーバによるリフォーマット方法
JP2001344200A (ja) * 2000-03-01 2001-12-14 Sony Internatl Europ Gmbh ユーザプロファイルデータ管理方法
JP2002063109A (ja) * 2000-06-10 2002-02-28 Ilinx Inc インターネットサービスシステム及びサービス方法

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6577324B1 (en) * 1992-06-03 2003-06-10 Compaq Information Technologies Group, L.P. Video and audio multimedia pop-up documentation by performing selected functions on selected topics
US5392223A (en) * 1992-07-29 1995-02-21 International Business Machines Corp. Audio/video communications processor
US6289390B1 (en) * 1993-08-18 2001-09-11 Microsoft Corporation System and method for performing remote requests with an on-line service network
US5473691A (en) 1993-11-05 1995-12-05 Microsoft Corporation System and method for computer data transmission
US5913218A (en) * 1995-11-06 1999-06-15 Sun Microsystems, Inc System and method for retrieving and updating configuration parameter values for application programs in a computer network
JP3294525B2 (ja) * 1997-03-11 2002-06-24 株式会社日立テレコムテクノロジー 動的帯域割付方式
US6643696B2 (en) * 1997-03-21 2003-11-04 Owen Davis Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US6414758B1 (en) * 1997-12-15 2002-07-02 Nortel Networks Limited High speed facsimile transmission
US6184878B1 (en) * 1997-12-23 2001-02-06 Sarnoff Corporation Interactive world wide web access using a set top terminal in a video on demand system
US6046979A (en) * 1998-05-04 2000-04-04 Cabletron Systems, Inc. Method and apparatus for controlling the flow of variable-length packets through a multiport switch
US6151605A (en) * 1998-05-29 2000-11-21 Hewlett-Packard Company Generic configuration file processing library and executable
US6593937B2 (en) * 1998-06-18 2003-07-15 Sony Corporation Method of and apparatus for handling high bandwidth on-screen-display graphics data over a distributed IEEE 1394 network utilizing an isochronous data transmission format
US6711297B1 (en) * 1998-07-03 2004-03-23 University Of Pittsburgh - Of The Commonwealth System Of Higher Education Methods and apparatus for dynamic transfer of image data
EP1133861A1 (en) * 1998-11-27 2001-09-19 BRITISH TELECOMMUNICATIONS public limited company Session announcement for adaptive component configuration
US6529508B1 (en) * 1999-02-01 2003-03-04 Redback Networks Inc. Methods and apparatus for packet classification with multiple answer sets
EP1069801B1 (en) * 1999-07-13 2004-10-06 International Business Machines Corporation Connections bandwidth right sizing based on network resources occupancy monitoring
US6580704B1 (en) * 1999-08-26 2003-06-17 Nokia Corporation Direct mode communication method between two mobile terminals in access point controlled wireless LAN systems
US7139728B2 (en) * 1999-12-30 2006-11-21 Rod Rigole Systems and methods for online selection of service providers and management of service accounts
US20020035605A1 (en) * 2000-01-26 2002-03-21 Mcdowell Mark Use of presence and location information concerning wireless subscribers for instant messaging and mobile commerce
US7437428B1 (en) * 2000-02-16 2008-10-14 Microsoft Corporation System and method for transferring data over a network
US6920110B2 (en) * 2001-02-14 2005-07-19 Microsoft Corporation System and method for transferring data over a network
US20010034677A1 (en) * 2000-02-25 2001-10-25 Jay Farhat Method and system to normalize transaction data pertaining to accesses to a service provided via a plurality of service providers
EP1266508B1 (en) * 2000-03-20 2011-04-20 AT & T Corp. Method and apparatus for coordinating a change in service provider between a client and a server
EP1235392A1 (en) * 2000-09-22 2002-08-28 Matsushita Electric Industrial Co., Ltd. Data transmitting/receiving method, transmitting device, receiving device, transmitting/receiving system, and program
JP3929693B2 (ja) * 2000-11-20 2007-06-13 株式会社日立製作所 通信システム
AU2002234258A1 (en) * 2001-01-22 2002-07-30 Sun Microsystems, Inc. Peer-to-peer network computing platform
US7151749B2 (en) * 2001-06-14 2006-12-19 Microsoft Corporation Method and System for providing adaptive bandwidth control for real-time communication
US7031254B2 (en) * 2002-01-25 2006-04-18 Lucent Technologies Inc. Rate control system and method for a link within a wireless communications system
US20030158917A1 (en) * 2002-02-04 2003-08-21 Andrew Felix G.T.I. Modifying system configuration based on parameters received from an infrastructure
US7062253B2 (en) * 2002-04-10 2006-06-13 Sprint Spectrum L.P. Method and system for real-time tiered rating of communication services
WO2004004139A2 (en) * 2002-06-26 2004-01-08 Yahoo Inc. System and method for communicating images between intercommunicating users

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022674A (ja) * 1999-07-12 2001-01-26 Canon Inc 画像転送方法及び装置
JP2001265645A (ja) * 2000-01-14 2001-09-28 Web Tv Networks Inc モジュラー・プロキシ・サーバによるリフォーマット方法
JP2001344200A (ja) * 2000-03-01 2001-12-14 Sony Internatl Europ Gmbh ユーザプロファイルデータ管理方法
JP2002063109A (ja) * 2000-06-10 2002-02-28 Ilinx Inc インターネットサービスシステム及びサービス方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1526461A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8346959B2 (en) 2007-09-28 2013-01-01 Sharp Laboratories Of America, Inc. Client-controlled adaptive streaming
JP2014115828A (ja) * 2012-12-10 2014-06-26 Hitachi Ltd 管理サーバ、テナントパターン検証方法、及び計算機システム

Also Published As

Publication number Publication date
EP1526461A4 (en) 2010-12-22
JP4458041B2 (ja) 2010-04-28
EP1526461B1 (en) 2018-12-19
EP1526461A1 (en) 2005-04-27
JPWO2004012088A1 (ja) 2005-11-24
US7840593B2 (en) 2010-11-23
US20040243629A1 (en) 2004-12-02
EP3447999A1 (en) 2019-02-27

Similar Documents

Publication Publication Date Title
US8281016B2 (en) Program and information processing method and apparatus
US8682375B2 (en) Method, apparatus, computer program product and system for providing dynamic assignment of session capabilities
US7392040B2 (en) Method and apparatus for negotiating mobile services
KR101344178B1 (ko) 디지털 음성 대화로부터 데이터 패킷들을 마이닝하는 방법,컴퓨터 판독가능 매체 및 디지털 음성 대화의 내용과 관련된 추가의 정보를 제공하는 방법
US20040267965A1 (en) System and method for rendering content on multiple devices
US9807166B2 (en) Preconfigured SyncML profile categories
US9749202B1 (en) Remote session preview management
JP4726949B2 (ja) Smilベース・マルチメディア・コンテンツを再生するためのシステム、方法、及びエンジン
WO2004012088A1 (ja) プログラム、情報処理方法および装置、並びにデータ構造
US20080117897A1 (en) External data access information in a voip conversation
CA2473124C (en) Method and arrangement for multimedia communication
US8606861B2 (en) Method, apparatus, and computer program product for reducing session related message size
WO2017166285A1 (zh) 一种切换会议终端的方法、设备及系统
JP2008510332A (ja) リンクを伴うクライアントプロビジョニング
Reuther et al. A model for service-oriented communication systems
Yew et al. Quality of service management for the virtual home environment
Toh et al. Towards Building Semantic Next Generation Network–A Preliminary Study
Jouve et al. A multimedia-specific approach to WS-Agreement
KR20090003543A (ko) 통신망으로의 무선 접속시 전자 장치에 적합한 초기 화면을제공하는 방법 및 시스템
KR20100100177A (ko) Ims 기반의 차세대 통신 환경에서 서비스 연속성을 위한서비스 세션 제어 인에이블러

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR

WWE Wipo information: entry into national phase

Ref document number: 2005505581

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2003771416

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10489311

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 2003771416

Country of ref document: EP